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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdram.v

?? 嵌入式系統實驗教程(一)中對應的實驗內容
?? V
?? 第 1 頁 / 共 2 頁
字號:
//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_input_efifo_module (
                                  // inputs:
                                   clk,
                                   rd,
                                   reset_n,
                                   wr,
                                   wr_data,

                                  // outputs:
                                   almost_empty,
                                   almost_full,
                                   empty,
                                   full,
                                   rd_data
                                );

  output           almost_empty;
  output           almost_full;
  output           empty;
  output           full;
  output  [ 40: 0] rd_data;
  input            clk;
  input            rd;
  input            reset_n;
  input            wr;
  input   [ 40: 0] wr_data;

  wire             almost_empty;
  wire             almost_full;
  wire             empty;
  reg     [  1: 0] entries;
  reg     [ 40: 0] entry_0;
  reg     [ 40: 0] entry_1;
  wire             full;
  reg              rd_address;
  reg     [ 40: 0] rd_data;
  wire    [  1: 0] rdwr;
  reg              wr_address;
  assign rdwr = {rd, wr};
  assign full = entries == 2;
  assign almost_full = entries >= 1;
  assign empty = entries == 0;
  assign almost_empty = entries <= 1;
  always @(entry_0 or entry_1 or rd_address)
    begin
      case (rd_address) // synthesis parallel_case full_case
      
          1'd0: begin
              rd_data <= entry_0;
          end // 1'd0 
      
          1'd1: begin
              rd_data <= entry_1;
          end // 1'd1 
      
          default: begin
          end // default
      
      endcase // rd_address
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          wr_address <= 0;
          rd_address <= 0;
          entries <= 0;
        end
      else 
        case (rdwr) // synthesis parallel_case full_case
        
            2'd1: begin
                // Write data
                if (!full)
                  begin
                    entries <= entries + 1;
                    wr_address <= (wr_address == 1) ? 0 : (wr_address + 1);
                  end
            end // 2'd1 
        
            2'd2: begin
                // Read data
                if (!empty)
                  begin
                    entries <= entries - 1;
                    rd_address <= (rd_address == 1) ? 0 : (rd_address + 1);
                  end
            end // 2'd2 
        
            2'd3: begin
                wr_address <= (wr_address == 1) ? 0 : (wr_address + 1);
                rd_address <= (rd_address == 1) ? 0 : (rd_address + 1);
            end // 2'd3 
        
            default: begin
            end // default
        
        endcase // rdwr
    end


  always @(posedge clk)
    begin
      //Write data
      if (wr & !full)
          case (wr_address) // synthesis parallel_case full_case
          
              1'd0: begin
                  entry_0 <= wr_data;
              end // 1'd0 
          
              1'd1: begin
                  entry_1 <= wr_data;
              end // 1'd1 
          
              default: begin
              end // default
          
          endcase // wr_address
    end




endmodule


module sdram (
               // inputs:
                az_addr,
                az_be_n,
                az_cs,
                az_data,
                az_rd_n,
                az_wr_n,
                clk,
                reset_n,

               // outputs:
                za_data,
                za_valid,
                za_waitrequest,
                zs_addr,
                zs_ba,
                zs_cas_n,
                zs_cke,
                zs_cs_n,
                zs_dq,
                zs_dqm,
                zs_ras_n,
                zs_we_n
             );

  output  [ 15: 0] za_data;
  output           za_valid;
  output           za_waitrequest;
  output  [ 11: 0] zs_addr;
  output  [  1: 0] zs_ba;
  output           zs_cas_n;
  output           zs_cke;
  output           zs_cs_n;
  inout   [ 15: 0] zs_dq;
  output  [  1: 0] zs_dqm;
  output           zs_ras_n;
  output           zs_we_n;
  input   [ 21: 0] az_addr;
  input   [  1: 0] az_be_n;
  input            az_cs;
  input   [ 15: 0] az_data;
  input            az_rd_n;
  input            az_wr_n;
  input            clk;
  input            reset_n;

  wire    [ 23: 0] CODE;
  reg              ack_refresh_request;
  reg     [ 21: 0] active_addr;
  wire    [  1: 0] active_bank;
  reg              active_cs_n;
  reg     [ 15: 0] active_data;
  reg     [  1: 0] active_dqm;
  reg              active_rnw;
  wire             almost_empty;
  wire             almost_full;
  wire             bank_match;
  wire    [  7: 0] cas_addr;
  wire             clk_en;
  wire    [  3: 0] cmd_all;
  wire    [  2: 0] cmd_code;
  wire             cs_n;
  wire             csn_decode;
  wire             csn_match;
  wire    [ 21: 0] f_addr;
  wire    [  1: 0] f_bank;
  wire             f_cs_n;
  wire    [ 15: 0] f_data;
  wire    [  1: 0] f_dqm;
  wire             f_empty;
  reg              f_pop;
  wire             f_rnw;
  wire             f_select;
  wire    [ 40: 0] fifo_read_data;
  reg     [ 11: 0] i_addr;
  reg     [  3: 0] i_cmd;
  reg     [  2: 0] i_count;
  reg     [  2: 0] i_next;
  reg     [  2: 0] i_refs;
  reg     [  2: 0] i_state;
  reg              init_done;
  reg     [ 11: 0] m_addr /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_REGISTER=ON" */;
  reg     [  1: 0] m_bank /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_REGISTER=ON" */;
  reg     [  3: 0] m_cmd /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_REGISTER=ON" */;
  reg     [  2: 0] m_count;
  reg     [ 15: 0] m_data /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_REGISTER=ON ; FAST_OUTPUT_ENABLE_REGISTER=ON" */;
  reg     [  1: 0] m_dqm /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_REGISTER=ON" */;
  reg     [  8: 0] m_next;
  reg     [  8: 0] m_state;
  reg              oe /* synthesis ALTERA_ATTRIBUTE =  "FAST_OUTPUT_ENABLE_REGISTER=ON" */;
  wire             pending;
  wire             rd_strobe;
  reg     [  2: 0] rd_valid;
  reg     [ 12: 0] refresh_counter;
  reg              refresh_request;
  wire             rnw_match;
  wire             row_match;
  wire    [ 23: 0] txt_code;
  reg              za_cannotrefresh;
  reg     [ 15: 0] za_data /* synthesis ALTERA_ATTRIBUTE =  "FAST_INPUT_REGISTER=ON" */;
  reg              za_valid;
  wire             za_waitrequest;
  wire    [ 11: 0] zs_addr;
  wire    [  1: 0] zs_ba;
  wire             zs_cas_n;
  wire             zs_cke;
  wire             zs_cs_n;
  wire    [ 15: 0] zs_dq;
  wire    [  1: 0] zs_dqm;
  wire             zs_ras_n;
  wire             zs_we_n;
  assign clk_en = 1;
  //s1, which is an e_avalon_slave
  assign {zs_cs_n, zs_ras_n, zs_cas_n, zs_we_n} = m_cmd;
  assign zs_addr = m_addr;
  assign zs_cke = clk_en;
  assign zs_dq = oe?m_data:{16{1'bz}};
  assign zs_dqm = m_dqm;
  assign zs_ba = m_bank;
  assign f_select = f_pop & pending;
  assign f_cs_n = 1'b0;
  assign cs_n = f_select ? f_cs_n : active_cs_n;
  assign csn_decode = cs_n;
  assign {f_rnw, f_addr, f_dqm, f_data} = fifo_read_data;
  sdram_input_efifo_module the_sdram_input_efifo_module
    (
      .almost_empty (almost_empty),
      .almost_full  (almost_full),
      .clk          (clk),
      .empty        (f_empty),
      .full         (za_waitrequest),
      .rd           (f_select),
      .rd_data      (fifo_read_data),
      .reset_n      (reset_n),
      .wr           ((~az_wr_n | ~az_rd_n) & !za_waitrequest),
      .wr_data      ({az_wr_n, az_addr, az_wr_n ? 2'b0 : az_be_n, az_data})
    );

  assign f_bank = {f_addr[21],f_addr[8]};
  // Refresh/init counter.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          refresh_counter <= 4800;
      else if (refresh_counter == 0)
          refresh_counter <= 749;
      else 
        refresh_counter <= refresh_counter - 1'b1;
    end


  // Refresh request signal.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          refresh_request <= 0;
      else if (1)
          refresh_request <= ((refresh_counter == 0) | refresh_request) & ~ack_refresh_request & init_done;
    end


  // Generate an Interrupt if two ref_reqs occur before one ack_refresh_request
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          za_cannotrefresh <= 0;
      else if (1)
          za_cannotrefresh <= (refresh_counter == 0) & refresh_request;
    end


  // Initialization-done flag.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          init_done <= 0;
      else if (1)
          init_done <= init_done | (i_state == 3'b101);
    end


  // **** Init FSM ****
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          i_state <= 3'b000;
          i_next <= 3'b000;
          i_cmd <= 4'b1111;
          i_addr <= {12{1'b1}};
          i_count <= {3{1'b0}};
        end
      else 
        begin
          i_addr <= {12{1'b1}};
          case (i_state) // synthesis parallel_case full_case
          
              3'b000: begin
                  i_cmd <= 4'b1111;
                  i_refs <= 3'b0;
                  //Wait for refresh count-down after reset
                  if (refresh_counter == 0)
                      i_state <= 3'b001;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色狠狠av一区二区三区| 亚洲第一搞黄网站| 在线不卡的av| 日韩一区二区视频在线观看| 在线电影国产精品| 欧美日韩国产a| 欧美日韩在线播放| 在线日韩国产精品| 欧美视频在线观看一区二区| 欧美日韩一区二区三区不卡| 欧洲一区二区三区在线| 一本一道综合狠狠老| 欧洲另类一二三四区| 欧美日韩一级视频| 欧美成人aa大片| 久久精品人人做人人综合 | 欧美一区二区视频免费观看| 欧美日韩的一区二区| 日韩一区二区三区三四区视频在线观看 | 欧美精品在线一区二区三区| 555夜色666亚洲国产免| 2021久久国产精品不只是精品| 久久精品视频一区二区三区| 一区二区三区四区不卡在线| 美腿丝袜一区二区三区| 东方aⅴ免费观看久久av| 欧美在线观看一区| 久久女同互慰一区二区三区| 亚洲三级久久久| 美国十次综合导航| 色女孩综合影院| 精品国产欧美一区二区| 亚洲色大成网站www久久九九| 婷婷国产在线综合| 国产99精品在线观看| 欧美人伦禁忌dvd放荡欲情| 国产欧美日韩中文久久| 亚洲一区成人在线| 国产suv一区二区三区88区| 欧美性视频一区二区三区| 精品国产麻豆免费人成网站| 亚洲制服丝袜一区| 国产一本一道久久香蕉| 精品视频1区2区| 中日韩av电影| 国产一区二区剧情av在线| 在线视频你懂得一区| 日本一区二区久久| 久久国产尿小便嘘嘘尿| 欧美日韩1区2区| 亚洲黄色在线视频| 丰满白嫩尤物一区二区| 精品久久国产老人久久综合| 亚洲成a人片综合在线| 99精品偷自拍| 亚洲欧洲国产专区| 丝袜亚洲另类丝袜在线| 91在线观看地址| 日韩欧美一区二区在线视频| 亚洲精品欧美专区| 91伊人久久大香线蕉| 国产精品久久免费看| 国产成人精品免费在线| 久久嫩草精品久久久精品一| 日本在线观看不卡视频| 欧美日韩国产bt| 亚洲国产成人av| 欧美日韩精品一区二区三区四区 | 色综合中文字幕国产 | 成人欧美一区二区三区黑人麻豆| 精品一区免费av| 日韩女优制服丝袜电影| 蜜臀va亚洲va欧美va天堂 | 日本一区二区三区久久久久久久久不| 麻豆91小视频| 日韩精品一区二区三区四区| 麻豆视频一区二区| 精品久久久影院| 久久99久久久久| 日韩欧美电影在线| 精品一二三四在线| 久久精品一区四区| youjizz久久| 亚洲激情图片一区| 欧美日韩一区在线观看| 性做久久久久久免费观看欧美| 欧美久久高跟鞋激| 亚洲123区在线观看| 日韩欧美资源站| 国产电影精品久久禁18| 亚洲人成网站在线| 欧美高清视频www夜色资源网| 日本不卡一区二区三区高清视频| 日韩午夜三级在线| 国产精选一区二区三区| 一区二区中文视频| 777色狠狠一区二区三区| 国产综合色产在线精品| 日韩一区日韩二区| 一本久久综合亚洲鲁鲁五月天| 国产精品麻豆网站| 在线观看亚洲一区| 男男成人高潮片免费网站| 国产亚洲成aⅴ人片在线观看| 97精品电影院| 六月丁香综合在线视频| 欧美韩国一区二区| 欧美日韩国产美| 福利视频网站一区二区三区| 亚洲成人免费视| 久久久久久综合| 欧美亚日韩国产aⅴ精品中极品| 麻豆精品在线播放| 欧美国产精品一区二区| 欧美三级韩国三级日本一级| 狠狠色综合日日| 亚洲国产一区二区在线播放| 久久精品欧美日韩精品| 欧美日韩一区二区在线视频| 丁香婷婷综合激情五月色| 亚洲精品久久嫩草网站秘色| 精品久久久三级丝袜| 欧美视频在线一区| 成人高清免费观看| 奇米影视一区二区三区小说| 国产精品传媒视频| 日韩一区二区三免费高清| 一本色道久久综合狠狠躁的推荐| 国产米奇在线777精品观看| 日本不卡的三区四区五区| 亚洲精品国产无天堂网2021| 国产欧美一区二区精品性| 欧美一区二区免费| 欧美视频一区二区三区四区| 91在线你懂得| 成人av在线资源| 国产成人午夜片在线观看高清观看| 日韩高清不卡在线| 一区二区三区小说| 亚洲男人的天堂网| 国产精品成人在线观看| 国产精品毛片a∨一区二区三区| 欧美高清视频不卡网| 9191久久久久久久久久久| 欧美性色aⅴ视频一区日韩精品| 91在线免费视频观看| 色综合久久中文字幕综合网| 91捆绑美女网站| www.欧美日韩国产在线| 成人一区在线观看| 成人黄色电影在线| 成+人+亚洲+综合天堂| 成人精品一区二区三区中文字幕| 国产精品一区久久久久| 国产精品亚洲一区二区三区妖精 | 精品国产自在久精品国产| 91精品啪在线观看国产60岁| 5858s免费视频成人| 日韩一级在线观看| 精品剧情在线观看| 国产亚洲综合性久久久影院| 欧美日本乱大交xxxxx| 精品一区免费av| 麻豆免费看一区二区三区| 韩国av一区二区三区四区| 韩国在线一区二区| 国产成人亚洲综合色影视| www.日韩大片| 欧美中文字幕一区二区三区亚洲| 91在线观看免费视频| 欧美日韩一区高清| 欧美一区二区观看视频| 久久免费的精品国产v∧| 久久久久久久综合| 中文字幕精品一区二区精品绿巨人| 亚洲女爱视频在线| 日产国产欧美视频一区精品 | 日本女优在线视频一区二区| 日韩经典中文字幕一区| 经典一区二区三区| 成人毛片视频在线观看| 91蜜桃在线观看| 日韩女优毛片在线| 亚洲视频网在线直播| 调教+趴+乳夹+国产+精品| 国产精品影视在线| 欧美无人高清视频在线观看| 久久婷婷色综合| 亚洲自拍与偷拍| 国产不卡在线视频| 国产sm精品调教视频网站| 福利一区在线观看| 51精品国自产在线| 亚洲欧洲另类国产综合| 韩国三级电影一区二区| 欧美少妇bbb| 中文字幕制服丝袜成人av| 蜜臀精品一区二区三区在线观看| 色综合色综合色综合| www国产亚洲精品久久麻豆|