⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bypass_bram.v

📁 FPGA之间的LVDS传输
💻 V
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************File name:    initiator_bram.vRev:          4.1Description:  This is the Initiator BRAM (IRAM) module of the              User Design. It stores preloaded field information              with different data patterns. This data is used to               populate the DATA field of outgoing Initiator Request               packets from the IREQ Generator module. The IRAM is               also used by the IRESP Handler to verify the DATA               field of incoming Initiator Response packets against               the expected contents.#-- Copyright (c) 1995-2007 by Xilinx, Inc. All rights reserved.#-- 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's sole risk and will be unsupported.#--#-- This copyright and support notice must be retained as part#-- of this text at all times. (c) Copyright 1995-2007 Xilinx, Inc.#-- All rights reserved.*******************************************************************************/`timescale 1 ps / 1 psmodule bypass_bram (  // System  input           lnk_clk,      // Link clock  input           lnk_reset_n,  // Active low reset  // IREQ Generator  input   [0:9]   g_iram_addra, // Address from IREQ Generator into IRAM  output  [0:63]  iram_doa,     // Read data from IRAM to IREQ Generator  // IRESP Handler  input   [0:9]   h_iram_addrb, // Address from IRESP Handler into IRAM  output  [0:63]  iram_dob      // Read data from IRAM to IRESP Handler  );  // Construct Initiator BRAM from two 1kx36 RAMB36 primitives cascaded in   // width resulting in a 1kx64 memory. The IRAM wil be put into WRITE_FIRST  // mode to allow for a write path to be added from the Bypass Port.   //  // The IRAM will be initialized with the following data patterns:  //  // Address Range  |   Data Type   // -------------------------------------------------------  // 0x000 - 0x01F  |   All 0抯  // 0x020 - 0x03F  |   All 1抯  // 0x040 - 0x05F  |   Alternating 0抯 and 1抯  // 0x060 - 0x07F  |   Alternating 1抯 and 0抯  // 0x080 - 0x09F  |   Alternating bytes of 0抯 and 1抯  // 0x0A0 - 0x0BF  |   Alternating bytes of 1抯 and 0抯  // 0x0C0 - 0x0DF  |   Alternating dwords of 0抯 and 1抯  // 0x0E0 - 0x0FF  |   Alternating dwords of 1抯 and 0抯  // 0x100 - 0x11F  |   Incrementing bytes  // 0x120 - 0x13F  |   Incrementing dwords  // 0x140 - 0x15F  |   Decrementing bytes  // 0x160 - 0x17F  |   Decrementing dwords  // 0x180 - 0x19F  |   Random data #1  // 0x1A0 - 0x1BF  |   Random data #2  // 0x1C0 - 0x7FF  |   More incrementing dwords    RAMB36 #(    .READ_WIDTH_A(36),    .READ_WIDTH_B(36),    .WRITE_MODE_A("WRITE_FIRST"),    .WRITE_MODE_B("WRITE_FIRST"),    .WRITE_WIDTH_A(36),    .WRITE_WIDTH_B(36),    // The following INIT_xx declarations specify the initial contents of the RAM.    // These INITs specify the lower 32 bits of the pattern. The INITs of the other    // BRAM initialize the upper 32 bits of the pattern.    // All 0's    .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000),    // All 1's    .INIT_04(256'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),    .INIT_05(256'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),    .INIT_06(256'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),    .INIT_07(256'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF),    // Alternating 0's and 1's    .INIT_08(256'h5555555555555555555555555555555555555555555555555555555555555555),    .INIT_09(256'h5555555555555555555555555555555555555555555555555555555555555555),    .INIT_0A(256'h5555555555555555555555555555555555555555555555555555555555555555),    .INIT_0B(256'h5555555555555555555555555555555555555555555555555555555555555555),    // Alternating 1's and 0's    .INIT_0C(256'hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA),    .INIT_0D(256'hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA),    .INIT_0E(256'hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA),    .INIT_0F(256'hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA),    // Alternating bytes of 0's and 1's    .INIT_10(256'h00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF),    .INIT_11(256'h00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF),    .INIT_12(256'h00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF),    .INIT_13(256'h00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF),    // Alternating bytes of 1's and 0's    .INIT_14(256'hFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00),    .INIT_15(256'hFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00),    .INIT_16(256'hFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00),    .INIT_17(256'hFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00),    // Alternating dwords of 0's and 1's    .INIT_18(256'h00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF),    .INIT_19(256'h00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF),    .INIT_1A(256'h00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF),    .INIT_1B(256'h00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF),    // Alternating dwords of 1's and 0's    .INIT_1C(256'hFFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000),    .INIT_1D(256'hFFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000),    .INIT_1E(256'hFFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000),    .INIT_1F(256'hFFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000),    // Incrementing bytes    .INIT_20(256'h0001020308090A0B1011121318191A1B2021222328292A2B3031323338393A3B),    .INIT_21(256'h4041424348494A4B5051525358595A5B6061626368696A6B7071727378797A7B),    .INIT_22(256'h8081828388898A8B9091929398999A9BA0A1A2A3A8A9AAABB0B1B2B3B8B9BABB),    .INIT_23(256'hC0C1C2C3C8C9CACBD0D1D2D3D8D9DADBE0E1E2E3E8E9EAEBF0F1F2F3F8F9FAFB),    // Incrementing dwords    .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),    // Decrementing bytes    .INIT_28(256'hFFFEFDFCF7F6F5F4EFEEEDECE7E6E5E4DFDEDDDCD7D6D5D4CFCECDCCC7C6C5C4),    .INIT_29(256'hBFBEBDBCB7B6B5B4AFAEADACA7A6A5A49F9E9D9C979695948F8E8D8C87868584),    .INIT_2A(256'h7F7E7D7C777675746F6E6D6C676665645F5E5D5C575655544F4E4D4C47464544),    .INIT_2B(256'h3F3E3D3C373635342F2E2D2C272625241F1E1D1C171615140F0E0D0C07060504),    // Decrementing dwords    .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),    // Random Data #1    .INIT_30(256'h40888BA10E82FB03102131AA6A65B7048B2927D64F4B4A3102131AA6A645ACFD),    .INIT_31(256'h7AD9B0660014D920876D1A3C3864C04A63FD41FF1BB79B4A310F7B7BB8F5D24A),    .INIT_32(256'h2B6A923ED08B8920E5CFEC97EB7015209C9EEE8D14C70480F69A24C1916C4880),    .INIT_33(256'hF9F973DFA353BC80AC3EBE1D53BA14801A355FDFED38C3004482EF8D40A54300),    // Random Data #2    .INIT_34(256'hFC28767E796E3800C93D200EAE38D0007CE423368056D00094935192586A1321),    .INIT_35(256'hE44049B62503D656E60909F7F2073031640611E4D37B8F3B2DCA845E70AF3171),    .INIT_36(256'hC0E5C09F37CE6792E479B612E12A10A548D99E92943DFE47F3989BF6972EAA49),    .INIT_37(256'h72497F5F50DCA3A8C03F35E38192F028680F84CDE62FB1B0576AB47AED8622B0),    // More incrementing dwords    .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000),    .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -