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

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

?? generic_dpram.v

?? FPGA實現jpeg Verilog源代碼
?? V
字號:
//////////////////////////////////////////////////////////////////////////                                                              ////////  Generic Dual-Port Synchronous RAM                           ////////                                                              ////////  This file is part of memory library available from          ////////  http://www.opencores.org/cvsweb.shtml/generic_memories/     ////////                                                              ////////  Description                                                 ////////  This block is a wrapper with common dual-port               ////////  synchronous memory interface for different                  ////////  types of ASIC and FPGA RAMs. Beside universal memory        ////////  interface it also provides behavioral model of generic      ////////  dual-port synchronous RAM.                                  ////////  It also contains a fully synthesizeable model for FPGAs.    ////////  It should be used in all OPENCORES designs that want to be  ////////  portable accross different target technologies and          ////////  independent of target memory.                               ////////                                                              ////////  Supported ASIC RAMs are:                                    ////////  - Artisan Dual-Port Sync RAM                                ////////  - Avant! Two-Port Sync RAM (*)                              ////////  - Virage 2-port Sync RAM                                    ////////                                                              ////////  Supported FPGA RAMs are:                                    ////////  - Generic FPGA (VENDOR_FPGA)                                ////////    Tested RAMs: Altera, Xilinx                               ////////    Synthesis tools: LeonardoSpectrum, Synplicity             ////////  - Xilinx (VENDOR_XILINX)                                    ////////  - Altera (VENDOR_ALTERA)                                    ////////                                                              ////////  To Do:                                                      ////////   - fix Avant!                                               ////////   - add additional RAMs (VS etc)                             ////////                                                              ////////  Author(s):                                                  ////////      - Richard Herveille, richard@asics.ws                   ////////      - Damjan Lampret, lampret@opencores.org                 ////////                                                              //////////////////////////////////////////////////////////////////////////////                                                              //////// Copyright (C) 2000 Authors and OPENCORES.ORG                 ////////                                                              //////// This source file may be used and distributed without         //////// restriction provided that this copyright statement is not    //////// removed from the file and that any derivative work contains  //////// the original copyright notice and the associated disclaimer. ////////                                                              //////// This source file is free software; you can redistribute it   //////// and/or modify it under the terms of the GNU Lesser General   //////// Public License as published by the Free Software Foundation; //////// either version 2.1 of the License, or (at your option) any   //////// later version.                                               ////////                                                              //////// This source is distributed in the hope that it will be       //////// useful, but WITHOUT ANY WARRANTY; without even the implied   //////// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //////// PURPOSE.  See the GNU Lesser General Public License for more //////// details.                                                     ////////                                                              //////// You should have received a copy of the GNU Lesser General    //////// Public License along with this source; if not, download it   //////// from http://www.opencores.org/lgpl.shtml                     ////////                                                              ////////////////////////////////////////////////////////////////////////////// CVS Revision History//// $Log: generic_dpram.v,v $// Revision 1.1  2002/10/29 20:05:40  rherveille// Initial release Huffman Encoder/Decoder testbench//// Revision 1.4  2002/09/28 08:18:52  rherveille// Changed synthesizeable FPGA memory implementation.// Fixed some issues with Xilinx BlockRAM//// Revision 1.3  2001/11/09 00:34:18  samg// minor changes: unified with all common rams//// Revision 1.2  2001/11/08 19:11:31  samg// added valid checks to behvioral model//// Revision 1.1.1.1  2001/09/14 09:57:10  rherveille// Major cleanup.// Files are now compliant to Altera & Xilinx memories.// Memories are now compatible, i.e. drop-in replacements.// Added synthesizeable generic FPGA description.// Created "generic_memories" cvs entry.//// Revision 1.1.1.2  2001/08/21 13:09:27  damjan// *** empty log message ***//// Revision 1.1  2001/08/20 18:23:20  damjan// Initial revision//// Revision 1.1  2001/08/09 13:39:33  lampret// Major clean-up.//// Revision 1.2  2001/07/30 05:38:02  lampret// Adding empty directories required by HDL coding guidelines//////`include "timescale.v"`define VENDOR_FPGA//`define VENDOR_XILINX//`define VENDOR_ALTERAmodule generic_dpram(	// Generic synchronous dual-port RAM interface	rclk, rrst, rce, oe, raddr, do,	wclk, wrst, wce, we, waddr, di);	//	// Default address and data buses width	//	parameter aw = 5;  // number of bits in address-bus	parameter dw = 16; // number of bits in data-bus	//	// Generic synchronous double-port RAM interface	//	// read port	input           rclk;  // read clock, rising edge trigger	input           rrst;  // read port reset, active high	input           rce;   // read port chip enable, active high	input           oe;	   // output enable, active high	input  [aw-1:0] raddr; // read address	output [dw-1:0] do;    // data output	// write port	input          wclk;  // write clock, rising edge trigger	input          wrst;  // write port reset, active high	input          wce;   // write port chip enable, active high	input          we;    // write enable, active high	input [aw-1:0] waddr; // write address	input [dw-1:0] di;    // data input	//	// Module body	//`ifdef VENDOR_FPGA	//	// Instantiation synthesizeable FPGA memory	//	// This code has been tested using LeonardoSpectrum and Synplicity.	// The code correctly instantiates Altera EABs and Xilinx BlockRAMs.	//	// NOTE:	// 'syn_ramstyle="block_ram"' is a Synplify attribute.	// It instructs Synplify to map to BlockRAMs instead of the default SelectRAMs	// Altera: "block_ram" only	// Xilinx: "block_ram" Virtex/Virtex-E (and spartan series) dedicated BlockRAMs	//         "no_rw_check" avoid generating additional glue logic for dual-port rams	//         "select_ram" use distributed memory	//	// "no_rw_check": For Xilinx devices reading and writing to the same address might	// yield incorrectread data. Use "no_rw_check" when you register the outputs, or when	// you don't care about a read/write check	// TODO: Insert Verilog 2001 code to automatically select the implementation style//	reg [dw-1:0] mem [(1<<aw) -1:0] /* synthesis syn_ramstyle="block_ram" */;	reg [dw-1:0] mem [(1<<aw) -1:0] /* synthesis syn_ramstyle="no_rw_check" */;//	reg [dw-1:0] mem [(1<<aw) -1:0] /* synthesis syn_ramstyle="select_ram" */;	reg [aw-1:0] ra;                // register read address	// read operation	always @(posedge rclk)	  if (rce)	    ra <= #1 raddr;	assign do = mem[ra];	// write operation	always @(posedge wclk)	  if (we && wce)	    mem[waddr] <= #1 di;`else`ifdef VENDOR_XILINX	//	// Instantiation of FPGA memory:	//	// Virtex/Spartan2 BlockRAMs	//	xilinx_ram_dp xilinx_ram(		// read port		.CLKA(rclk),		.RSTA(rrst),		.ENA(rce),		.ADDRA(raddr),		.DIA( {dw{1'b0}} ),		.WEA(1'b0),		.DOA(do),		// write port		.CLKB(wclk),		.RSTB(wrst),		.ENB(wce),		.ADDRB(waddr),		.DIB(di),		.WEB(we),		.DOB()	);	defparam		xilinx_ram.dwidth = dw,		xilinx_ram.awidth = aw;`else`ifdef VENDOR_ALTERA	//	// Instantiation of FPGA memory:	//	// Altera FLEX/APEX EABs	//	altera_ram_dp altera_ram(		// read port		.rdclock(rclk),		.rdclocken(rce),		.rdaddress(raddr),		.q(do),		// write port		.wrclock(wclk),		.wrclocken(wce),		.wren(we),		.wraddress(waddr),		.data(di)	);	defparam		altera_ram.dwidth = dw,		altera_ram.awidth = aw;`else`ifdef VENDOR_ARTISAN	//	// Instantiation of ASIC memory:	//	// Artisan Synchronous Double-Port RAM (ra2sh)	//	art_hsdp #(dw, 1<<aw, aw) artisan_sdp(		// read port		.qa(do),		.clka(rclk),		.cena(~rce),		.wena(1'b1),		.aa(raddr),		.da( {dw{1'b0}} ),		.oena(~oe),		// write port		.qb(),		.clkb(wclk),		.cenb(~wce),		.wenb(~we),		.ab(waddr),		.db(di),		.oenb(1'b1)	);`else`ifdef VENDOR_AVANT	//	// Instantiation of ASIC memory:	//	// Avant! Asynchronous Two-Port RAM	//	avant_atp avant_atp(		.web(~we),		.reb(),		.oeb(~oe),		.rcsb(),		.wcsb(),		.ra(raddr),		.wa(waddr),		.di(di),		.do(do)	);`else`ifdef VENDOR_VIRAGE	//	// Instantiation of ASIC memory:	//	// Virage Synchronous 2-port R/W RAM	//	virage_stp virage_stp(		// read port		.CLKA(rclk),		.MEA(rce_a),		.ADRA(raddr),		.DA( {dw{1'b0}} ),		.WEA(1'b0),		.OEA(oe),		.QA(do),		// write port		.CLKB(wclk),		.MEB(wce),		.ADRB(waddr),		.DB(di),		.WEB(we),		.OEB(1'b1),		.QB()	);`else	//	// Generic dual-port synchronous RAM model	//	//	// Generic RAM's registers and wires	//	reg	[dw-1:0]	mem [(1<<aw)-1:0]; // RAM content	reg	[dw-1:0]	do_reg;            // RAM data output register	//	// Data output drivers	//	assign do = (oe & rce) ? do_reg : {dw{1'bz}};	// read operation	always @(posedge rclk)		if (rce)          		do_reg <= #1 (we && (waddr==raddr)) ? {dw{1'b x}} : mem[raddr];	// write operation	always @(posedge wclk)		if (wce && we)			mem[waddr] <= #1 di;	// Task prints range of memory	// *** Remember that tasks are non reentrant, don't call this task in parallel for multiple instantiations.	task print_ram;	input [aw-1:0] start;	input [aw-1:0] finish;	integer rnum;  	begin    		for (rnum=start;rnum<=finish;rnum=rnum+1)      			$display("Addr %h = %h",rnum,mem[rnum]);  	end	endtask`endif // !VENDOR_VIRAGE`endif // !VENDOR_AVANT`endif // !VENDOR_ARTISAN`endif // !VENDOR_ALTERA`endif // !VENDOR_XILINX`endif // !VENDOR_FPGAendmodule//// Black-box modules//`ifdef VENDOR_ALTERA	module altera_ram_dp(		data,		wraddress,		rdaddress,		wren,		wrclock,		wrclocken,		rdclock,		rdclocken,		q) /* synthesis black_box */;		parameter awidth = 7;		parameter dwidth = 8;		input [dwidth -1:0] data;		input [awidth -1:0] wraddress;		input [awidth -1:0] rdaddress;		input               wren;		input               wrclock;		input               wrclocken;		input               rdclock;		input               rdclocken;		output [dwidth -1:0] q;		// synopsis translate_off		// exemplar translate_off		syn_dpram_rowr #(			"UNUSED",			dwidth,			awidth,			1 << awidth		)		altera_dpram_model (			// read port			.RdClock(rdclock),			.RdClken(rdclocken),			.RdAddress(rdaddress),			.RdEn(1'b1),			.Q(q),			// write port			.WrClock(wrclock),			.WrClken(wrclocken),			.WrAddress(wraddress),			.WrEn(wren),			.Data(data)		);		// exemplar translate_on		// synopsis translate_on	endmodule`endif // VENDOR_ALTERA`ifdef VENDOR_XILINX	module xilinx_ram_dp (		ADDRA,		CLKA,		ADDRB,		CLKB,		DIA,		WEA,		DIB,		WEB,		ENA,		ENB,		RSTA,		RSTB,		DOA,		DOB) /* synthesis black_box */ ;	parameter awidth = 7;	parameter dwidth = 8;	// port_a	input               CLKA;	input               RSTA;	input               ENA;	input [awidth-1:0]  ADDRA;	input [dwidth-1:0]  DIA;	input               WEA;	output [dwidth-1:0] DOA;	// port_b	input               CLKB;	input               RSTB;	input               ENB;	input [awidth-1:0]  ADDRB;	input [dwidth-1:0]  DIB;	input               WEB;	output [dwidth-1:0] DOB;	// insert simulation model	// synopsys translate_off	// exemplar translate_off	C_MEM_DP_BLOCK_V1_0 #(		awidth,		awidth,		1,		1,		"0",		1 << awidth,		1 << awidth,		1,		1,		1,		1,		1,		1,		1,		1,		1,		1,		1,		1,		1,		"",		16,		0,		0,		1,		1,		1,		1,		dwidth,		dwidth)	xilinx_dpram_model (		.ADDRA(ADDRA),		.CLKA(CLKA),		.ADDRB(ADDRB),		.CLKB(CLKB),		.DIA(DIA),		.WEA(WEA),		.DIB(DIB),		.WEB(WEB),		.ENA(ENA),		.ENB(ENB),		.RSTA(RSTA),		.RSTB(RSTB),		.DOA(DOA),		.DOB(DOB));		// exemplar translate_on		// synopsys translate_on	endmodule`endif // VENDOR_XILINX

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
**网站欧美大片在线观看| 免费在线观看视频一区| 亚洲成人免费看| 99精品一区二区| 国产成人免费在线观看不卡| 国产午夜亚洲精品羞羞网站| 欧美一区三区二区| 色婷婷精品大视频在线蜜桃视频| 开心九九激情九九欧美日韩精美视频电影 | 夜色激情一区二区| 久久亚洲综合av| 亚洲黄一区二区三区| 精品成人a区在线观看| 亚洲一区视频在线| 99精品久久只有精品| 91精品国产日韩91久久久久久| 亚洲欧洲另类国产综合| 青青草国产成人99久久| 丁香激情综合国产| 欧美人与z0zoxxxx视频| 精品少妇一区二区三区在线视频| 欧美乱妇20p| 精品国产sm最大网站| 亚洲男人都懂的| 国产91丝袜在线18| 一本到高清视频免费精品| 在线观看日韩一区| 欧美日产国产精品| 久久久亚洲欧洲日产国码αv| 91精品国产aⅴ一区二区| 色8久久人人97超碰香蕉987| 在线中文字幕一区二区| 欧美久久久久中文字幕| 欧美一区二区视频观看视频| 丝袜亚洲精品中文字幕一区| 成人精品免费网站| 国产视频一区二区在线| 午夜国产精品一区| 日本道色综合久久| 国产精品免费人成网站| 在线播放日韩导航| 久久―日本道色综合久久| 国产亚洲精品bt天堂精选| 欧美在线不卡一区| 91在线国产观看| 99视频在线观看一区三区| 国产偷v国产偷v亚洲高清| 看国产成人h片视频| 日韩欧美亚洲一区二区| 成人丝袜视频网| 亚洲婷婷综合色高清在线| 97精品电影院| 久久国产精品72免费观看| 国产精品天干天干在线综合| 欧美日韩一区二区三区视频 | 色爱区综合激月婷婷| 五月婷婷色综合| 国产精品久线在线观看| 91精品国产欧美一区二区成人| 国产大陆精品国产| 日韩专区欧美专区| 中文字幕一区二区三区不卡在线| 欧美日韩国产a| 成人永久免费视频| 青青草国产精品亚洲专区无| 亚洲少妇中出一区| 久久精品欧美日韩精品| 5566中文字幕一区二区电影| 大桥未久av一区二区三区中文| 理论电影国产精品| 香蕉久久一区二区不卡无毒影院 | 91麻豆高清视频| 国产呦精品一区二区三区网站| 亚洲一区在线视频| 国产精品视频麻豆| 久久免费看少妇高潮| 日韩精品中文字幕一区| 欧美日韩日日夜夜| 色久综合一二码| 高清成人在线观看| 国产乱码精品一区二区三 | 欧美aaaaa成人免费观看视频| 一级特黄大欧美久久久| 欧美性色aⅴ视频一区日韩精品| 成人高清视频在线| 精品影院一区二区久久久| 日韩一区欧美二区| 色欧美片视频在线观看| 成人午夜电影网站| 捆绑调教一区二区三区| 午夜婷婷国产麻豆精品| 亚洲一区二区精品3399| 久久成人免费日本黄色| 亚洲伦在线观看| 国产日韩欧美在线一区| 欧美精品一区男女天堂| 欧美日韩日本视频| 99久久99久久久精品齐齐| 久久精品国产澳门| 亚洲蜜桃精久久久久久久| 亚洲同性gay激情无套| 国产午夜亚洲精品不卡| 欧美一级国产精品| 欧美浪妇xxxx高跟鞋交| 国产乱人伦偷精品视频免下载| 一区二区三区小说| 国产精品理论片在线观看| 欧美三级电影在线观看| 91免费看视频| 成人伦理片在线| 99r国产精品| eeuss鲁一区二区三区| 亚洲国产日韩精品| 一区二区理论电影在线观看| 裸体健美xxxx欧美裸体表演| 亚洲123区在线观看| 亚洲尤物视频在线| 国产一区二区影院| 成人激情开心网| 国内外精品视频| 97成人超碰视| 久久久久久综合| 欧美精彩视频一区二区三区| 韩国av一区二区| 欧美人体做爰大胆视频| 欧美精品一区在线观看| 国模一区二区三区白浆| 国产成人免费在线| 91免费看视频| 555夜色666亚洲国产免| 国产精品久久久99| 亚洲二区在线视频| 国产一区二区在线观看视频| 成人精品国产一区二区4080| 欧美色涩在线第一页| 日韩精品一区二区三区视频在线观看| 国产网站一区二区三区| 一区二区三区在线高清| 黄色资源网久久资源365| 99久久99久久综合| 欧美大胆人体bbbb| 亚洲日本在线观看| 免费人成精品欧美精品| 97成人超碰视| 在线成人高清不卡| 综合网在线视频| 精品一区二区在线观看| 日本高清不卡aⅴ免费网站| 日韩你懂的在线观看| 亚洲精品欧美专区| 国产精品一区不卡| 欧美一级免费大片| 亚洲欧洲性图库| 狠狠色丁香久久婷婷综合丁香| 在线国产电影不卡| 中文字幕日韩av资源站| 蜜芽一区二区三区| 在线免费一区三区| 精品对白一区国产伦| 国产日韩在线不卡| 精品影院一区二区久久久| 欧美日韩美少妇| 亚洲欧洲国产日韩| 国产成人精品网址| 91精品国产免费| 一级中文字幕一区二区| 99精品视频一区二区| 国产欧美一区二区精品久导航| 免费高清成人在线| 欧美日韩dvd在线观看| 亚洲欧洲制服丝袜| 99精品国产99久久久久久白柏| 国产日本一区二区| 国产一区二区视频在线播放| 欧美三级韩国三级日本一级| 国产精品传媒在线| 99精品久久只有精品| 中文字幕一区三区| 99久久久无码国产精品| 香蕉加勒比综合久久| 一本一道波多野结衣一区二区| 精品国产免费久久| 青娱乐精品视频| 欧美一卡二卡在线观看| 日本特黄久久久高潮| 日韩区在线观看| 久久99国产精品久久| 久久精品一区二区| 丁香激情综合五月| ...av二区三区久久精品| 91麻豆成人久久精品二区三区| 中文字幕日韩av资源站| 91麻豆6部合集magnet| 亚洲美女淫视频| 欧美一区二区不卡视频| 国产制服丝袜一区| 亚洲色图一区二区三区| 日本韩国一区二区三区视频| 天天影视网天天综合色在线播放| 欧美丰满少妇xxxxx高潮对白|