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

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

?? generic_dpram.v

?? fpga based jpge 壓縮算法
?? 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一区二区三区免费野_久草精品视频
亚洲成av人片在线观看无码| 国产日韩欧美亚洲| 一区二区三区不卡视频在线观看| 成人美女在线观看| 国产精品剧情在线亚洲| 91同城在线观看| 亚洲午夜免费电影| 日韩一级高清毛片| 老司机精品视频线观看86| 亚洲视频在线一区观看| 91在线观看成人| 亚洲mv在线观看| 精品成人私密视频| 成人动漫一区二区在线| 亚洲福中文字幕伊人影院| 69堂精品视频| 国产精品一二三在| 日韩理论片一区二区| 欧美日韩高清不卡| 国产一区二区调教| 亚洲美女免费在线| 日韩欧美专区在线| 99热在这里有精品免费| 亚洲午夜电影在线| 精品国产凹凸成av人导航| 99久久婷婷国产精品综合| 亚欧色一区w666天堂| 久久久一区二区三区捆绑**| 91色婷婷久久久久合中文| 蜜桃视频在线一区| 亚洲欧美国产高清| 26uuu色噜噜精品一区二区| 色香蕉久久蜜桃| 国产一区91精品张津瑜| 亚洲综合色自拍一区| 久久久亚洲精品石原莉奈| 在线观看日产精品| 国产91在线观看丝袜| 日韩精品电影在线观看| 最新国产精品久久精品| 精品久久五月天| 色欧美日韩亚洲| 国产成人超碰人人澡人人澡| 香蕉影视欧美成人| 最新国产の精品合集bt伙计| 欧美电影免费观看高清完整版| 色吊一区二区三区| 国产成人在线视频网站| 色8久久人人97超碰香蕉987| 激情深爱一区二区| 亚洲成人久久影院| 亚洲老妇xxxxxx| 亚洲国产精品传媒在线观看| 欧美一区2区视频在线观看| 色哟哟一区二区在线观看| 国产盗摄女厕一区二区三区| 麻豆精品一区二区三区| 爽爽淫人综合网网站| 亚洲激情av在线| 国产精品日产欧美久久久久| 精品久久久久久久久久久久久久久久久| 91福利在线导航| 99国内精品久久| 国产成人综合网| 韩国欧美国产一区| 韩国毛片一区二区三区| 久久成人综合网| 精品在线播放免费| 麻豆91免费观看| 美国十次综合导航| 日韩va欧美va亚洲va久久| 亚洲成人av福利| 亚洲成人精品一区二区| 亚洲国产综合色| 亚洲午夜免费福利视频| 亚洲一卡二卡三卡四卡五卡| 一区二区三区精密机械公司| 亚洲综合一二区| 亚洲成人综合网站| 丝袜国产日韩另类美女| 日本午夜一区二区| 久久国产生活片100| 欧美在线看片a免费观看| 99精品一区二区| 一本久久精品一区二区| 色欧美乱欧美15图片| 在线观看一区二区精品视频| 欧美午夜在线观看| 欧美群妇大交群中文字幕| 日韩一区二区三区视频在线| 欧美大尺度电影在线| 国产欧美精品一区aⅴ影院| 国产日韩欧美激情| 亚洲免费在线看| 水蜜桃久久夜色精品一区的特点| 久久国产生活片100| 国产精一品亚洲二区在线视频| 成人深夜视频在线观看| 91久久奴性调教| 日韩写真欧美这视频| 久久久久久久综合日本| 亚洲欧美综合另类在线卡通| 一区二区高清免费观看影视大全 | 亚洲欧洲综合另类| 亚洲国产精品一区二区尤物区| 天堂久久久久va久久久久| 久久91精品国产91久久小草| 国产91综合一区在线观看| 色婷婷精品久久二区二区蜜臀av| 欧美日本精品一区二区三区| 2017欧美狠狠色| 亚洲一区二区三区爽爽爽爽爽| 青青青伊人色综合久久| 成人的网站免费观看| 欧美久久久一区| 国产精品天天看| 亚洲成人在线网站| 国产精品亚洲成人| 欧美日韩一区 二区 三区 久久精品| 日韩网站在线看片你懂的| 亚洲欧美影音先锋| 久久91精品国产91久久小草| 色哟哟一区二区| 久久品道一品道久久精品| 亚洲福利国产精品| 成人精品小蝌蚪| 日韩欧美久久一区| 亚洲猫色日本管| 国产91精品在线观看| 欧美一区二区私人影院日本| 成人免费在线播放视频| 国产综合色产在线精品| 欧美日本在线播放| 亚洲精品水蜜桃| 懂色中文一区二区在线播放| 日韩欧美一二区| 亚洲mv大片欧洲mv大片精品| jlzzjlzz欧美大全| 久久综合丝袜日本网| 日韩av不卡一区二区| 欧美综合久久久| 亚洲视频综合在线| 成人黄色综合网站| 国产日产精品一区| 国内久久精品视频| 欧美一级二级在线观看| 亚洲综合激情小说| 91日韩在线专区| 国产精品免费av| 成人免费观看视频| 国产视频视频一区| 韩国女主播一区| 精品日产卡一卡二卡麻豆| 日韩高清不卡一区二区| 欧美日韩一区不卡| 亚洲一级二级在线| 欧美午夜一区二区| 亚洲一区在线观看免费观看电影高清| 成人网在线播放| 国产精品无码永久免费888| 国产成人综合网站| 国产欧美精品日韩区二区麻豆天美| 精品一区二区三区免费| 欧美va在线播放| 极品少妇xxxx偷拍精品少妇| 日韩欧美国产精品一区| 美女视频一区在线观看| 日韩欧美色综合网站| 极品少妇xxxx精品少妇偷拍| 精品日韩99亚洲| 国产999精品久久久久久 | 欧美激情在线看| 国产精品一区在线| 欧美极品aⅴ影院| caoporn国产一区二区| 亚洲区小说区图片区qvod| 欧洲中文字幕精品| 手机精品视频在线观看| 日韩午夜在线观看| 国内外成人在线视频| 中文字幕乱码亚洲精品一区| 97se狠狠狠综合亚洲狠狠| 亚洲综合图片区| 在线综合视频播放| 国产在线播放一区| 中文字幕色av一区二区三区| 91福利社在线观看| 免费成人在线播放| 国产欧美日韩综合精品一区二区| 成人黄色av电影| 亚洲综合在线视频| 精品三级在线看| 91在线免费看| 日韩电影在线一区| 国产日韩欧美一区二区三区综合| 91女厕偷拍女厕偷拍高清| 天堂va蜜桃一区二区三区| 久久视频一区二区| 色8久久精品久久久久久蜜| 青青草97国产精品免费观看无弹窗版 |