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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vga_fifo.v

?? USB_I2C_MAC_FPGA_Code.rar
?? V
字號(hào):

//synopsys translate_off
`include "timescale.v"
//synopsys translate_on


// set FIFO_RW_CHECK to prevent writing to a full and reading from an empty FIFO
//`define FIFO_RW_CHECK

// Long Pseudo Random Generators can generate (N^2 -1) combinations. This means
// 1 FIFO entry is unavailable. This might be a problem, especially for small
// FIFOs. Setting VGA_FIFO_ALL_ENTRIES creates additional logic that ensures that
// all FIFO entries are used at the expense of some additional logic.
`define VGA_FIFO_ALL_ENTRIES

module vga_fifo (
	clk,
	aclr,
	sclr,
	wreq,
	rreq,
	d,
	q,
	nword,
	empty,
	full,
	aempty,
	afull
	);

	//
	// parameters
	//
	parameter aw =  3;                         // no.of entries (in bits; 2^7=128 entries)
	parameter dw =  8;                         // datawidth (in bits)

	//
	// inputs & outputs
	//
	input             clk;                     // master clock
	input             aclr;                    // asynchronous active low reset
	input             sclr;                    // synchronous active high reset

	input             wreq;                    // write request
	input             rreq;                    // read request
	input  [dw:1]     d;                       // data-input
	output [dw:1]     q;                       // data-output

	output [aw:1]     nword;                   // number of words in FIFO

	output            empty;                   // fifo empty
	output            full;                    // fifo full

	output            aempty;                  // fifo asynchronous/almost empty (1 entry left)
	output            afull;                   // fifo asynchronous/almost full (1 entry left)

	reg [aw:1] nword;
	reg        empty, full;

	//
	// Module body
	//
	reg  [aw:1] rp, wp;
	wire [dw:1] ramq;
	wire fwreq, frreq;

`ifdef VGA_FIFO_ALL_ENTRIES
	function lsb;
	   input [aw:1] q;
	   case (aw)
	       2: lsb = ~q[2];
	       3: lsb = &q[aw-1:1] ^ ~(q[3] ^ q[2]);
	       4: lsb = &q[aw-1:1] ^ ~(q[4] ^ q[3]);
	       5: lsb = &q[aw-1:1] ^ ~(q[5] ^ q[3]);
	       6: lsb = &q[aw-1:1] ^ ~(q[6] ^ q[5]);
	       7: lsb = &q[aw-1:1] ^ ~(q[7] ^ q[6]);
	       8: lsb = &q[aw-1:1] ^ ~(q[8] ^ q[6] ^ q[5] ^ q[4]);
	       9: lsb = &q[aw-1:1] ^ ~(q[9] ^ q[5]);
	      10: lsb = &q[aw-1:1] ^ ~(q[10] ^ q[7]);
	      11: lsb = &q[aw-1:1] ^ ~(q[11] ^ q[9]);
	      12: lsb = &q[aw-1:1] ^ ~(q[12] ^ q[6] ^ q[4] ^ q[1]);
	      13: lsb = &q[aw-1:1] ^ ~(q[13] ^ q[4] ^ q[3] ^ q[1]);
	      14: lsb = &q[aw-1:1] ^ ~(q[14] ^ q[5] ^ q[3] ^ q[1]);
	      15: lsb = &q[aw-1:1] ^ ~(q[15] ^ q[14]);
	      16: lsb = &q[aw-1:1] ^ ~(q[16] ^ q[15] ^ q[13] ^ q[4]);
	   endcase
	endfunction
`else
	function lsb;
	   input [aw:1] q;
	   case (aw)
	       2: lsb = ~q[2];
	       3: lsb = ~(q[3] ^ q[2]);
	       4: lsb = ~(q[4] ^ q[3]);
	       5: lsb = ~(q[5] ^ q[3]);
	       6: lsb = ~(q[6] ^ q[5]);
	       7: lsb = ~(q[7] ^ q[6]);
	       8: lsb = ~(q[8] ^ q[6] ^ q[5] ^ q[4]);
	       9: lsb = ~(q[9] ^ q[5]);
	      10: lsb = ~(q[10] ^ q[7]);
	      11: lsb = ~(q[11] ^ q[9]);
	      12: lsb = ~(q[12] ^ q[6] ^ q[4] ^ q[1]);
	      13: lsb = ~(q[13] ^ q[4] ^ q[3] ^ q[1]);
	      14: lsb = ~(q[14] ^ q[5] ^ q[3] ^ q[1]);
	      15: lsb = ~(q[15] ^ q[14]);
	      16: lsb = ~(q[16] ^ q[15] ^ q[13] ^ q[4]);
	   endcase
	endfunction
`endif

`ifdef RW_CHECK
  assign fwreq = wreq & ~full;
  assign frreq = rreq & ~empty;
`else
  assign fwreq = wreq;
  assign frreq = rreq;
`endif

	//
	// hookup read-pointer
	//
	always @(posedge clk or negedge aclr)
	  if (~aclr)      rp <= #1 0;
	  else if (sclr)  rp <= #1 0;
	  else if (frreq) rp <= #1 {rp[aw-1:1], lsb(rp)};

	//
	// hookup write-pointer
	//
	always @(posedge clk or negedge aclr)
	  if (~aclr)      wp <= #1 0;
	  else if (sclr)  wp <= #1 0;
	  else if (fwreq) wp <= #1 {wp[aw-1:1], lsb(wp)};


	//
	// hookup memory-block
	//
	reg [dw:1] mem [(1<<aw) -1:0];

	// memory array operations
	always @(posedge clk)
	  if (fwreq)
	    mem[wp] <= #1 d;

	assign q = mem[rp];


	// generate full/empty signals
	assign aempty = (rp[aw-1:1] == wp[aw:2]) & (lsb(rp) == wp[1]) & frreq & ~fwreq;
	always @(posedge clk or negedge aclr)
	  if (~aclr)
	    empty <= #1 1'b1;
	  else if (sclr)
	    empty <= #1 1'b1;
	  else
	    empty <= #1 aempty | (empty & (~fwreq + frreq));

	assign afull = (wp[aw-1:1] == rp[aw:2]) & (lsb(wp) == rp[1]) & fwreq & ~frreq;
	always @(posedge clk or negedge aclr)
	  if (~aclr)
	    full <= #1 1'b0;
	  else if (sclr)
	    full <= #1 1'b0;
	  else
	    full <= #1 afull | ( full & (~frreq + fwreq) );

	// number of words in fifo
	always @(posedge clk or negedge aclr)
	  if (~aclr)
	    nword <= #1 0;
	  else if (sclr)
	    nword <= #1 0;
	  else
	    begin
	        if (wreq & !rreq)
	          nword <= #1 nword +1;
	        else if (rreq & !wreq)
	          nword <= #1 nword -1;
	    end

	//
	// Simulation checks
	//
	// synopsys translate_off
	always @(posedge clk)
	  if (full & fwreq)
	    $display("Writing while FIFO full\n");

	always @(posedge clk)
	  if (empty & frreq)
	    $display("Reading while FIFO empty\n");
	// synopsys translate_on
endmodule


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色国产综合视频| 在线观看www91| 99久久精品国产一区二区三区 | 亚洲国产日韩av| 国产一区二区视频在线播放| 色婷婷激情久久| 国产欧美一区二区精品忘忧草| 亚洲综合激情另类小说区| 国产精品亚洲人在线观看| 欧美天堂一区二区三区| 国产精品你懂的在线欣赏| 精品一区二区三区欧美| 91精品国产综合久久小美女| 亚洲精品中文字幕在线观看| 国产成a人亚洲精品| 精品国产免费人成在线观看| 午夜av区久久| 欧美日韩国产小视频在线观看| 欧美激情中文字幕一区二区| 国产在线不卡一区| 国产精品毛片久久久久久| 91丨porny丨国产入口| 中文字幕一区二区三区蜜月| 国产精品一区三区| 一区二区三区国产精品| 97se亚洲国产综合在线| 午夜在线电影亚洲一区| 欧美综合天天夜夜久久| 美女免费视频一区| 欧美另类videos死尸| 亚洲成av人片在线观看无码| 精品少妇一区二区| 国产一区二区导航在线播放| **性色生活片久久毛片| 欧美精品1区2区3区| 国产一区二区三区免费在线观看| 亚洲天堂av老司机| 91国偷自产一区二区三区成为亚洲经典 | 日韩国产欧美一区二区三区| 欧美色综合网站| 国产一二三精品| 亚洲一区成人在线| 久久久99精品久久| 不卡高清视频专区| 亚洲精品写真福利| 久久久蜜桃精品| 99久久精品99国产精品| 久久丁香综合五月国产三级网站 | 99久久99久久精品国产片果冻| 午夜久久久影院| 国产精品成人免费精品自在线观看| 成人一区二区视频| 一区二区在线观看视频在线观看| 日韩精品一区二区三区视频播放| 国产一区二区三区美女| 亚洲黄色小视频| 中文字幕不卡三区| 欧美va日韩va| 在线播放中文字幕一区| 91蝌蚪国产九色| 国产91精品露脸国语对白| 奇米影视在线99精品| 国产亚洲自拍一区| 欧美一级一区二区| 成人在线综合网| 国产精品资源在线| 蜜桃视频在线观看一区二区| 亚洲成av人片在www色猫咪| 国产精品毛片大码女人| 国产欧美va欧美不卡在线| 欧美xxxx在线观看| 日韩丝袜情趣美女图片| 白白色亚洲国产精品| 日日夜夜免费精品| 国产精品视频麻豆| 国产清纯白嫩初高生在线观看91| 91.xcao| 欧美一区二区三区在线看| 欧美丰满一区二区免费视频| 欧美性色综合网| 欧美最猛性xxxxx直播| 一本色道久久综合亚洲91| 色综合咪咪久久| 日本道免费精品一区二区三区| 色综合久久九月婷婷色综合| 色哟哟日韩精品| 91国在线观看| 51精品久久久久久久蜜臀| 在线成人av影院| 精品播放一区二区| 国产丝袜美腿一区二区三区| 久久精品一区八戒影视| 欧美国产禁国产网站cc| 国产精品久久久久久久久搜平片| 亚洲欧美怡红院| 一区二区久久久久| 日韩精品成人一区二区在线| 久久精品免费看| 福利电影一区二区| 99精品视频一区二区三区| 日本精品一级二级| 欧美精品一二三四| 精品久久久久av影院| 国产欧美精品一区二区三区四区| 中文字幕在线免费不卡| 亚洲精品综合在线| 国产精品18久久久久久久网站| 成人动漫视频在线| 欧美日韩久久久久久| 精品va天堂亚洲国产| 亚洲色图20p| 丝袜诱惑亚洲看片| 国产成人免费视频网站| 精品无人区卡一卡二卡三乱码免费卡| 国产在线国偷精品免费看| 99精品视频在线观看免费| 欧美日韩成人激情| 中文在线一区二区| 亚洲成a人在线观看| 精品无人码麻豆乱码1区2区 | 亚洲精品亚洲人成人网在线播放| 午夜日韩在线观看| 成人免费毛片app| 欧美日韩国产区一| 国产色综合久久| 日韩影视精彩在线| 99视频精品全部免费在线| 欧美一区二区三区四区五区| 日本一区二区三区国色天香| 亚洲成人免费视频| 豆国产96在线|亚洲| 欧美片网站yy| 综合av第一页| 国产一区视频在线看| 欧美日韩在线播| 欧美一卡2卡3卡4卡| 亚洲男人的天堂一区二区| 亚洲一区二区精品久久av| 国产精品一区二区无线| 欧美日韩精品福利| 亚洲色图另类专区| 国产a久久麻豆| 日韩女同互慰一区二区| 一区二区三区加勒比av| 成人av综合在线| 精品伦理精品一区| 亚洲成va人在线观看| 91亚洲精华国产精华精华液| 久久久久国色av免费看影院| 婷婷国产在线综合| 欧美亚一区二区| 亚洲免费伊人电影| a在线播放不卡| 天天影视涩香欲综合网| 一道本成人在线| 成人免费一区二区三区视频| 国产成人精品亚洲777人妖| 日韩欧美二区三区| 肉肉av福利一精品导航| 欧美又粗又大又爽| 一区二区三区中文字幕精品精品| av一二三不卡影片| 国产欧美日韩激情| 高清日韩电视剧大全免费| 久久久亚洲国产美女国产盗摄| 日本亚洲天堂网| 欧美一区二区在线免费播放| 午夜视频在线观看一区二区 | 国产黄色91视频| 久久精品欧美日韩精品| 国产成人亚洲综合a∨婷婷图片| 日韩免费成人网| 激情av综合网| 在线观看视频91| 亚洲综合激情另类小说区| 色婷婷综合激情| 亚洲一级在线观看| 欧美日本国产视频| 免费观看91视频大全| 日韩欧美中文一区| 精品一区二区三区影院在线午夜| 欧美成人猛片aaaaaaa| 久久机这里只有精品| 久久综合久久鬼色中文字| 亚洲高清中文字幕| 91精品国产福利在线观看 | 久久91精品国产91久久小草| 日韩精品中文字幕一区| 国内国产精品久久| 中文无字幕一区二区三区| 91网站最新地址| 夜夜嗨av一区二区三区中文字幕| 欧美性一级生活| 久久精品国产77777蜜臀| 久久久亚洲精品石原莉奈| 99久久精品免费精品国产| 亚洲成a人片综合在线| 欧美xxxxx裸体时装秀| 高清日韩电视剧大全免费| 亚洲欧美另类综合偷拍|