亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
性感美女极品91精品| 国产99精品视频| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩美女一区二区三区| 日韩欧美国产综合一区| 精品乱码亚洲一区二区不卡| 26uuu精品一区二区| 国产精品网站在线观看| 亚洲另类春色校园小说| 亚洲免费资源在线播放| 偷拍亚洲欧洲综合| 国产精品一区二区视频| 9人人澡人人爽人人精品| 日本久久电影网| 日韩欧美一区二区久久婷婷| 久久精品人人做人人爽人人| 国产精品乱码人人做人人爱 | 亚洲成人免费在线观看| 懂色av一区二区三区蜜臀| 国产成人精品网址| 日韩一级大片在线| 9191久久久久久久久久久| 欧美电视剧在线看免费| 亚洲男人电影天堂| 国产毛片精品国产一区二区三区| 91丨九色丨蝌蚪丨老版| 欧美顶级少妇做爰| 国产精品久久久久久户外露出| 天天影视网天天综合色在线播放| 国产精品一区二区三区网站| 精品视频在线免费观看| 中文字幕第一区二区| 久久99九九99精品| 欧美日韩国产欧美日美国产精品| 亚洲三级电影全部在线观看高清| 欧美精品成人一区二区三区四区| 欧美国产禁国产网站cc| 国产激情91久久精品导航| 欧美久久久久久久久| 国产亚洲成av人在线观看导航 | 欧美韩日一区二区三区四区| 综合在线观看色| 久久99精品久久久| 91精品国产综合久久久久| 亚洲欧美电影一区二区| 欧美日韩午夜在线视频| 91豆麻精品91久久久久久| 日韩一区二区视频在线观看| 免费看日韩精品| 国产三级一区二区| 毛片一区二区三区| 中文字幕一区二区三区视频| 99re这里只有精品6| 视频一区二区三区入口| 日韩三级av在线播放| 国产美女精品人人做人人爽| 亚洲高清免费在线| 欧美久久久久久久久中文字幕| 亚洲伊人伊色伊影伊综合网| 欧美国产精品一区二区三区| 91精品国产一区二区三区香蕉| 国模少妇一区二区三区| 亚洲一区二区黄色| 国产精品理论片| 99久久国产综合精品色伊| 国产精品久久久久久久久免费樱桃| 91女神在线视频| 蜜桃av一区二区在线观看| 国产精品久久国产精麻豆99网站| 欧美日韩大陆在线| 91久久精品网| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国内一区二区视频| 亚洲在线中文字幕| 国产精品网站导航| 精品久久久久久久人人人人传媒 | 久久精品日韩一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 捆绑变态av一区二区三区| 一区二区日韩电影| 亚洲欧美日韩电影| 亚洲美女偷拍久久| 久久亚洲综合色一区二区三区| 欧美日本在线播放| 在线观看国产一区二区| 成人午夜免费电影| 国产剧情一区二区| 精品夜夜嗨av一区二区三区| 亚洲一级在线观看| 亚洲综合视频网| 亚洲精品美国一| 亚洲综合一区在线| 亚洲成人免费在线| 国产精品久久看| 亚洲黄色小视频| 亚洲午夜影视影院在线观看| 一区二区在线观看免费| 亚洲综合男人的天堂| 亚洲大型综合色站| 日本午夜一本久久久综合| 免费成人在线观看视频| 蜜臀va亚洲va欧美va天堂| 久久精品99国产精品| 国产精品自拍在线| 97超碰欧美中文字幕| 欧美手机在线视频| 久久综合久久综合亚洲| 欧美国产一区在线| 亚洲一区二区三区免费视频| 日韩va欧美va亚洲va久久| 国产在线精品免费av| 风间由美一区二区av101| 在线视频中文字幕一区二区| 欧美日本一区二区三区四区| 欧美一级国产精品| 国产精品视频看| 精品一区二区免费| 色偷偷88欧美精品久久久| 欧美一区二区精品在线| 国产精品萝li| 狠狠色丁香久久婷婷综合_中| 成人av网站在线观看免费| 欧美日本在线一区| 亚洲欧美日韩国产综合| 亚洲成人免费观看| 国产精华液一区二区三区| 欧美日韩三级一区二区| 中文无字幕一区二区三区| 五月综合激情网| 99视频热这里只有精品免费| 日韩欧美在线观看一区二区三区| 亚洲欧美欧美一区二区三区| 国产乱理伦片在线观看夜一区| 欧美日韩国产综合久久| 中文字幕永久在线不卡| 九九精品一区二区| 欧美日韩小视频| 亚洲综合999| 色悠悠亚洲一区二区| 国产精品卡一卡二卡三| 国产精品影视在线观看| 日韩精品一区二区三区中文不卡| 亚洲免费观看高清完整版在线观看熊| 国产麻豆视频一区二区| 久久久噜噜噜久久人人看| 极品少妇xxxx精品少妇| 精品剧情在线观看| 国产乱子轮精品视频| 欧美精品一区男女天堂| 九九九久久久精品| 亚洲精品一区二区三区福利 | 欧美电视剧免费观看| 奇米色777欧美一区二区| 精品久久久久99| 麻豆成人91精品二区三区| 欧美成人精品1314www| 国产资源在线一区| 亚洲欧美日韩国产中文在线| 欧美性猛交xxxxxxxx| 麻豆精品一区二区| 国产精品视频线看| 亚洲人成亚洲人成在线观看图片| 色噜噜狠狠成人网p站| 亚洲综合清纯丝袜自拍| 日韩三级在线免费观看| 国产suv精品一区二区三区| 亚洲精品乱码久久久久| 欧美一区二区免费观在线| 国产在线一区观看| 亚洲你懂的在线视频| 玉米视频成人免费看| 欧美精品一二三| 床上的激情91.| 首页国产欧美久久| 国产精品私人自拍| 欧美军同video69gay| 91香蕉视频在线| 久久国产精品无码网站| 《视频一区视频二区| 日韩免费电影网站| 91麻豆产精品久久久久久| 老司机精品视频在线| 亚洲地区一二三色| 亚洲特级片在线| 中文字幕不卡在线观看| 欧美tickling网站挠脚心| 91久久精品午夜一区二区| 风间由美中文字幕在线看视频国产欧美| 亚洲成人午夜影院| 亚洲另类春色国产| 国产精品久久久久影视| 久久久亚洲欧洲日产国码αv| 欧美美女一区二区在线观看| 91麻豆免费看片| 一本一道综合狠狠老| 国产91对白在线观看九色| 紧缚奴在线一区二区三区| 美女在线观看视频一区二区| 一卡二卡欧美日韩| 亚洲在线观看免费视频|