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

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

?? lwbsaa7113.v

?? saa7113配置
?? V
字號(hào):
/////////////////////////////////////////////////////////////////////////                                                             ////////             LWB rev 1.2 -- SAA7113 Control Logic            ////////                                                             ////////                                                             ////////                 Author: Liu Tao                             ////////          liutao94@tsinghua.org.cn                           ////////                                                             ////////                                                             ////////                                                             /////////////////////////////////////////////////////////////////////////////                                                             ////////               Copyright (C) 2003 Liu Tao                    ////////               liutao94@tsinghua.org.cn                      ////////                                                             ////////                                                             /////////////////////////////////////////////////////////////////////////`timescale 1ns / 10psmodule LWBSAA7113 (reset,clk,llck,vpo,rst,capture,error,SRAM_CE_,SRAM_OE_,SRAM_WE_,la,ld);	//=================================================================================	//input	//=================================================================================	    /*___________________________________________________ */		//reset		input reset;//	    /*___________________________________________________ */		//from saa7113		input clk;//50MHz clock		input llck;//SAA7113 video clock (27 MHz)		input [7:0] vpo;//data from SAA7113		input [1:0] rst;//real-time video status		input capture;//flag for grab video data	//=================================================================================	//output	//=================================================================================	    /*___________________________________________________ */		//to sram		output error;//state indicator,to LED		output SRAM_CE_;		output SRAM_OE_;		output SRAM_WE_;		output [18:0] la;//address bus to sram		output [7:0] ld;//data bus to sram			//=================================================================================	//reg	//=================================================================================	    /*___________________________________________________ */		//video in state machine declaration		reg [3:0] presState;//		reg [3:0] nextState;//		reg [3:0] returnState;		reg [3:0] nextReturnState;	//=================================================================================	//parameters	//=================================================================================	    /*___________________________________________________ */		//state declaration		parameter 	stIdle = 4'b0000;//IDLE STATE,START UP OF A STATE MACHINE,RESET		parameter	stWaitForEscape = 4'b0001;//CHECK FOR "FF",START OF TIMING REFERENCE CODE		parameter	stCheckEscape1 = 4'b0010;//CHECK FOR "00",SECOND		parameter	stCheckEscape2 = 4'b0011;//CHECK FOR "00",THIRD		parameter	stCheckForNewPage = 4'b0100;//CHECK FOR "01",It is in vertical blanking stage,		parameter	stCheckForFirstLine = 4'b0101;//CHECK FOR "000",for SAV in valid row		parameter	stChromaBlue = 4'b0110;//write Cb to sram,here not in use		parameter	stLumaBlue = 4'b0111;//write Lb to sram		parameter	stChromaRed = 4'b1000;//write Cr to sram,not in use		parameter	stLumaRed = 4'b1001;//write Lr to sram,		parameter	stCheckForEndLine = 4'b1010;//CHECK for end of line		parameter	stCheckForNewLine = 4'b1011;//CHECK for new line		parameter	stError = 4'b1100;//ERROR state		//=================================================================================	//wires	//=================================================================================	    /*___________________________________________________ */		//vpo data from saa7113		reg [7:0] vpoLatch;//synchronise data on the vpo bus to LLCK		reg [7:0] luminanceB;		reg [7:0] luminanceR;		reg [7:0] chrominanceB;//not use now		reg [7:0] chrominanceR;//not use now		reg [7:0] nextLuminanceB;		reg [7:0] nextLuminanceR;		reg [7:0] nextChrominanceB;//not use now		reg [7:0] nextChrominanceR;//not use now		reg [8:0] grab_cntr_hori;//counter for horizon 720		reg [8:0] grab_cntr_vert;//counter for vertical 286		reg clr_grab_cntr;//clear both grab counters		reg inc_grab_hori;//increment horizontal counter for each 2 pixels		reg inc_grab_vert;//increment vertical counter and clear horizontal counter		reg field;//0 for 1st field,1 for 2nd field		reg nextField;//remember next field		reg grab;//write current data		reg nextGrab;		wire [18:0] grab_addr;		reg [18:0] write_addr;		reg [7:0] writeData;		reg write;		reg lastwrite;		reg dowrite;//		reg capture;//		reg error;	//=================================================================================	//hookup sram interface	//=================================================================================	    /*___________________________________________________ */		//address		LWBSRAM L_SRAM (			.clk(clk),			.reset(reset),			.doWrite(dowrite),			.writeAddr(write_addr),			.writeData(writeData),			.SRAM_CE_(SRAM_CE_),			.SRAM_OE_(SRAM_OE_),			.SRAM_WE_(SRAM_WE_),			.SRAM_ADDR(la),			.SRAM_DATA(ld)				);	//=================================================================================	//Assigning	//=================================================================================	    /*___________________________________________________ */		//address		assign grab_addr = {grab_cntr_vert,field,grab_cntr_hori};		//colour calculations:  these have not been fully tested and may need to be edited			//These convert the YUV data to RGB		//	red = ("00" & luminanceB & x"00") + (("01" & x"24") * chrominanceR) - ("00" & x"7D00");		//	blue <= ("00" & luminanceB & x"00") + (("10" & x"07") * chrominanceB) - ("00" & x"EE80");		//	green <= ("00" & luminanceB & x"00") + ("00" & x"9200") - (("00" & x"65") * chrominanceB) - (("00" & x"95") * chrominanceR);		//=================================================================================	//State Machine	//=================================================================================	    /*___________________________________________________ */		//write data to sram			    /*___________________________________________________ */		//write data to sram		always @(posedge llck or negedge reset)			if (!reset)				begin					presState <= stIdle;					grab <= 1'b0;							returnState <= stIdle;					field <= 1'b0;					grab_cntr_hori <= 1'b0;					grab_cntr_vert <= 1'b0;				end			else 				begin					vpoLatch <= vpo;//synchronize asynchronous data					presState <= nextState;// go to next state					grab <= nextGrab;//delay so colour can be calculated					returnState <= nextReturnState;					field <= nextField;					chrominanceR <= nextChrominanceR;					chrominanceB <= nextChrominanceB;					luminanceR <= nextLuminanceR;								luminanceB <= nextLuminanceB;											if (nextGrab)						write_addr <= grab_addr;//give write address plenty of setup time					if (grab)  //note that this is executed 1 cycle after nextGrab is seen to go high.						begin//							writeData <= '0' & colour;		-- high colour (15 bit) full colour.  360 double pixels wide.							writeData <= luminanceR;							write <= 1'b1;						end					else 						write <= 1'b0;					// operate on the grab counters for vertical and horizontal movement					if (clr_grab_cntr)						begin							grab_cntr_hori <= 1'b0;							grab_cntr_vert <= 1'b0;						end					else 						if (inc_grab_hori == 1)							grab_cntr_hori <= grab_cntr_hori + 1;						if (inc_grab_vert == 1)							begin								grab_cntr_vert <= grab_cntr_vert + 1;								grab_cntr_hori <= 1'b0; // clear horizontal counter with each new line							end				end	    /*___________________________________________________ */		//grab data from vpo bus		always @(presState or vpoLatch or returnState or field or luminanceB or luminanceR or chrominanceB or chrominanceR or capture)			begin				//default signal values				clr_grab_cntr <= 1'b0;				inc_grab_hori <= 1'b0;				inc_grab_vert <= 1'b0;				nextGrab <= 1'b0;					nextReturnState <= returnState;				nextField <= field;				nextLuminanceB <= luminanceB;				nextLuminanceR <= luminanceR;				nextChrominanceB <= chrominanceB;				nextChrominanceR <= chrominanceR;						error <= 1'b0;				//state machine				case (presState)					stIdle://						if (capture == 1'b1)							begin								nextState <= stWaitForEscape;	// Look for an escape sequence								nextReturnState <= stCheckForNewPage;// Check for start of field 0							end						else							nextState <= stIdle;					stWaitForEscape://Look for the first character in the sequence, keep looking until found						if (vpoLatch == 8'hFF)							nextState <= stCheckEscape1;						else							nextState <= stWaitForEscape;					stCheckEscape1://Second character in the escape sequence is 0						if (vpoLatch == 8'h00)							nextState <= stCheckEscape2;						else							nextState <= stError;					stCheckEscape2://Third charcter in the escape sequence is 0.  Go to returnState to check SAV/EAV code						if (vpoLatch == 8'h00)							nextState <= returnState;						else							nextState <= stError;					stCheckForNewPage://Wait for an SAV or EAV in field 0 while in the vertical blanking stage						if (vpoLatch[6:5] == 2'b01) //If it is then wait until the first line of active video							begin								nextState <= stWaitForEscape;								nextReturnState <= stCheckForFirstLine;								clr_grab_cntr <= 1'b1;//initialise counter							end						else  //Look for another SAV/EAV until we find the type we want.							begin								nextState <= stWaitForEscape;								nextReturnState <= stCheckForNewPage;							end					stCheckForFirstLine://Wait for an SAV in field 0 while in the active video region						if (vpoLatch[6:4] == 3'b000)  //start recording data							begin								nextState <= stChromaBlue;								nextField <= 1'b0;//initialise field							end						else  //Look for another SAV/EAV until we find the type we want.							begin								nextState <= stWaitForEscape;								nextReturnState <= stCheckForFirstLine;							end						stChromaBlue://This may be the start of another pair of pixels or the end of data						if (vpoLatch == 8'hFF) //If the byte is FF then it is the start of the EAV.							begin								nextState <= stCheckEscape1;//Go to second state of subroutine								nextReturnState <= stCheckForEndLine;//Check if this is the last line of the field							end						else if (vpoLatch == 8'h00)							nextState <= stError;									else //latch data into register and continue							begin								nextState <= stLumaBlue;								nextChrominanceB <= vpoLatch;							end					stLumaBlue://As long as valid data is present continue latching data						if ((vpoLatch !== 8'hFF) && (vpoLatch !== 8'h00))							begin								nextState <= stChromaRed;								nextLuminanceB <= vpoLatch;							end						else							nextState <= stError;												stChromaRed://As long as valid data is present continue latching data						if ((vpoLatch !== 8'hFF) && (vpoLatch !== 8'h00))							begin								nextState <= stLumaRed;								nextChrominanceR <= vpoLatch;							end						else							nextState <= stError;					stLumaRed://As long as valid data is present continue latching data and setup to write current data						if ((vpoLatch !== 8'hFF) && (vpoLatch !== 8'h00))							begin								nextState <= stChromaBlue;								nextLuminanceR <= vpoLatch;								nextGrab <= 1'b1;//Set up a write after a delay (see clocked process)								inc_grab_hori <= 1'b1;//Increment horizontal counter every two pixels							end						else							nextState <= stError;					stCheckForEndLine://possible conditions here are the end of field 0, end of field 1,or an EAV code indicating a new line in the active region.											if (vpoLatch[6:4] == 3'b111) //end of field 1							nextState <= stIdle;						else if (vpoLatch[6:4] == 3'b011) //end of field 0							begin								clr_grab_cntr <= 1'b1;//reset counter for field 1								nextState <= stWaitForEscape;								nextReturnState <= stCheckForNewLine;//start capture at first new line							end						else if (vpoLatch[5:4] == 2'b01) //end of line							begin								inc_grab_vert <= 1'b1;	// go to next line								nextState <= stWaitForEscape;								nextReturnState <= stCheckForNewLine;//capture next line from start							end						else // EAV expected but SAV received							nextState <= stError;					stCheckForNewLine://Wait until an SAV in the active video range arrives						if (vpoLatch[5:4] == 2'b00)							begin								nextState <= stChromaBlue;// capture next line								nextField <= vpoLatch[6];							end						else	// Wait for another code							begin								nextState <= stWaitForEscape;								nextReturnState <= stCheckForNewLine;							end					stError://Wait until another capture is requested before continuing						if (capture == 1'b1)							begin								nextState <= stWaitForEscape;								nextReturnState <= stCheckForNewPage;							end						else							begin								nextState <= stError;								error <= 1'b1;//indicate error on error LED							end					default:						nextState <= stError;				endcase			end	    /*___________________________________________________ */		//synchronizes writes to the 50MHz clock		always @(negedge reset or posedge clk)			if(!reset)				begin					dowrite <= 1'b0;					lastwrite <= 1'b0;				end			else				begin					lastwrite <= write;					if (!write && lastwrite)						dowrite <= 1'b1;					else						dowrite <= 1'b0;				endendmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷亚洲久悠悠色悠在线播放| 日韩国产精品大片| 欧美蜜桃一区二区三区| 白白色亚洲国产精品| 国产成人精品一区二| 美女在线视频一区| 国产亚洲欧美日韩日本| 久久综合九色综合97婷婷女人| 91精品国产一区二区三区| 成人国产精品免费网站| 国产盗摄视频一区二区三区| 久久99精品国产91久久来源| 狠狠色狠狠色综合| 日本不卡一区二区三区| 亚洲成人在线免费| 五月婷婷激情综合| 亚洲成在人线免费| 亚洲免费观看高清完整版在线观看熊 | 国产福利精品一区二区| 国产一区二区美女| 国产一区二区不卡在线| 日韩精品一二区| 丝袜亚洲另类丝袜在线| 偷拍一区二区三区| 久久国产精品一区二区| 久久国产尿小便嘘嘘| 精品在线免费视频| 成人美女视频在线看| 成人黄页毛片网站| 国产一区二区不卡| 91蜜桃视频在线| 欧美亚洲一区二区在线观看| 欧美福利一区二区| 日韩一区二区三区四区五区六区| 日韩一卡二卡三卡四卡| 国产欧美精品一区二区色综合朱莉| 国产欧美日韩精品一区| 亚洲欧美一区二区三区孕妇| 天堂成人国产精品一区| 国内精品免费在线观看| 99久久久久久| 91精品办公室少妇高潮对白| 欧美三级韩国三级日本三斤| 欧美一区二区视频观看视频| 精品99久久久久久| 国产精品乱人伦| 视频一区国产视频| 狠狠久久亚洲欧美| 成人性色生活片| 欧美视频一区在线| 欧美变态tickling挠脚心| 中文字幕一区二区三区不卡在线 | 国产a视频精品免费观看| 波多野结衣在线aⅴ中文字幕不卡| 色视频成人在线观看免| 91精品国产乱| 91精品国产综合久久精品app| 精品久久国产老人久久综合| 国产精品免费久久| 美洲天堂一区二卡三卡四卡视频| 国产激情视频一区二区在线观看| 粉嫩一区二区三区在线看| 91国产精品成人| 91麻豆精品国产自产在线| 欧美激情综合五月色丁香小说| 国产免费成人在线视频| 美日韩一区二区| 95精品视频在线| 精品国产一二三| 亚洲成人免费在线观看| 97国产一区二区| 久久综合狠狠综合久久激情 | 日本一区二区三区dvd视频在线| 亚洲国产乱码最新视频| 国产毛片精品国产一区二区三区| 欧美主播一区二区三区美女| 国产精品人人做人人爽人人添| 亚洲国产成人精品视频| 成人国产电影网| 欧美大度的电影原声| 亚洲精选在线视频| 成人开心网精品视频| 欧美一区二区三区电影| 欧美国产在线观看| 国产一区二区免费在线| 正在播放亚洲一区| 午夜影院在线观看欧美| 不卡电影免费在线播放一区| 日韩一区二区三区高清免费看看| 亚洲国产精品精华液网站| 福利视频网站一区二区三区| 久久婷婷一区二区三区| 午夜精品一区二区三区电影天堂| 91色|porny| 1024成人网| 国产成人日日夜夜| 久久久亚洲精华液精华液精华液| 激情欧美日韩一区二区| 日韩欧美一级二级三级久久久| 亚洲一区二区三区中文字幕在线| 一本大道综合伊人精品热热 | 亚洲一区二区三区影院| caoporn国产一区二区| 亚洲天堂精品视频| 国产成人日日夜夜| 国产精品色在线| 国产成人亚洲综合色影视 | 国产精品不卡视频| 国产精品资源站在线| 国产婷婷色一区二区三区四区| 美脚の诱脚舐め脚责91| 色8久久精品久久久久久蜜| 一区二区三区在线观看视频| www.欧美日韩| 一区二区三区四区高清精品免费观看 | 日产精品久久久久久久性色| 欧美日韩亚洲综合| 久久精品视频免费| 不卡的av在线播放| 中文字幕一区视频| 99久久99久久综合| 欧美国产精品专区| 91丝袜国产在线播放| 18欧美亚洲精品| 欧美男生操女生| 日韩av电影天堂| 欧美一区二区三区四区久久| 青青草国产精品亚洲专区无| 日韩欧美在线1卡| 国产一区二区三区在线看麻豆| 精品成人a区在线观看| 国产一区三区三区| 国产日韩精品一区二区浪潮av | 色噜噜久久综合| 天天影视涩香欲综合网| 欧美一区二区三区喷汁尤物| 国产成a人亚洲| 中文字幕一区二区不卡| aaa欧美大片| 亚洲自拍与偷拍| 欧美三级日韩在线| 免费在线看一区| 久久精品视频一区二区| 99久久er热在这里只有精品15 | 一区二区久久久久久| 欧美日韩免费一区二区三区| 麻豆国产精品777777在线| 久久蜜桃香蕉精品一区二区三区| 99久久久精品| 天天爽夜夜爽夜夜爽精品视频| 日韩欧美亚洲另类制服综合在线| av在线这里只有精品| 亚洲国产一区二区a毛片| 精品国产一区二区三区忘忧草| 成人性生交大片免费看视频在线 | 国内欧美视频一区二区| 亚洲欧洲精品一区二区三区不卡| 在线精品视频一区二区三四| 亚洲在线视频免费观看| 久久综合久久综合久久| 99久久er热在这里只有精品15| 美女视频黄a大片欧美| 国产精品美日韩| 在线精品观看国产| 国产精品资源在线观看| 亚洲精品久久久蜜桃| 久久只精品国产| 色婷婷亚洲综合| 国产91在线看| 天天综合色天天综合色h| 精品国产乱码91久久久久久网站| 欧美专区日韩专区| 国产精品一卡二卡在线观看| 日本视频免费一区| 一色桃子久久精品亚洲| 日韩精品一区二区三区视频在线观看 | 日韩va亚洲va欧美va久久| 亚洲欧美日韩在线播放| 欧美不卡一二三| 欧美久久一区二区| 成人爱爱电影网址| 蜜桃在线一区二区三区| 亚洲bdsm女犯bdsm网站| 国产精品久久看| 久久久亚洲综合| 欧美电影一区二区三区| 色婷婷综合久久久| 91色porny蝌蚪| av电影在线不卡| 精品影视av免费| 美女免费视频一区| 亚洲自拍偷拍九九九| 亚洲视频免费看| 久久综合久久鬼色| 精品国产91九色蝌蚪| 欧美男同性恋视频网站| 成人免费的视频| 国产成人精品免费| 蜜桃视频一区二区三区| 麻豆国产精品777777在线|