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

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

?? usr_rd.v

?? DDR2源代碼 DDR2源代碼 DDR2源代碼
?? V
字號:
//*****************************************************************************// DISCLAIMER OF LIABILITY// // This text/file contains proprietary, confidential// information of Xilinx, Inc., is distributed under license// from Xilinx, Inc., and may be used, copied and/or// disclosed only pursuant to the terms of a valid license// agreement with Xilinx, Inc. Xilinx hereby grants you a // license to use this text/file solely for design, simulation, // implementation and creation of design files limited // to Xilinx devices or technologies. Use with non-Xilinx // devices or technologies is expressly prohibited and // immediately terminates your license unless covered by// a separate agreement.//// Xilinx is providing this design, code, or information // "as-is" solely for use in developing programs and // solutions for Xilinx devices, with no obligation on the // part of Xilinx to provide support. By providing this design, // code, or information as one possible implementation of // this feature, application or standard, Xilinx is making no // representation that this implementation is free from any // claims of infringement. You are responsible for // obtaining any rights you may require for your implementation. // Xilinx expressly disclaims any warranty whatsoever with // respect to the adequacy of the implementation, including // but not limited to any warranties or representations that this// implementation is free from claims of infringement, implied // warranties of merchantability or fitness for a particular // purpose.//// Xilinx products are not intended for use in life support// appliances, devices, or systems. Use in such applications is// expressly prohibited.//// Any modifications that are made to the Source Code are // done at the user抯 sole risk and will be unsupported.//// Copyright (c) 2006-2007 Xilinx, Inc. All rights reserved.//// This copyright and support notice must be retained as part // of this text at all times. //*****************************************************************************//   ____  ____//  /   /\/   /// /___/  \  /    Vendor: Xilinx// \   \   \/     Version: 2.1//  \   \         Application: MIG//  /   /         Filename: usr_rd.v// /___/   /\     Date Last Modified: $Date: 2007/11/28 13:20:56 $// \   \  /  \    Date Created: Tue Aug 29 2006//  \___\/\___\////Device: Virtex-5//Design Name: DDR2//Purpose://   The delay between the read data with respect to the command issued is//   calculted in terms of no. of clocks. This data is then stored into the//   FIFOs and then read back and given as the ouput for comparison.//Reference://Revision History://*****************************************************************************`timescale 1ns/1psmodule usr_rd #  (   // Following parameters are for 72-bit RDIMM design (for ML561 Reference    // board design). Actual values may be different. Actual parameters values    // are passed from design top module ddr2_sdram module. Please refer to   // the ddr2_sdram module for actual values.   parameter DQ_PER_DQS    = 8,   parameter DQS_WIDTH     = 9,   parameter APPDATA_WIDTH = 144,   parameter ECC_WIDTH     = 72,   parameter ECC_ENABLE    = 0   )  (   input                                    clk0,   input                                    rst0,   input [(DQS_WIDTH*DQ_PER_DQS)-1:0]       rd_data_in_rise,   input [(DQS_WIDTH*DQ_PER_DQS)-1:0]       rd_data_in_fall,   input [DQS_WIDTH-1:0]                    ctrl_rden,   input [DQS_WIDTH-1:0]                    ctrl_rden_sel,   output reg [1:0]                         rd_ecc_error,   output                                   rd_data_valid,   output reg [(APPDATA_WIDTH/2)-1:0]       rd_data_out_rise,   output reg [(APPDATA_WIDTH/2)-1:0]       rd_data_out_fall   );  // determine number of FIFO72's to use based on data width  localparam RDF_FIFO_NUM = ((APPDATA_WIDTH/2)+63)/64;  reg [DQS_WIDTH-1:0]               ctrl_rden_r;  wire [(DQS_WIDTH*DQ_PER_DQS)-1:0] fall_data;  reg [(DQS_WIDTH*DQ_PER_DQS)-1:0]  rd_data_in_fall_r;  reg [(DQS_WIDTH*DQ_PER_DQS)-1:0]  rd_data_in_rise_r;  wire                              rden;  reg [DQS_WIDTH-1:0]               rden_sel_r                                    /* synthesis syn_preserve=1 */;  wire [DQS_WIDTH-1:0]              rden_sel_mux;  wire [(DQS_WIDTH*DQ_PER_DQS)-1:0] rise_data;  // ECC specific signals  wire [((RDF_FIFO_NUM -1) *2)+1:0] db_ecc_error;  reg [(DQS_WIDTH*DQ_PER_DQS)-1:0]  fall_data_r;  reg                               fifo_rden_r0;  reg                               fifo_rden_r1;  reg                               fifo_rden_r2;  reg                               fifo_rden_r3;  reg                               fifo_rden_r4;  reg                               fifo_rden_r5;  reg                               fifo_rden_r6;  wire [(APPDATA_WIDTH/2)-1:0]      rd_data_out_fall_temp;  wire [(APPDATA_WIDTH/2)-1:0]      rd_data_out_rise_temp;  reg                               rst_r;  reg [(DQS_WIDTH*DQ_PER_DQS)-1:0]  rise_data_r;  wire [((RDF_FIFO_NUM -1) *2)+1:0] sb_ecc_error;  //***************************************************************************  always @(posedge clk0) begin    rden_sel_r        <= ctrl_rden_sel;    ctrl_rden_r       <= ctrl_rden;    rd_data_in_rise_r <= rd_data_in_rise;    rd_data_in_fall_r <= rd_data_in_fall;  end  // Instantiate primitive to allow this flop to be attached to multicycle  // path constraint in UCF. Multicycle path allowed for data from read FIFO.  // This is the same signal as RDEN_SEL_R, but is only used to select data  // (does not affect control signals)  genvar rd_i;  generate    for (rd_i = 0; rd_i < DQS_WIDTH; rd_i = rd_i+1) begin: gen_rden_sel_mux      FD u_ff_rden_sel_mux        (         .Q (rden_sel_mux[rd_i]),         .C (clk0),         .D (ctrl_rden_sel[rd_i])         ) /* synthesis syn_preserve=1 */;    end  endgenerate  // determine correct read data valid signal timing  assign rden = (rden_sel_r[0]) ? ctrl_rden[0] : ctrl_rden_r[0];  // assign data based on the skew  genvar data_i;  generate    for(data_i = 0; data_i < DQS_WIDTH; data_i = data_i+1) begin: gen_data      assign rise_data[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1):                       (data_i*DQ_PER_DQS)]               = (rden_sel_mux[data_i]) ?                 rd_data_in_rise[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1) :                                 (data_i*DQ_PER_DQS)] :                 rd_data_in_rise_r[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1):                                   (data_i*DQ_PER_DQS)];       assign fall_data[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1):                        (data_i*DQ_PER_DQS)]                = (rden_sel_mux[data_i]) ?                  rd_data_in_fall[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1):                                  (data_i*DQ_PER_DQS)] :                  rd_data_in_fall_r[(data_i*DQ_PER_DQS)+(DQ_PER_DQS-1):                                    (data_i*DQ_PER_DQS)];    end  endgenerate  // Generate RST for FIFO reset AND for read/write enable:  // ECC FIFO always being read from and written to  always @(posedge clk0)    rst_r <= rst0;  genvar rdf_i;  generate    if (ECC_ENABLE) begin      always @(posedge clk0) begin        rd_ecc_error[0]   <= (|sb_ecc_error) & fifo_rden_r5;        rd_ecc_error[1]   <= (|db_ecc_error) & fifo_rden_r5;        rd_data_out_rise  <= rd_data_out_rise_temp;        rd_data_out_fall  <= rd_data_out_fall_temp;        rise_data_r       <= rise_data;        fall_data_r       <= fall_data;      end      // can use any of the read valids, they're all delayed by same amount      assign rd_data_valid = fifo_rden_r6;      // delay read valid to take into account max delay difference btw      // the read enable coming from the different DQS groups      always @(posedge clk0) begin        if (rst0) begin          fifo_rden_r0 <= 1'b0;          fifo_rden_r1 <= 1'b0;          fifo_rden_r2 <= 1'b0;          fifo_rden_r3 <= 1'b0;          fifo_rden_r4 <= 1'b0;          fifo_rden_r5 <= 1'b0;          fifo_rden_r6 <= 1'b0;        end else begin          fifo_rden_r0 <= rden;          fifo_rden_r1 <= fifo_rden_r0;          fifo_rden_r2 <= fifo_rden_r1;          fifo_rden_r3 <= fifo_rden_r2;          fifo_rden_r4 <= fifo_rden_r3;          fifo_rden_r5 <= fifo_rden_r4;          fifo_rden_r6 <= fifo_rden_r5;        end      end      for (rdf_i = 0; rdf_i < RDF_FIFO_NUM; rdf_i = rdf_i + 1) begin: gen_rdf        FIFO36_72  # // rise fifo          (           .ALMOST_EMPTY_OFFSET     (9'h007),           .ALMOST_FULL_OFFSET      (9'h00F),           .DO_REG                  (1),          // extra CC output delay           .EN_ECC_WRITE            ("FALSE"),           .EN_ECC_READ             ("TRUE"),           .EN_SYN                  ("FALSE"),           .FIRST_WORD_FALL_THROUGH ("FALSE")           )          u_rdf            (             .ALMOSTEMPTY (),             .ALMOSTFULL  (),             .DBITERR     (db_ecc_error[rdf_i]),             .DO          (rd_data_out_rise_temp[(64*(rdf_i+1))-1:                                                 (64 *rdf_i)]),             .DOP         (),             .ECCPARITY   (),             .EMPTY       (),             .FULL        (),             .RDCOUNT     (),             .RDERR       (),             .SBITERR     (sb_ecc_error[rdf_i]),             .WRCOUNT     (),             .WRERR       (),             .DI          (rise_data_r[((64*(rdf_i+1)) + (rdf_i*8))-1:                                       (64 *rdf_i)+(rdf_i*8)]),             .DIP         (rise_data_r[(72*(rdf_i+1))-1:                                       (64*(rdf_i+1))+ (8*rdf_i)]),             .RDCLK       (clk0),             .RDEN        (~rst_r),             .RST         (rst_r),             .WRCLK       (clk0),             .WREN        (~rst_r)             );        FIFO36_72  # // fall_fifo          (           .ALMOST_EMPTY_OFFSET     (9'h007),           .ALMOST_FULL_OFFSET      (9'h00F),           .DO_REG                  (1),          // extra CC output delay           .EN_ECC_WRITE            ("FALSE"),           .EN_ECC_READ             ("TRUE"),           .EN_SYN                  ("FALSE"),           .FIRST_WORD_FALL_THROUGH ("FALSE")           )          u_rdf1            (             .ALMOSTEMPTY (),             .ALMOSTFULL  (),             .DBITERR     (db_ecc_error[rdf_i+1]),             .DO          (rd_data_out_fall_temp[(64*(rdf_i+1))-1:                                                 (64 *rdf_i)]),             .DOP         (),             .ECCPARITY   (),             .EMPTY       (),             .FULL        (),             .RDCOUNT     (),             .RDERR       (),             .SBITERR     (sb_ecc_error[rdf_i+1]),             .WRCOUNT     (),             .WRERR       (),             .DI          (fall_data_r[((64*(rdf_i+1)) + (rdf_i*8))-1:                                       (64*rdf_i)+(rdf_i*8)]),             .DIP         (fall_data_r[(72*(rdf_i+1))-1:                                       (64*(rdf_i+1))+ (8*rdf_i)]),             .RDCLK       (clk0),             .RDEN        (~rst_r),             .RST         (rst_r),          // or can use rst0             .WRCLK       (clk0),             .WREN        (~rst_r)             );      end    end else begin      assign rd_data_valid = fifo_rden_r0;      always @(posedge clk0) begin        rd_data_out_rise <= rise_data;        rd_data_out_fall <= fall_data;        fifo_rden_r0 <= rden;      end    end  endgenerateendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线免费观看视频| 色综合久久九月婷婷色综合| 宅男噜噜噜66一区二区66| 亚洲日本青草视频在线怡红院| 成人免费精品视频| 中文字幕色av一区二区三区| 色综合网色综合| 亚洲狠狠爱一区二区三区| 91.xcao| 国产在线麻豆精品观看| 久久九九久久九九| av毛片久久久久**hd| 一区二区三区欧美在线观看| 欧美日韩国产综合视频在线观看 | 国产成人啪午夜精品网站男同| 久久亚洲捆绑美女| a在线欧美一区| 亚洲综合免费观看高清完整版 | 日韩欧美国产电影| 顶级嫩模精品视频在线看| 最新久久zyz资源站| 欧美日韩一区二区电影| 久久福利资源站| 国产精品毛片久久久久久久| 欧美私人免费视频| 国产一区二区三区四区在线观看| 国产精品久久久久桃色tv| 欧美日韩国产欧美日美国产精品| 国产在线精品一区在线观看麻豆| 亚洲福利一区二区| 久久亚洲精品小早川怜子| 91色porny| 精油按摩中文字幕久久| 日韩一区日韩二区| 日韩免费观看高清完整版在线观看| 国产成人精品免费网站| 亚洲成人av电影| 中文天堂在线一区| 91精品国产综合久久久蜜臀图片| 成人的网站免费观看| 日韩av电影免费观看高清完整版在线观看| 国产三级精品三级在线专区| 欧美性一区二区| 成人小视频免费在线观看| 偷拍与自拍一区| 国产精品成人网| 精品国产网站在线观看| 色菇凉天天综合网| 国产永久精品大片wwwapp| 亚洲国产裸拍裸体视频在线观看乱了 | 洋洋av久久久久久久一区| 久久精品视频在线看| 欧美精品在线观看播放| 99麻豆久久久国产精品免费优播| 久久狠狠亚洲综合| 亚洲国产日日夜夜| 亚洲视频在线一区二区| 欧美精品一区二区三区蜜桃视频 | 日韩精品一二三区| 国产精品二三区| 久久蜜桃香蕉精品一区二区三区| 欧美日韩免费在线视频| 91丨九色丨蝌蚪丨老版| 国产精品一级黄| 久久精品噜噜噜成人88aⅴ| 一级日本不卡的影视| 欧美国产成人在线| 久久蜜臀精品av| 精品乱人伦小说| 欧美电视剧在线看免费| 欧美一区二区三区成人| 欧美色涩在线第一页| 91在线观看高清| 99精品国产99久久久久久白柏| 国产成人午夜精品5599| 精品在线你懂的| 久久精品免费看| 精品影视av免费| 看国产成人h片视频| 蜜桃视频一区二区三区在线观看| 五月天亚洲婷婷| 视频一区二区三区中文字幕| 亚洲高清免费观看 | 成人丝袜高跟foot| 粉嫩av一区二区三区粉嫩| 国产福利一区二区三区| 国产精品资源在线看| 韩国v欧美v日本v亚洲v| 国内精品久久久久影院薰衣草| 国内精品不卡在线| 国产精品1024| 成人国产一区二区三区精品| 91小视频在线观看| 91国内精品野花午夜精品| 一本大道久久a久久精二百| 91福利视频网站| 欧美年轻男男videosbes| 日韩午夜激情av| 国产亚洲欧洲一区高清在线观看| 国产精品网站导航| 亚洲男人的天堂在线aⅴ视频| 一区二区久久久| 久久精品国产在热久久| 国产精品自产自拍| av在线播放不卡| 欧美日韩一区二区三区在线| 日韩一区二区三区在线观看| 国产欧美精品一区二区三区四区 | 久久久久高清精品| 亚洲国产岛国毛片在线| 国产乱码一区二区三区| 成人免费看的视频| 欧美日韩亚洲国产综合| 精品美女一区二区| 国产精品伦理一区二区| 亚洲高清视频中文字幕| 精品一区二区免费在线观看| 成人激情动漫在线观看| 欧美日韩国产综合视频在线观看 | 成人黄色一级视频| 欧美伦理影视网| 国产日韩欧美在线一区| 亚洲影院在线观看| 黄网站免费久久| 色噜噜狠狠成人网p站| 日韩午夜电影av| 亚洲你懂的在线视频| 国产最新精品精品你懂的| 一本一道波多野结衣一区二区| 欧美xxxxxxxx| 亚洲黄色尤物视频| 国产一区二区三区免费在线观看 | 69精品人人人人| 中文字幕在线一区免费| 蜜臀99久久精品久久久久久软件| 91小视频免费观看| 久久久久久**毛片大全| 免费一区二区视频| 色猫猫国产区一区二在线视频| 久久久久久久免费视频了| 偷偷要91色婷婷| 在线观看日产精品| 国产女同互慰高潮91漫画| 青青草97国产精品免费观看 | 日韩视频在线永久播放| 亚洲日本在线天堂| 国产乱码精品一品二品| 欧美一级精品在线| 亚洲在线视频一区| www.激情成人| 久久精品日韩一区二区三区| 亚洲一区二区三区四区在线免费观看 | 欧美一区二区高清| 国产精品久久久久aaaa樱花 | 欧美极品aⅴ影院| 婷婷丁香激情综合| av高清久久久| 久久综合久久综合久久| 亚洲成va人在线观看| 成人免费观看视频| 欧美精品一区二区蜜臀亚洲| 亚洲国产裸拍裸体视频在线观看乱了| 成人在线视频一区二区| 欧美一三区三区四区免费在线看| 亚洲欧美日韩成人高清在线一区| 国产经典欧美精品| 日韩一区二区精品葵司在线| 亚洲国产日韩在线一区模特| 色综合夜色一区| 国产精品不卡一区二区三区| 国产精品中文字幕欧美| 欧美成人精品1314www| 久久成人av少妇免费| 在线电影国产精品| 亚洲最新视频在线播放| 国产一区在线精品| 久久久久久久国产精品影院| 秋霞午夜鲁丝一区二区老狼| 欧美日韩亚洲高清一区二区| 国产精品久久久久久一区二区三区 | 一本大道久久a久久精二百| 亚洲国产高清不卡| 国产麻豆精品视频| 国产精品色婷婷| 不卡一区二区三区四区| 久久精品在这里| 国产精品91xxx| 久久久天堂av| 国产黑丝在线一区二区三区| 久久久久久麻豆| 99热精品一区二区| 亚洲欧美日韩在线| 色婷婷亚洲婷婷| 一区二区在线观看免费视频播放| 欧美亚洲日本一区| 亚洲伦理在线免费看| 欧美日免费三级在线| 免费观看日韩av| 精品三级在线观看| 精品一区二区三区视频在线观看 |