亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdram_test_component.v

?? 嵌入式系統(tǒng)實(shí)驗(yàn)教程(一)中對(duì)應(yīng)的實(shí)驗(yàn)內(nèi)容
?? V
字號(hào):
//Legal Notice: (C)2005 Altera Corporation. All rights reserved.  Your
//use of Altera Corporation's design tools, logic functions and other
//software and tools, and its AMPP partner logic functions, and any
//output files any of the foregoing (including device programming or
//simulation files), and any associated documentation or information are
//expressly subject to the terms and conditions of the Altera Program
//License Subscription Agreement or other applicable license agreement,
//including, without limitation, that your use is for the sole purpose
//of programming logic devices manufactured by Altera and sold by Altera
//or its authorized distributors.  Please refer to the applicable
//agreement for further details.

// synthesis translate_off
`timescale 1ns / 100ps
// synthesis translate_on
module sdram_test_component_ram_module (
                                         // inputs:
                                          data,
                                          rdaddress,
                                          rdclken,
                                          wraddress,
                                          wrclock,
                                          wren,

                                         // outputs:
                                          q
                                       );

  output  [ 15: 0] q;
  input   [ 15: 0] data;
  input   [ 21: 0] rdaddress;
  input            rdclken;
  input   [ 21: 0] wraddress;
  input            wrclock;
  input            wren;

  reg     [ 15: 0] mem_array [4194303: 0];
  wire    [ 15: 0] q;
  reg     [ 21: 0] read_address;

//synthesis translate_off
//////////////// SIMULATION-ONLY CONTENTS
  always @(rdaddress)
    begin
      if (1)
          read_address <= rdaddress;
    end


  // Data read is asynchronous.
  assign q = mem_array[read_address];

initial
    $readmemh("sdram.dat", mem_array);
  always @(posedge wrclock)
    begin
      // Write data
      if (wren)
          mem_array[wraddress] <= data;
    end



//////////////// END SIMULATION-ONLY CONTENTS

//synthesis translate_on
//synthesis read_comments_as_HDL on
//  always @(rdaddress)
//    begin
//      if (1)
//          read_address <= rdaddress;
//    end
//
//
//  lpm_ram_dp lpm_ram_dp_component
//    (
//      .data (data),
//      .q (q),
//      .rdaddress (read_address),
//      .rdclken (rdclken),
//      .wraddress (wraddress),
//      .wrclock (wrclock),
//      .wren (wren)
//    );
//
//  defparam lpm_ram_dp_component.lpm_file = "UNUSED",
//           lpm_ram_dp_component.lpm_hint = "USE_EAB=ON",
//           lpm_ram_dp_component.lpm_indata = "REGISTERED",
//           lpm_ram_dp_component.lpm_outdata = "UNREGISTERED",
//           lpm_ram_dp_component.lpm_rdaddress_control = "UNREGISTERED",
//           lpm_ram_dp_component.lpm_width = 16,
//           lpm_ram_dp_component.lpm_widthad = 22,
//           lpm_ram_dp_component.lpm_wraddress_control = "REGISTERED",
//           lpm_ram_dp_component.suppress_memory_conversion_warnings = "ON";
//
//synthesis read_comments_as_HDL off


endmodule


module sdram_test_component (
                              // inputs:
                               clk,
                               zs_addr,
                               zs_ba,
                               zs_cas_n,
                               zs_cke,
                               zs_cs_n,
                               zs_dqm,
                               zs_ras_n,
                               zs_we_n,

                              // outputs:
                               zs_dq
                            );

  inout   [ 15: 0] zs_dq;
  input            clk;
  input   [ 11: 0] zs_addr;
  input   [  1: 0] zs_ba;
  input            zs_cas_n;
  input            zs_cke;
  input            zs_cs_n;
  input   [  1: 0] zs_dqm;
  input            zs_ras_n;
  input            zs_we_n;

  wire    [ 23: 0] CODE;
  wire    [ 11: 0] a;
  wire    [  7: 0] addr_col;
  reg     [ 13: 0] addr_crb;
  wire    [  1: 0] ba;
  wire             cas_n;
  wire             cke;
  wire    [  2: 0] cmd_code;
  wire             cs_n;
  wire    [  1: 0] dqm;
  wire    [  2: 0] index;
  reg     [  2: 0] latency;
  wire    [  1: 0] mask;
  wire    [ 15: 0] mem_bytes;
  wire             ras_n;
  reg     [ 21: 0] rd_addr_pipe_0;
  reg     [ 21: 0] rd_addr_pipe_1;
  reg     [ 21: 0] rd_addr_pipe_2;
  reg     [  1: 0] rd_mask_pipe_0;
  reg     [  1: 0] rd_mask_pipe_1;
  reg     [  1: 0] rd_mask_pipe_2;
  reg     [  2: 0] rd_valid_pipe;
  wire    [ 21: 0] read_addr;
  wire    [ 15: 0] read_data;
  wire    [  1: 0] read_mask;
  wire    [ 15: 0] read_temp;
  wire             read_valid;
  wire    [ 15: 0] rmw_temp;
  wire    [ 21: 0] test_addr;
  wire    [ 23: 0] txt_code;
  wire             we_n;
  wire    [ 15: 0] zs_dq;
initial
  begin
    $write("\n");
    $write("************************************************************\n");
    $write("This testbench includes an SOPC Builder Generated Altera model:\n");
    $write("'sdram_test_component.v', to simulate accesses to SDRAM.\n");
    $write("Initial contents are loaded from the file: 'sdram.dat'.\n");
    $write("************************************************************\n");
  end
  //Synchronous write when (CODE == 24'h205752 (write))
  sdram_test_component_ram_module sdram_test_component_ram
    (
      .data      (rmw_temp),
      .q         (read_data),
      .rdaddress ((CODE == 24'h205752) ? test_addr : read_addr),
      .rdclken   (1'b1),
      .wraddress (test_addr),
      .wrclock   (clk),
      .wren      (CODE == 24'h205752)
    );

  assign cke = zs_cke;
  assign cs_n = zs_cs_n;
  assign ras_n = zs_ras_n;
  assign cas_n = zs_cas_n;
  assign we_n = zs_we_n;
  assign dqm = zs_dqm;
  assign ba = zs_ba;
  assign a = zs_addr;
  assign cmd_code = {ras_n, cas_n, we_n};
  assign CODE = (&cs_n) ? 24'h494e48 : txt_code;
  assign addr_col = a[7 : 0];
  assign test_addr = {addr_crb, addr_col};
  assign mem_bytes = read_data;
  assign rmw_temp[7 : 0] = dqm[0] ? mem_bytes[7 : 0] : zs_dq[7 : 0];
  assign rmw_temp[15 : 8] = dqm[1] ? mem_bytes[15 : 8] : zs_dq[15 : 8];
  // Handle Input.
  always @(posedge clk)
    begin
      // No Activity of Clock Disabled
      if (cke)
        begin
          // LMR: Get CAS_Latency.
          if (CODE == 24'h4c4d52)
              latency <= a[6 : 4];
          // ACT: Get Row/Bank Address.
          if (CODE == 24'h414354)
              addr_crb <= {ba[1], a, ba[0]};
          rd_valid_pipe[2] <= rd_valid_pipe[1];
          rd_valid_pipe[1] <= rd_valid_pipe[0];
          rd_valid_pipe[0] <= CODE == 24'h205244;
          rd_addr_pipe_2 <= rd_addr_pipe_1;
          rd_addr_pipe_1 <= rd_addr_pipe_0;
          rd_addr_pipe_0 <= test_addr;
          rd_mask_pipe_2 <= rd_mask_pipe_1;
          rd_mask_pipe_1 <= rd_mask_pipe_0;
          rd_mask_pipe_0 <= dqm;
        end
    end


  assign read_temp[7 : 0] = mask[0] ? 8'bz : read_data[7 : 0];
  assign read_temp[15 : 8] = mask[1] ? 8'bz : read_data[15 : 8];
  //use index to select which pipeline stage drives addr
  assign read_addr = (index == 0)? rd_addr_pipe_0 :
    (index == 1)? rd_addr_pipe_1 :
    rd_addr_pipe_2;

  //use index to select which pipeline stage drives mask
  assign read_mask = (index == 0)? rd_mask_pipe_0 :
    (index == 1)? rd_mask_pipe_1 :
    rd_mask_pipe_2;

  //use index to select which pipeline stage drives valid
  assign read_valid = (index == 0)? rd_valid_pipe[0] :
    (index == 1)? rd_valid_pipe[1] :
    rd_valid_pipe[2];

  assign index = latency - 1'b1;
  assign mask = read_mask;
  assign zs_dq = read_valid ? read_temp : {16{1'bz}};

//synthesis translate_off
//////////////// SIMULATION-ONLY CONTENTS
  assign txt_code = (cmd_code == 3'h0)? 24'h4c4d52 :
    (cmd_code == 3'h1)? 24'h415246 :
    (cmd_code == 3'h2)? 24'h505245 :
    (cmd_code == 3'h3)? 24'h414354 :
    (cmd_code == 3'h4)? 24'h205752 :
    (cmd_code == 3'h5)? 24'h205244 :
    (cmd_code == 3'h6)? 24'h425354 :
    (cmd_code == 3'h7)? 24'h4e4f50 :
    24'h424144;


//////////////// END SIMULATION-ONLY CONTENTS

//synthesis translate_on


endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久久免费看| 精品国产伦一区二区三区观看方式| 777午夜精品免费视频| 日韩精品一区国产麻豆| 国产日韩欧美不卡| 夜夜精品浪潮av一区二区三区| 美女视频黄频大全不卡视频在线播放| 北条麻妃国产九九精品视频| 欧美一区二区在线免费播放 | 亚洲动漫第一页| 久久99精品久久久久| 欧美人伦禁忌dvd放荡欲情| 国产三级欧美三级日产三级99| 亚洲激情图片一区| 国产成人免费视频网站| 在线不卡的av| 亚洲一区二区三区四区五区黄 | 久久九九影视网| 天堂久久一区二区三区| 色婷婷综合五月| 日本一区二区成人| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线一区二区视频| 日本一区二区三区四区| 韩国女主播一区二区三区| 欧美日韩精品免费观看视频| 国产欧美一区二区精品性色| 黄色资源网久久资源365| 中文字幕一区日韩精品欧美| 日韩不卡一区二区| 欧美亚洲国产一卡| 国产女人aaa级久久久级| 日日摸夜夜添夜夜添国产精品| 欧美视频三区在线播放| 国产精品不卡在线观看| 成人激情免费视频| 久久久一区二区三区捆绑**| 国内不卡的二区三区中文字幕| 欧美日韩一区久久| 中文字幕一区在线| 成人av片在线观看| 久久久久久黄色| 国产在线日韩欧美| 亚洲精品在线观看网站| 美女网站色91| 欧美一级欧美三级在线观看| 五月天国产精品| 欧美日韩国产高清一区二区三区| 亚洲黄色av一区| 欧美日韩三级一区| 亚洲风情在线资源站| 91精品国产丝袜白色高跟鞋| 午夜精品爽啪视频| 这里只有精品视频在线观看| 亚洲成在人线在线播放| 色噜噜狠狠色综合欧洲selulu| 亚洲一区欧美一区| 欧美色中文字幕| 视频一区在线视频| 777欧美精品| 加勒比av一区二区| 国产亚洲精品7777| 国产一区二区三区最好精华液| 国产亚洲欧美激情| 国产一区二区精品在线观看| 欧美国产激情二区三区 | 亚洲一区二区三区在线播放 | 亚洲一级在线观看| 欧美精品v日韩精品v韩国精品v| 亚洲黄色免费电影| 亚洲乱码国产乱码精品精可以看| 欧美一区二区三区在线观看视频 | 国产精品国产自产拍高清av| 蜜臀99久久精品久久久久久软件| 国产精品大尺度| 国产女同性恋一区二区| 欧美不卡在线视频| 99综合影院在线| 久久精品国产亚洲5555| 亚洲精品福利视频网站| 久久久久久久久岛国免费| 欧美三级电影网| 91猫先生在线| 精品视频免费在线| 久久精品国产成人一区二区三区 | 成人国产精品免费观看视频| 中文字幕精品在线不卡| 91免费看`日韩一区二区| 午夜国产不卡在线观看视频| 欧美大片免费久久精品三p| 成人av在线一区二区| 亚洲精品视频一区二区| 日韩欧美精品在线视频| 成人av资源站| 一区二区三区在线看| 欧美mv和日韩mv的网站| 日本高清无吗v一区| 95精品视频在线| 日本高清不卡一区| 一区二区三区在线观看动漫| 日韩欧美一区二区久久婷婷| 国产成人午夜视频| 久久免费看少妇高潮| 91成人在线免费观看| 免费av成人在线| 亚洲欧美日韩一区二区三区在线观看| 欧美性受极品xxxx喷水| 国v精品久久久网| 亚洲国产精品久久一线不卡| 精品国产一区二区精华| 色综合色综合色综合色综合色综合 | 亚洲一线二线三线久久久| 日韩精品资源二区在线| 久久精品久久精品| 国产人成一区二区三区影院| 欧美无乱码久久久免费午夜一区| 久久精品噜噜噜成人av农村| 亚洲综合丁香婷婷六月香| 日韩免费观看高清完整版在线观看| 91原创在线视频| 久久超碰97人人做人人爱| 中文在线一区二区| 精品国一区二区三区| 蜜臀91精品一区二区三区| 91色在线porny| 在线欧美一区二区| 欧美日韩国产bt| 国产在线日韩欧美| 国产精品美女久久久久久| 欧美精品久久天天躁| www.爱久久.com| 日韩不卡一区二区三区| 亚洲国产精品久久久久婷婷884 | 亚洲综合一区二区| 国产亚洲欧美日韩在线一区| 日韩一区二区三区视频| 91色porny蝌蚪| 豆国产96在线|亚洲| 麻豆精品一区二区综合av| 亚洲大片精品永久免费| 国产亚洲成aⅴ人片在线观看| 欧美日韩视频在线观看一区二区三区 | 在线电影院国产精品| 99精品视频一区| av毛片久久久久**hd| 狠狠色2019综合网| 久久国产综合精品| 天使萌一区二区三区免费观看| 精品欧美一区二区在线观看| 色综合天天性综合| 水蜜桃久久夜色精品一区的特点| 中文字幕av一区 二区| 久久久精品国产99久久精品芒果 | 天天操天天综合网| 亚洲一区二区欧美| 国产精品伦理一区二区| 国产午夜三级一区二区三| 精品精品欲导航| 精品久久久久久最新网址| 欧美一区二区三区四区在线观看 | 蜜桃一区二区三区在线| 亚洲成人精品影院| 亚洲成av人片在线| 一区二区三区欧美久久| 亚洲一区二区3| 一区二区三区av电影| 亚洲一级二级三级| 一区二区久久久久久| 亚洲人成7777| 亚洲码国产岛国毛片在线| 中文字幕va一区二区三区| 国产精品高清亚洲| 国产精品久久久久久亚洲毛片| 自拍av一区二区三区| 17c精品麻豆一区二区免费| 亚洲男女一区二区三区| 亚洲女子a中天字幕| 亚洲国产精品一区二区久久| 亚洲精品中文在线影院| 午夜电影一区二区三区| 91亚洲精品久久久蜜桃网站| 日本免费在线视频不卡一不卡二| 亚洲精品在线免费观看视频| 国产成人无遮挡在线视频| 亚洲欧洲av在线| 91黄色小视频| 国产精品久久综合| 亚洲欧洲在线观看av| 亚洲品质自拍视频| 亚洲午夜久久久| 免费人成网站在线观看欧美高清| 美女免费视频一区| 国产sm精品调教视频网站| 成人激情动漫在线观看| 在线欧美小视频| 欧美年轻男男videosbes| 日韩精品一区二区三区在线播放| 久久欧美中文字幕| 久久亚洲一级片| 亚洲日本在线观看|