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

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

?? ddr_sdram_example_driver.v

?? 基于NIOS的CF卡應用(包括了軟件和硬件),ALTERA的IP庫中只提供了底層的硬件寄存器描述頭文件.這是個基于IP核HAL的軟件,以及相應的硬件設計示例.
?? 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
//------------------------------------------------------------------------------
//This confidential and proprietary software may be used only as authorized by
//a licensing agreement from Altera Corporation.
//(C) COPYRIGHT 2004 ALTERA CORPORATION
//ALL RIGHTS RESERVED
//The entire notice above must be reproduced on all authorized copies and any
//such reproduction must be pursuant to a licensing agreement from Altera.
//Title        : Memory Controller Example Driver
//Project      : DDR SDRAM Controller
//File         : ddr_sdram_example_driver
//Revision     : V3.2.0
//Abstract:
//Configurable memory controller driver example.
//Configurable memory parameters
//- Data Width
//- Burst Length
//- Address Size (Chipsels, Bankbits, Colbits, Rowbits)
//Configure test setup
//- mode (write all, read all) or (write one, read one)
//- start address / stop address
//- address increment size (options)
//Pass Fail
//- Per byte lane (non-persistent)
//- complete (persistent)										
//----------------------------------------------------------------------------------
//Parameters:
//local Interface Data Width         : 32
//DQ_PER_DQS                         : 8
//LOCAL_AVALON_IF                    : true
//MEM_CHIPSELS                       : 1
//MEM_CHIP_BITS                      : 0
//MEM_BANK_BITS                      : 2
//MEM_ROW_BITS                       : 13
//MEM_COL_BITS                       : 9
//LOCAL_BURST_LEN                    : 1
//LOCAL_BURST_LEN_BITS               : 1
//----------------------------------------------------------------------------------
//FSM States
//S_IDLE				   : 0
//S_WRITE_ALL                        : 1
//S_WRITE_ALL_WAIT		   : 2
//S_READ_ALL                         : 3
//S_READ_ALL_WAIT                    : 4
//S_WRITE                            : 5
//S_WRITE_WAIT                       : 6
//S_READ                             : 7
//S_READ_WAIT                        : 8
//S_BURST_WRITE_ALL                  : 10
//S_BURST_READ_ALL                   : 11
//S_BURST_WRITE_WAIT                 : 12
//S_BURST_READ_WAIT                  : 13
//S_INIT                             : 9
//----------------------------------------------------------------------------------

module ddr_sdram_example_driver (
                                  // inputs:
                                   clk,
                                   local_rdata,
                                   local_rdata_valid,
                                   local_ready,
                                   reset_n,

                                  // outputs:
                                   burst_begin,
                                   local_bank_addr,
                                   local_be,
                                   local_col_addr,
                                   local_cs_addr,
                                   local_read_req,
                                   local_row_addr,
                                   local_size,
                                   local_wdata,
                                   local_write_req,
                                   pnf_per_byte,
                                   pnf_persist,
                                   test_complete
                                );

  parameter MEM_BANK_BITS = 2;
  parameter MEM_COL_BITS = 9;
  parameter col_addr_max = 511;
  parameter LOCAL_BURST_LEN_BITS = 1;
  parameter LOCAL_BURST_LEN = 1;
  parameter LOCAL_ADDR_BITS = 24;
  parameter MEM_CHIPSELS = 1;
  parameter cs_addr_max = 1;
  parameter LOCAL_DATA_BITS = 32;
  parameter row_addr_max = 8191;
  parameter bank_addr_max = 3;
  parameter MEM_ROW_BITS = 13;
  parameter MEM_DQ_PER_DQS = 8;
  parameter WRITE_ALL_MODE = 1;
  parameter AVALON_IF = "true";
  parameter MEM_CHIP_BITS = 0;


  output           burst_begin;
  output  [  1: 0] local_bank_addr;
  output  [  3: 0] local_be;
  output  [  8: 0] local_col_addr;
  output           local_cs_addr;
  output           local_read_req;
  output  [ 12: 0] local_row_addr;
  output           local_size;
  output  [ 31: 0] local_wdata;
  output           local_write_req;
  output  [  3: 0] pnf_per_byte;
  output           pnf_persist;
  output           test_complete;
  input            clk;
  input   [ 31: 0] local_rdata;
  input            local_rdata_valid;
  input            local_ready;
  input            reset_n;

  wire             LOCAL_BURST_LEN_s;
  wire    [  1: 0] MAX_BANK;
  wire             MAX_CHIPSEL;
  wire    [  8: 0] MAX_COL;
  wire    [ 12: 0] MAX_ROW;
  wire             MIN_CHIPSEL;
  wire             avalon_burst_mode;
  wire             avalon_read_burst_max_address;
  reg     [  1: 0] bank_addr;
  wire    [  3: 0] be;
  reg     [  2: 0] burst_beat_count;
  reg              burst_begin;
  reg     [  8: 0] col_addr;
  wire    [  3: 0] compare;
  reg     [  3: 0] compare_reg;
  reg     [  3: 0] compare_valid;
  reg     [  3: 0] compare_valid_reg;
  reg              cs_addr;
  wire    [ 31: 0] dgen_data;
  reg              dgen_enable;
  reg     [ 31: 0] dgen_ldata;
  reg              dgen_load;
  wire             dgen_pause;
  reg              last_rdata_valid;
  reg              last_wdata_req;
  wire    [  1: 0] local_bank_addr;
  wire    [  3: 0] local_be;
  wire    [  8: 0] local_col_addr;
  wire             local_cs_addr;
  wire             local_read_req;
  wire    [ 12: 0] local_row_addr;
  wire             local_size;
  wire    [ 31: 0] local_wdata;
  wire             local_write_req;
  wire    [  3: 0] pnf_per_byte;
  reg              pnf_persist;
  reg              pnf_persist1;
  wire             reached_max_address;
  reg              reached_max_count;
  reg              read_req;
  reg     [  7: 0] reads_remaining;
  reg              reset_address;
  reg     [ 12: 0] row_addr;
  wire             size;
  reg     [  3: 0] state;
  reg              test_complete;
  reg              wait_first_write_data;
  wire    [ 31: 0] wdata;
  wire             wdata_req;
  reg              write_req;
  reg     [  7: 0] writes_remaining;
  assign avalon_burst_mode = 0;
  assign MIN_CHIPSEL = 0;
  assign MAX_CHIPSEL = 0;
  assign MAX_ROW = 3;
  assign MAX_BANK = 3;
  assign MAX_COL = 16;
  //


  assign local_cs_addr = cs_addr;

  assign local_row_addr = row_addr;
  assign local_bank_addr = bank_addr;
  assign local_col_addr = col_addr;
  assign local_write_req = write_req;
  assign local_read_req = read_req;
  assign local_wdata = wdata;
  assign wdata = dgen_data;
  //The LOCAL_BURST_LEN_s is a signal used insted of the parameter LOCAL_BURST_LEN
  assign LOCAL_BURST_LEN_s = 1;
  //LOCAL INTERFACE (AVALON)
  assign wdata_req = write_req && local_ready;

  // Generate new data (enable lfsr) when writing or reading valid data
  assign dgen_pause = ~ (wdata_req | local_rdata_valid);

  //


  assign local_be = be;

  assign be = -1;
  assign pnf_per_byte = compare_valid_reg;
  assign local_size = size;
  //FIX
  assign size = LOCAL_BURST_LEN_s;

  assign reached_max_address = (col_addr >= (MAX_COL - (1 * 2))) && (row_addr == MAX_ROW) && (bank_addr == MAX_BANK) && (cs_addr == MAX_CHIPSEL);
  assign avalon_read_burst_max_address = (col_addr >= (MAX_COL - (1 * 4))) && (row_addr == MAX_ROW) && (bank_addr == MAX_BANK) && (cs_addr == MAX_CHIPSEL);
  example_lfsr8 LFSRGEN_0_lfsr_inst
    (
      .clk (clk),
      .data (dgen_data[7 : 0]),
      .enable (dgen_enable),
      .ldata (dgen_ldata[7 : 0]),
      .load (dgen_load),
      .pause (dgen_pause),
      .reset_n (reset_n)
    );

  defparam LFSRGEN_0_lfsr_inst.seed = 1;

  // 8 bit comparator per local byte lane
  assign compare[0] = dgen_data[7 : 0] == local_rdata[7 : 0];

  example_lfsr8 LFSRGEN_1_lfsr_inst
    (
      .clk (clk),
      .data (dgen_data[15 : 8]),
      .enable (dgen_enable),
      .ldata (dgen_ldata[15 : 8]),
      .load (dgen_load),
      .pause (dgen_pause),
      .reset_n (reset_n)
    );

  defparam LFSRGEN_1_lfsr_inst.seed = 11;

  // 8 bit comparator per local byte lane
  assign compare[1] = dgen_data[15 : 8] == local_rdata[15 : 8];

  example_lfsr8 LFSRGEN_2_lfsr_inst
    (
      .clk (clk),
      .data (dgen_data[23 : 16]),
      .enable (dgen_enable),
      .ldata (dgen_ldata[23 : 16]),
      .load (dgen_load),
      .pause (dgen_pause),
      .reset_n (reset_n)
    );

  defparam LFSRGEN_2_lfsr_inst.seed = 21;

  // 8 bit comparator per local byte lane
  assign compare[2] = dgen_data[23 : 16] == local_rdata[23 : 16];

  example_lfsr8 LFSRGEN_3_lfsr_inst
    (
      .clk (clk),
      .data (dgen_data[31 : 24]),
      .enable (dgen_enable),
      .ldata (dgen_ldata[31 : 24]),
      .load (dgen_load),
      .pause (dgen_pause),
      .reset_n (reset_n)
    );

  defparam LFSRGEN_3_lfsr_inst.seed = 31;

  // 8 bit comparator per local byte lane
  assign compare[3] = dgen_data[31 : 24] == local_rdata[31 : 24];

  //
  //-----------------------------------------------------------------
  //Main clocked process
  //-----------------------------------------------------------------
  //Read / Write control state machine & address counter
  //-----------------------------------------------------------------
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          //Reset - asynchronously force all register outputs LOW
          state <= 1'b0;

          write_req <= 1'b0;
          read_req <= 1'b0;
          burst_begin <= 0;
          burst_beat_count <= 0;
          cs_addr <= 0;
          row_addr <= 0;
          bank_addr <= 0;
          col_addr <= 0;
          dgen_enable <= 1'b0;
          dgen_load <= 1'b0;
          wait_first_write_data <= 1'b0;
          reached_max_count <= 1'b0;
          test_complete <= 1'b0;
          writes_remaining <= 0;
          reads_remaining <= 0;
          reset_address <= 1'b0;
        end
      else 
        begin
          reset_address <= 1'b0;
          reached_max_count <= reached_max_address;
          read_req <= 1'b0;
          write_req <= 1'b0;
          dgen_load <= 1'b0;
          test_complete <= 1'b0;
          if (last_wdata_req)
              wait_first_write_data <= 0;
          if (write_req && local_ready)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品电影在线观看| 国产在线播放一区二区三区| 成人国产一区二区三区精品| 久久久午夜电影| 国产一区二区久久| 亚洲一区二区黄色| 欧美一卡二卡三卡| 欧美aaaaaa午夜精品| 欧美mv日韩mv国产网站| 国产一区不卡在线| 亚洲成人精品在线观看| 欧美sm极限捆绑bd| 欧美在线啊v一区| 美国av一区二区| 国产日本欧美一区二区| 成人精品免费网站| 亚洲一级不卡视频| 国产精品久久久久7777按摩| 色哟哟一区二区三区| 午夜久久久影院| 久久综合久久综合久久综合| 99久久精品国产麻豆演员表| 亚洲综合色噜噜狠狠| 国产精品久久久久影院亚瑟 | 日韩三级免费观看| 国产福利91精品| 亚洲精品综合在线| 欧美大度的电影原声| bt7086福利一区国产| 五月天一区二区| 亚洲国产一区二区视频| 久久综合色天天久久综合图片| 欧美男生操女生| 成人涩涩免费视频| 国产成人精品1024| 国产一区欧美一区| 国产美女娇喘av呻吟久久| 精品一区二区影视| 夜夜嗨av一区二区三区四季av | 精品久久久影院| 欧美久久一区二区| www.欧美色图| 99久久99久久综合| 91在线观看地址| 国内成+人亚洲+欧美+综合在线| 亚洲欧美视频在线观看| 日韩一二在线观看| 日韩欧美亚洲一区二区| 日韩区在线观看| www久久久久| 国产精品色婷婷| 日韩欧美国产综合| 久久久亚洲高清| 中文字幕一区二区三| 91精品婷婷国产综合久久| 97久久精品人人做人人爽50路 | 国产69精品久久777的优势| 日韩av午夜在线观看| 亚洲日本在线观看| 国产欧美一区二区三区在线看蜜臀 | 日韩高清中文字幕一区| 欧美a级一区二区| 国产精华液一区二区三区| 国产经典欧美精品| 91国产视频在线观看| 91丨九色丨国产丨porny| 91豆麻精品91久久久久久| 欧美高清www午色夜在线视频| 日韩欧美亚洲国产另类| 久久久不卡网国产精品二区| 中文字幕在线不卡国产视频| 亚洲五码中文字幕| 黄色资源网久久资源365| 成人黄色国产精品网站大全在线免费观看 | 有坂深雪av一区二区精品| 亚洲福利视频导航| 精品一区二区三区久久久| eeuss鲁片一区二区三区在线看| 在线看不卡av| 精品三级在线观看| 亚洲女同女同女同女同女同69| 婷婷丁香激情综合| 国产成人av电影| 国产精品三级av在线播放| 中文字幕国产一区| 宅男噜噜噜66一区二区66| 欧美成人猛片aaaaaaa| ㊣最新国产の精品bt伙计久久| 亚洲va中文字幕| 国产成a人亚洲精品| 欧美日韩一区二区三区不卡| 91成人在线观看喷潮| 精品国内二区三区| 久久久精品免费网站| 一区二区三区在线观看欧美| 精品一区二区三区日韩| 色视频成人在线观看免| 久久精品亚洲一区二区三区浴池| 国产欧美日韩精品在线| 亚洲成人av中文| 不卡高清视频专区| 精品国产免费一区二区三区香蕉| 一区二区视频在线看| 国产自产v一区二区三区c| 欧亚一区二区三区| 国产午夜亚洲精品理论片色戒| 天天综合网 天天综合色| youjizz久久| 久久久久久久久久久久久久久99| 五月婷婷综合激情| 91女人视频在线观看| 久久久不卡影院| 久久国产欧美日韩精品| 国产高清不卡一区二区| 欧美一区二区三区啪啪| 亚洲乱码精品一二三四区日韩在线| 国产自产v一区二区三区c| 91精品综合久久久久久| 亚洲一区日韩精品中文字幕| 99久久er热在这里只有精品66| 国产色一区二区| 久久91精品国产91久久小草| 欧美高清你懂得| 亚洲成人资源在线| 欧洲亚洲国产日韩| 亚洲婷婷综合色高清在线| 成人美女在线视频| 亚洲国产高清aⅴ视频| 国产乱人伦偷精品视频免下载| 91亚洲永久精品| 国产精品美日韩| 成人小视频免费在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 中文字幕综合网| av毛片久久久久**hd| 国产精品二三区| 成人午夜激情影院| 国产精品剧情在线亚洲| 成人免费视频免费观看| 日本一区二区不卡视频| 国产白丝网站精品污在线入口| 欧美精品一区男女天堂| 国产一区二区在线影院| 欧美精品一区二区高清在线观看| 老司机精品视频一区二区三区| 日韩免费一区二区三区在线播放| 蜜臀a∨国产成人精品| 日韩一级黄色片| 久久99精品久久久久久动态图| 精品久久国产字幕高潮| 国内精品视频一区二区三区八戒| 26uuu国产在线精品一区二区| 精品亚洲成av人在线观看| 久久久综合视频| 成人激情校园春色| 亚洲蜜桃精久久久久久久| 欧洲精品视频在线观看| 午夜成人免费电影| 欧美电影免费观看高清完整版| 黄色资源网久久资源365| 国产精品久久久久桃色tv| 色综合天天狠狠| 婷婷久久综合九色综合绿巨人 | 国内精品伊人久久久久av一坑| 国产欧美精品一区二区色综合朱莉 | 亚洲精品一区二区在线观看| 国产精品一二一区| 亚洲欧美区自拍先锋| 欧美日韩国产综合久久| 九九九精品视频| 国产精品乱码妇女bbbb| 欧美综合天天夜夜久久| 久久99国产精品免费| 日韩理论片一区二区| 欧美老女人第四色| 国产白丝网站精品污在线入口| 一区二区三区在线免费视频| 91精品国产综合久久婷婷香蕉| 国产精一区二区三区| 一区二区在线电影| 久久青草欧美一区二区三区| 91浏览器在线视频| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品乱子久久久久| 91精品国产综合久久久久久久 | 91视频com| 另类小说欧美激情| 专区另类欧美日韩| 精品国产乱码久久久久久久| 色婷婷av一区| 国产剧情一区二区| 首页国产丝袜综合| 亚洲欧美综合在线精品| 欧美一区二区成人6969| 972aa.com艺术欧美| 久久99久久久欧美国产| 亚洲综合一区二区三区| 国产欧美日韩久久| 欧美videos大乳护士334| 色婷婷亚洲综合|