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

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

?? top_enc_rev4.v

?? Verilog jpec coder encoder source code
?? V
字號:
`timescale 1ns / 10ps
// Rev 4:  	-Status/Control Registers Implemented
// 			-Controlability Fully Tested
// 			-Clock DLL implemente
`define BEHAVIOR = 1
module top_enc(clkin, rst, nce, awe, are, data, addr,clkout);

	//
	// Inputs & Outputs
	//
	input clkin;		// 25MHz Clock
	input rst;		// Async Active-Low Reset
	input nce;		// Chip Enable (Ative-Low)
	input awe;		// Async Write Enable
	input are;		// Async Read Enable
	input [5:0] addr;	// Address Input
	
	inout [24:0] data;	// Data Output {toggle,doe[amp,huff],EOB,LC,DATA}
	output clkout;
	
	wire [12:0] din;
	reg dstrb, rd_en;
	reg [5:0] tempcontrol; // asynch updates 
	reg [5:0] control;	// [CLKDIV,LC,ADDR3,ADDR2,ADDR1,ADDR0]
	reg update;	// Can only update control when set to 1
	reg renew; // temp control reg updated
	reg toggle;	// Toggle bit to show valid data in fifo
	reg bp; // block processing

	//in_full, in_empty, out_full, out_empty, lc,
	//dct_comp, qnr_comp, rle_comp, huff_comp,
	//dctin,dctout,qnrin,qnrout,rlein,rleout,huffin,huffout]
	reg [16:0] status; 
	wire eob;
	
	assign rd_clk = ~are & ~nce;

	BUFG wrclkg (.I(~awe & ~nce), .O(wr_clk));

	// 
	// Clock DLL
	//
	CLKDLL dll (
		.CLKIN(clkin),
		.CLKFB(clk0b),
		.RST(~rst),
		.CLK0(clk0),
		.CLK90(),
		.CLK180(),
		.CLK270(),
		.CLK2X(),
		.CLKDV(clk_dv),
		.LOCKED()
	);
	BUFG clk0g (.I(clk0),.O(clk0b));
	assign clk_mux = control[5] ? clk_dv : clk0;
	BUFG clkg (.I(clk_mux), .O(clk));

 	assign clkout = clk;
	
	// 
	// Control Register - Address 16
	//

	always @ (posedge wr_clk or negedge rst)
	begin
		if(~rst)
		begin
			renew <= 1'b0;
			tempcontrol <= 6'h0;
		end
		else if(addr == 6'h10)
		begin
			renew <= 1'b1;
			tempcontrol <= data[5:0]; //{clkdiv,LC,ADDR[3:0]}
		end
		else if(tempcontrol == control)
			renew <= 1'b0;
	end
	
	always @ (posedge clk or negedge rst)
	begin
		if(~rst)
		begin
			control <= 6'h0;
			update <= 1'b1;
		end
		else if(eob) update <= 1'b1;
		else if(update && renew)
		begin
			update <= 1'b0; 
			control <= tempcontrol;
		end
	end
	// 
	// Status Register - Address 32
	//
	wire in_full, in_empty, out_full, out_empty;
	wire [11:0] encstat;
	always @ (posedge clk or negedge rst)
	begin
		if(~rst)
			status <= 13'h0;
		else 
			status <= {control[4],in_full,in_empty,out_full,out_empty,encstat};			
	end
	
	// 
	// Wires
	// 
	
	wire [24:0] dout;		// Output Data
	assign data = (~are & ~nce & addr[5]) ? {8'h0,status} : 
			                (~are & ~nce) ? dout : 25'bz;

	//
	// State Machine for Data Input to Encoder
	// 7/21: only can input 1 block at a time with this
	// configuration. should have capability to stream data
	reg state;
	reg [6:0] icnt;
	reg [5:0] cnt;
	reg up, up_icnt;

	// How many items are in the input FIFO
	always @ (posedge wr_clk or negedge rst)
	begin
		if(~rst)
		begin
   	   		icnt <= 6'h0;
			up_icnt <= 1'b0;
		end
		else if(up && !(&control[3:2]) && !(|addr[5:0])) //!(|addr[5:4]))
		begin
			icnt <= icnt - 7'h3f;
			// To account for extra write to fifo in timing sims
			//icnt <= icnt - 7'h40;
			up_icnt <= 1'b1;
		end
		else if(!up && !(&control[3:2]) && !(|addr[5:4]))
		begin
			up_icnt <= 1'b0;
			icnt <= icnt + 1;
		end
	end
	

	always @ (posedge clk or negedge rst)
	begin
		if(~rst)
		begin
			dstrb <= 1'b0;
			rd_en <= 1'b0;
			state <= 1'b0;
			cnt <= 6'h0;
			bp <= 1'b0;
			up <= 1'b0;
		end
		// Input to Huff Does not Require a block in the FIFO
		else if(&control[3:2]) 
		begin
			case(state)
				1'b0:
				begin
					rd_en <= ~in_empty ? 1'b1 : 1'b0;
					dstrb <= 1'b0;
					state <= ~in_empty ? 1'b1 : 1'b0;
				end
				1'b1:
				begin
					rd_en <= 1'b0;
					dstrb <= 1'b1;
					state <= 1'b0;
				end
			endcase
		end
		// FDCT,QNR,RLE all require full block in FIFO prior to dstrb
		else if(up_icnt && up)
			up <= 1'b0;
		else if((icnt >= 7'h3f) && !bp && !up)
		begin
			bp <= 1'b1;
			state <= 1'b0;
			rd_en <= 1'b0;
			up <= 1'b1;
		end
		else if(bp)
		begin
			bp <= &cnt ? 1'b0 : 1'b1;
			//cnt <= rd_en ? cnt + 1 : cnt;
			cnt <= cnt + 1;
			if(!control[3]) //QNR & FDCT require dstrb 1 clk prior to data
			begin
				case(state)
					1'b0: 
					begin
						rd_en <= 1'b1;
						dstrb <= 1'b1;
						state <= 1'b1;
					end
					1'b1:
					begin
						rd_en <= 1'b1;
						dstrb <= 1'b0;
						state <= 1'b1;
					end
				endcase
			end
			
			else // RLE Requires dstrb at same time as data
			begin
				case(state)
					1'b0:
					begin
						rd_en <= 1'b1;
						dstrb <= 1'b0;
						state <= !cnt ? 1'b1 : 1'b0;
					end
					1'b1:
					begin
						rd_en <= 1'b1;
						dstrb <= 1'b1;
						state <= 1'b0;
					end
				endcase
			end
			
		end
		
		else
		begin
			rd_en <= 1'b0;
			dstrb <= 1'b0;
			state <= 1'b0;
		end
	end	
	
	// 
	// Instantiate Input FIFO
	//
	in_fifo in_fifo(
		.din(data[12:0]), //{LC,DATA}
		.wr_en(~nce),
		.wr_clk(wr_clk && !(|addr[5:4])),
		.rd_en(rd_en),	// Read Enable from state machine
		.rd_clk(clk),
		.ainit(~rst), 	// FIFO reset active high
		.dout(din), 
		.full(in_full),
		.empty(in_empty)
	);

	//
	// Instantiate JPEG Encoder
	//
	wire [19:0] do_enc;	//Output of encoder
	wire [1:0] doe;
	jpeg_encoder enc(
		.clk(clk),
		.rst(rst),
		.lc(control[4]),
		.dstrb(dstrb),
		.din(din[11:0]),
		.addr(control[3:0]),
		.eob(eob),
		.doe(doe),
		.dout(do_enc),
		.encstat(encstat)
	);

	//
	// toggle bit
	//
	assign d = |doe & ~clk;
	always @ (posedge d or negedge rst)
	begin
		if(~rst)
			toggle <= 1'b0;
		else
			toggle <= ~toggle;
	end
	
	// 
	// Instantiate Output FIFO
	// 
	out_fifo out_fifo(
		.din({toggle,eob,doe,control[4],do_enc}), //24-bit
		.wr_en(|doe),
		.wr_clk(~clk),
		.rd_en(~nce),
		.rd_clk(rd_clk && !(|addr[5:4])),
		.ainit(~rst),
		.dout(dout[24:0]),	//24-bit
		.full(out_full),
		.empty(out_empty)
	);

		

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产香蕉久久精品综合网| 国产午夜精品在线观看| 久久婷婷一区二区三区| 亚洲成人av中文| 亚洲另类在线制服丝袜| 久久精品国产一区二区三区免费看 | 国产精品传媒入口麻豆| 91网站黄www| 日韩精品91亚洲二区在线观看| 久久青草欧美一区二区三区| 国产一区欧美二区| 亚洲精品自拍动漫在线| 精品国产乱码久久| 日本高清成人免费播放| 国产毛片一区二区| 亚洲国产综合色| 国产精品毛片高清在线完整版| 欧美剧情电影在线观看完整版免费励志电影| 亚洲一区二区三区在线播放| 国产精品乱人伦| 日韩视频国产视频| 欧美亚洲免费在线一区| 国产a级毛片一区| 青青草精品视频| 亚洲一区在线观看视频| 亚洲欧美一区二区三区极速播放| 欧美在线观看一区| 色婷婷av久久久久久久| 国产精品自拍一区| 肉丝袜脚交视频一区二区| 国产精品美女久久久久av爽李琼| 日韩欧美国产麻豆| 91麻豆精品一区二区三区| 美脚の诱脚舐め脚责91| 午夜国产精品影院在线观看| 亚洲色图欧洲色图| 国产精品丝袜在线| 国产目拍亚洲精品99久久精品| 欧美日韩国产bt| 欧美乱妇15p| 91免费国产在线| 粉嫩绯色av一区二区在线观看 | 欧美日韩一区精品| 粉嫩在线一区二区三区视频| 久久国产精品第一页| 久久国产麻豆精品| 国产一区二区视频在线播放| 极品尤物av久久免费看| 国产成人在线电影| 国产精一区二区三区| 岛国一区二区三区| 99精品偷自拍| 91国产免费观看| 91精选在线观看| 精品国产网站在线观看| 国产亚洲精品资源在线26u| 中文天堂在线一区| 伊人一区二区三区| 亚洲福利国产精品| 蜜桃免费网站一区二区三区| 国内精品国产成人| 91在线你懂得| 制服视频三区第一页精品| 日韩一区二区不卡| 欧美激情一区二区三区全黄| 国产精品中文欧美| 播五月开心婷婷综合| 在线区一区二视频| 欧美精品一区视频| 亚洲免费观看高清在线观看| 丝袜美腿一区二区三区| 国产一区二区免费在线| 色综合久久久久久久| 欧美一区二区免费| 欧美国产欧美综合| 日韩电影一区二区三区| 国产精品 欧美精品| 日本韩国欧美在线| 日韩三区在线观看| 国产精品久久看| 日日噜噜夜夜狠狠视频欧美人| 免费日韩伦理电影| 99综合电影在线视频| 91精品久久久久久久99蜜桃 | 亚洲青青青在线视频| 天堂va蜜桃一区二区三区漫画版| 国产风韵犹存在线视精品| 欧美亚洲动漫精品| 中文在线资源观看网站视频免费不卡| 亚洲精品国产精品乱码不99| 精品一区二区三区免费毛片爱| 99综合电影在线视频| 日韩精品一区二区在线| 亚洲欧美国产77777| 久久99精品久久久久| 欧美色网一区二区| 国产女主播在线一区二区| 亚洲超碰97人人做人人爱| 国产美女视频一区| 91精品国产免费久久综合| 亚洲欧美视频在线观看视频| 国产精品久久久久久户外露出| 婷婷开心激情综合| 99在线视频精品| 精品av久久707| 偷拍一区二区三区| 99久久亚洲一区二区三区青草| 日韩一级视频免费观看在线| 亚洲乱码中文字幕综合| 国产裸体歌舞团一区二区| 欧美人与z0zoxxxx视频| 亚洲免费在线播放| 69堂精品视频| 亚洲国产一区二区视频| 91亚洲精品乱码久久久久久蜜桃| 2020国产精品| 久久99精品一区二区三区三区| 欧美日韩美女一区二区| 亚洲一区视频在线| 91猫先生在线| 亚洲特级片在线| 91最新地址在线播放| 国产精品私人影院| 成人精品一区二区三区中文字幕| 337p日本欧洲亚洲大胆精品| 美国三级日本三级久久99| 91精品国产综合久久久久久久久久| 亚洲尤物在线视频观看| 色噜噜狠狠成人网p站| 亚洲视频网在线直播| 91在线观看成人| 日韩美女视频一区二区| 波多野洁衣一区| 国产精品久久久久四虎| av电影一区二区| 亚洲欧美在线aaa| 色综合激情五月| 亚洲综合久久久久| 欧美日韩免费观看一区三区| 亚洲成人免费视| 欧美精品精品一区| 日本麻豆一区二区三区视频| 欧美一区二区久久| 久久www免费人成看片高清| 精品少妇一区二区三区日产乱码 | 日韩中文字幕区一区有砖一区 | 狠狠v欧美v日韩v亚洲ⅴ| 精品国产制服丝袜高跟| 国产成人精品影院| 亚洲精品视频免费观看| 欧美写真视频网站| 日韩电影在线观看网站| wwwwxxxxx欧美| heyzo一本久久综合| 狠狠色狠狠色综合日日91app| ww亚洲ww在线观看国产| av在线播放一区二区三区| 亚洲精品免费看| 欧美日韩国产小视频在线观看| 天使萌一区二区三区免费观看| 精品国产自在久精品国产| 播五月开心婷婷综合| 一区二区三区日本| 日韩一卡二卡三卡四卡| 国产成人福利片| 亚洲精品成人a在线观看| 欧美一级理论性理论a| 国产成人夜色高潮福利影视| 亚洲日本电影在线| 欧美色视频在线| 国产一区二区免费视频| 一区二区三区欧美日| 欧美精品一区二区三区高清aⅴ| 成人免费福利片| 亚洲国产精品久久久久秋霞影院| 91精品一区二区三区久久久久久| 国内精品久久久久影院一蜜桃| 亚洲免费观看高清完整版在线| 日韩一二三四区| 91美女在线观看| 韩国成人在线视频| 亚洲第一搞黄网站| 国产欧美一区二区精品秋霞影院| 91成人在线观看喷潮| 极品少妇一区二区| 亚洲与欧洲av电影| 欧美高清在线精品一区| 69p69国产精品| 91在线精品一区二区三区| 久久激情五月激情| 亚洲午夜久久久久久久久久久| 久久综合中文字幕| 911精品国产一区二区在线| 波多野结衣在线一区| 免费高清视频精品| 亚洲曰韩产成在线| 国产精品短视频| 精品国产伦一区二区三区观看方式| 色综合久久99| 丁香五精品蜜臀久久久久99网站|