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

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

?? generic_dpram.v

?? vhdl實現的JPEG嘿嘿 嘿嘿圓圓嘿嘿另
?? 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一区二区三区免费野_久草精品视频
久久精品无码一区二区三区| 在线观看亚洲精品| 精品免费一区二区三区| 久久精品二区亚洲w码| 欧美一区二区三区的| 激情另类小说区图片区视频区| 日韩欧美国产一区二区在线播放| 久久精品国产色蜜蜜麻豆| 欧美大片一区二区| 国产精品996| 亚洲免费观看高清| 欧美美女直播网站| 国产伦精品一区二区三区在线观看| 国产人久久人人人人爽| 91视视频在线直接观看在线看网页在线看| 综合激情网...| 欧美精品 日韩| 国产不卡视频在线观看| 亚洲日本一区二区| 91精品久久久久久蜜臀| 成人亚洲精品久久久久软件| 一区二区三区中文免费| 3atv在线一区二区三区| 国产传媒一区在线| 亚洲妇熟xx妇色黄| 久久久亚洲精品一区二区三区 | 天天操天天干天天综合网| 日韩精品专区在线| 99久久精品国产麻豆演员表| 日韩中文字幕1| 中文字幕成人网| 欧美日韩亚洲高清一区二区| 国产精品996| 亚洲第一在线综合网站| 国产日韩亚洲欧美综合| 欧美丰满少妇xxxxx高潮对白 | 日韩理论片在线| 日韩一区二区电影| 色综合久久六月婷婷中文字幕| 麻豆91免费观看| 伊人一区二区三区| 久久九九国产精品| 日韩一区二区三区高清免费看看| 成人国产亚洲欧美成人综合网| 日av在线不卡| 一区二区三区高清| 国产精品国产精品国产专区不片| 日韩三区在线观看| 欧美日韩一区二区三区不卡| 国产尤物一区二区在线| 亚洲成人激情综合网| 欧美日韩色综合| av不卡在线观看| 日本va欧美va精品| 亚洲欧美韩国综合色| 91精品国产欧美一区二区成人| 国产馆精品极品| 亚洲国产视频a| 国产视频亚洲色图| 欧美一级片在线看| 91美女福利视频| 久久成人免费电影| 中文字幕在线一区| 精品三级在线看| 欧美吻胸吃奶大尺度电影 | 91麻豆国产精品久久| 精品亚洲免费视频| 午夜视频在线观看一区二区三区| 日韩一二三区视频| 欧美精品日韩综合在线| 9人人澡人人爽人人精品| 久久福利视频一区二区| 午夜伦理一区二区| 一级日本不卡的影视| 久久九九久久九九| 日韩欧美在线123| 欧美人妇做爰xxxⅹ性高电影| 不卡的av网站| 成人动漫一区二区三区| 成人禁用看黄a在线| 国产一区二区三区日韩| 美女高潮久久久| 日韩在线一区二区| 一区二区三区国产豹纹内裤在线 | 91精品国产高清一区二区三区蜜臀| av在线不卡电影| 成人午夜激情片| 成人国产一区二区三区精品| 国产成人高清在线| 国产成人午夜99999| 国产成人精品一区二区三区四区| 久久99精品久久久久久国产越南| 三级久久三级久久久| 亚洲欧美另类在线| 亚洲自拍偷拍九九九| 一区二区欧美在线观看| 综合自拍亚洲综合图不卡区| 中文字幕日本不卡| 亚洲靠逼com| 一片黄亚洲嫩模| 午夜精品一区二区三区三上悠亚| 亚洲国产精品一区二区久久| 亚洲成人免费影院| 亚洲欧美偷拍另类a∨色屁股| 日本一区二区成人| 国产精品久久久久9999吃药| 亚洲色大成网站www久久九九| 国产精品第一页第二页第三页| 国产精品家庭影院| 日韩一区在线看| 亚洲午夜精品久久久久久久久| 五月天国产精品| 麻豆高清免费国产一区| 国产乱子伦视频一区二区三区 | 欧美大片一区二区| 久久久久久99久久久精品网站| 国产日韩精品久久久| 亚洲色图另类专区| 爽爽淫人综合网网站| 黄网站免费久久| 99久久精品一区二区| www.色综合.com| 在线日韩av片| 欧美xxxxx牲另类人与| 亚洲国产高清在线| 夜夜爽夜夜爽精品视频| 美女任你摸久久| 国产黄人亚洲片| 色婷婷久久久久swag精品| 欧美亚洲日本国产| 久久久久久久久久久黄色| 国产精品人妖ts系列视频 | 亚洲色欲色欲www| 日本系列欧美系列| 丁香五精品蜜臀久久久久99网站| 91在线视频免费91| 日韩精品中文字幕在线一区| 久久九九99视频| 亚洲另类春色校园小说| 精彩视频一区二区| 色香蕉成人二区免费| 日韩视频不卡中文| 亚洲色欲色欲www| 偷拍一区二区三区| 国产乱码精品1区2区3区| 欧美午夜免费电影| 中文字幕精品三区| 美国三级日本三级久久99 | 国产精品一区在线观看乱码| 色噜噜偷拍精品综合在线| 精品国产免费久久| 一区二区三区四区不卡在线| 国产在线不卡一卡二卡三卡四卡| 99re热这里只有精品视频| 欧美乱熟臀69xxxxxx| 国产精品国产三级国产普通话三级 | 久久久精品免费观看| 亚洲综合一区二区精品导航| 成人妖精视频yjsp地址| 欧美一区二区久久| 亚洲一区二区三区小说| 久久99精品国产.久久久久| 91久久精品一区二区三区| 国产人久久人人人人爽| 麻豆精品一二三| 制服丝袜av成人在线看| 一区二区三区精品| 99re热这里只有精品免费视频| 久久久www成人免费毛片麻豆| 美女高潮久久久| 欧美一区二区三区白人| 天天色 色综合| 欧美日韩视频在线第一区| 国产精品久久久久一区| 99久久婷婷国产综合精品电影| 26uuu精品一区二区在线观看| 日韩av一级电影| 欧美一级生活片| 午夜影院久久久| 在线成人免费观看| 亚洲sss视频在线视频| 在线精品视频免费观看| 亚洲成av人片| 777a∨成人精品桃花网| 亚洲香肠在线观看| 欧美男女性生活在线直播观看| 亚洲主播在线观看| 欧美伦理视频网站| 奇米影视一区二区三区小说| 欧美一级黄色片| 国产在线一区二区综合免费视频| 2023国产一二三区日本精品2022| 免费观看一级特黄欧美大片| 日韩一区二区免费高清| 久草中文综合在线| 久久久久久久久久久黄色| 成人性生交大片免费看中文 | 免费亚洲电影在线| 欧美日韩精品欧美日韩精品一 | 亚洲精品国产品国语在线app|