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

📄 pci_wb_tpram.v

📁 PCI-master的核
💻 V
📖 第 1 页 / 共 3 页
字号:
        	.QB(do_b),        	.CLKB(clk_b),        	.CENB(~ce_b),        	.WENB(~we_b),        	.AB(addr_b),        	.DB(di_b),        	.OENB(~oe_b),          .mbist_si_i   (mbist_si_i),          .mbist_so_o   (mbist_so_o),          .mbist_ctrl_i   (mbist_ctrl_i)        );    `else        art_hsdp_64x40 /*#(dw, 1&lt;&lt;aw, aw) */ artisan_sdp        (        	.QA(do_a),        	.CLKA(clk_a),        	.CENA(~ce_a),        	.WENA(~we_a),        	.AA(addr_a),        	.DA(di_a),        	.OENA(~oe_a),        	.QB(do_b),        	.CLKB(clk_b),        	.CENB(~ce_b),        	.WENB(~we_b),        	.AB(addr_b),        	.DB(di_b),        	.OENB(~oe_b)        );    `endif`endif`ifdef AVANT_ATP    `define PCI_WB_RAM_SELECTED    //    // Instantiation of ASIC memory:    //    // Avant! Asynchronous Two-Port RAM    //    avant_atp avant_atp(    	.web(~we),    	.reb(),    	.oeb(~oe),    	.rcsb(),    	.wcsb(),    	.ra(addr),    	.wa(addr),    	.di(di),    	.do(do)    );`endif`ifdef VIRAGE_STP    `define PCI_WB_RAM_SELECTED    //    // Instantiation of ASIC memory:    //    // Virage Synchronous 2-port R/W RAM    //    virage_stp virage_stp(    	.QA(do_a),    	.QB(do_b),    	.ADRA(addr_a),    	.DA(di_a),    	.WEA(we_a),    	.OEA(oe_a),    	.MEA(ce_a),    	.CLKA(clk_a),    	.ADRB(adr_b),    	.DB(di_b),    	.WEB(we_b),    	.OEB(oe_b),    	.MEB(ce_b),    	.CLKB(clk_b)    );`endif`ifdef WB_XILINX_DIST_RAM    `define PCI_WB_RAM_SELECTED    reg [(aw-1):0] out_address ;    always@(posedge clk_b or posedge rst_b)    begin        if ( rst_b )            out_address &lt;= #1 0 ;        else if (ce_b)            out_address &lt;= #1 addr_b ;    end    pci_ram_16x40d #(aw) wb_distributed_ram    (        .data_out       (do_b),        .we             (we_a),        .data_in        (di_a),        .read_address   (out_address),        .write_address  (addr_a),        .wclk           (clk_a)    );    assign do_a = 0 ;`endif`ifdef WB_XILINX_RAMB4    `define PCI_WB_RAM_SELECTED    //    // Instantiation of FPGA memory:    //    // Virtex/Spartan2    //    //    // Block 0    //    RAMB4_S16_S16 ramb4_s16_s16_0(    	.CLKA(clk_a),    	.RSTA(rst_a),    	.ADDRA(addr_a),    	.DIA(di_a[15:0]),    	.ENA(ce_a),    	.WEA(we_a),    	.DOA(do_a[15:0]),    	.CLKB(clk_b),    	.RSTB(rst_b),    	.ADDRB(addr_b),    	.DIB(di_b[15:0]),    	.ENB(ce_b),    	.WEB(we_b),    	.DOB(do_b[15:0])    );    //    // Block 1    //    RAMB4_S16_S16 ramb4_s16_s16_1(    	.CLKA(clk_a),    	.RSTA(rst_a),    	.ADDRA(addr_a),    	.DIA(di_a[31:16]),    	.ENA(ce_a),    	.WEA(we_a),    	.DOA(do_a[31:16]),    	.CLKB(clk_b),    	.RSTB(rst_b),    	.ADDRB(addr_b),    	.DIB(di_b[31:16]),    	.ENB(ce_b),    	.WEB(we_b),    	.DOB(do_b[31:16])    );    //    // Block 2    //    // block ram2 wires - non generic width of block rams    wire [15:0] blk2_di_a = {8'h00, di_a[39:32]} ;    wire [15:0] blk2_di_b = {8'h00, di_b[39:32]} ;    wire [15:0] blk2_do_a ;    wire [15:0] blk2_do_b ;    assign do_a[39:32] = blk2_do_a[7:0] ;    assign do_b[39:32] = blk2_do_b[7:0] ;    RAMB4_S16_S16 ramb4_s16_s16_2(            .CLKA(clk_a),            .RSTA(rst_a),            .ADDRA(addr_a),            .DIA(blk2_di_a),            .ENA(ce_a),            .WEA(we_a),            .DOA(blk2_do_a),            .CLKB(clk_b),            .RSTB(rst_b),            .ADDRB(addr_b),            .DIB(blk2_di_b),            .ENB(ce_b),            .WEB(we_b),            .DOB(blk2_do_b)    );`endif`ifdef PCI_WB_RAM_SELECTED`else    //    // Generic two-port synchronous RAM model    //    //    // Generic RAM's registers and wires    //    reg	[dw-1:0]	mem [(1&lt;&lt;aw)-1:0];	// RAM content    reg	[dw-1:0]	do_reg_b;		// RAM data output register    //    // Data output drivers    //    assign do_a = {dw{1'b0}}    ;    assign do_b = do_reg_b      ;    //    // RAM read and write    //    always @(posedge clk_a)    	if (ce_a &amp;&amp; we_a)    		mem[addr_a] &lt;= #1 di_a;    //    // RAM read and write    //    always @(posedge clk_b)    	if (ce_b)    		do_reg_b &lt;= #1 mem[addr_b];`endif// synopsys translate_offinitialbegin    if (dw !== 40)    begin        $display(&quot;RAM instantiation error! Expected RAM width %d, actual %h!&quot;, 40, dw) ;        $finish ;    end    `ifdef XILINX_RAMB4        if (aw !== 8)        begin            $display(&quot;RAM instantiation error! Expected RAM address width %d, actual %h!&quot;, 40, aw) ;            $finish ;        end    `endif    // currenlty only artisan ram of depth 256 is supported - they don't provide generic ram models    `ifdef ARTISAN_SDP        if (aw !== 8)        begin            $display(&quot;RAM instantiation error! Expected RAM address width %d, actual %h!&quot;, 40, aw) ;            $finish ;        end    `endifend// synopsys translate_onendmodule</pre><hr /><address><span style="font-size: smaller">FreeBSD-CVSweb &lt;<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>&gt;</span></address></body></html><!-- pf_body_end --></td><td><img width=15 src="/images/dotty.gif"></td></tr></table><xcenter><p><table width=100% cellpadding=0 cellspacing=0 border=0>      <tr><td align=right valign=bottom><a title='Top' href='#top'><img border=0 alt='Top' src='/images/hr_up.gif'></a></td></tr>      <tr><td background='/images/hpd.gif'><img height=1 border=0 src='/images/dotty.gif'></td></tr><tr><td height=4><img height=4 src='/images/dotty.gif'></td></tr></table>&nbsp;<br><!--<table border=0 cellpadding=0 cellspacing=1 bgcolor=#ffffff><tr><td><table cellpadding=0 cellspacing=0 border=0 bgcolor=#ffffff><tr><td>//--><script type="text/javascript"><!--google_ad_client = "pub-9285819221080148";google_alternate_color = "FFFFFF";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="3034172958";google_color_border = "ffffff";google_color_bg = "ffffff";google_color_link = "444488";google_color_url = "b00000";google_color_text = "666666";//--></script><script type="text/javascript"  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><!--</td></tr></table></td></tr></table>//--></center><img border=0 src="/images/dotty.gif" height=1 width=400><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30><img border=0 src="/images/dotty.gif" height=1 width=30></td></tr></table>&nbsp;</td></tr><tr bgcolor=#000000><td><img height=1 src="/images/dotty.gif"></td></tr></table><table background="/images/topbg.gif" width=100% cellpadding=0 cellspacing=0 border=0 bgcolor=#aaddff><tr><td align=right>Copyright (c) 1999-2007 OPENCORES.ORG. All rights reserved. &nbsp;</td></tr><tr><td>&nbsp;</td></tr></table></td><td width=1 bgcolor=#000000><img width=1 src="/images/dotty.gif"></td><td width=1 bgcolor=#f0f0c8><img width=1 src="/images/dotty.gif"></td></tr></table></center><!-- pf_footer_start -->  </body></html><!-- pf_footer_end -->

⌨️ 快捷键说明

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