可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告_第1頁(yè)
可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告_第2頁(yè)
可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告_第3頁(yè)
可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告_第4頁(yè)
可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

可編程邏輯器件與硬件描述語(yǔ)言實(shí)驗(yàn)報(bào)告評(píng)語(yǔ):成績(jī)教師:年月日分組:第()組班級(jí):學(xué)號(hào):姓名:地點(diǎn):時(shí)間:實(shí)驗(yàn)一:3-8譯碼器設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?)掌握ISE開(kāi)發(fā)工具的使用,掌握FPGA開(kāi)發(fā)的基本步驟;2)掌握組合邏輯電路設(shè)計(jì)的一般方法;3)掌握程序下載方法,了解UCF文件的格式;4)初步了解開(kāi)發(fā)板資源,掌握開(kāi)發(fā)板使用方法。重點(diǎn)了解滑動(dòng)開(kāi)關(guān)和LED顯示燈的使用方法。實(shí)驗(yàn)內(nèi)容:用VHDL實(shí)現(xiàn)3-8譯碼器模塊將程序下載到FPGA并進(jìn)行檢驗(yàn)實(shí)驗(yàn)步驟:1)啟動(dòng)ISE,新建工程文件,編寫(xiě)3-8譯碼器的VHDL模塊;2)新建UCF文件,輸入位置約束;3)完成綜合、實(shí)現(xiàn),生成下載文件;4)連接開(kāi)發(fā)板USB下載線,開(kāi)啟開(kāi)發(fā)板電源;5)下載到FPGA;6)撥動(dòng)開(kāi)關(guān),驗(yàn)證結(jié)果是否正確。實(shí)驗(yàn)代碼:--Company:--Engineer:----CreateDate:19:03:0310/01/2011--DesignName:--ModuleName:decoder38-Behavioral--ProjectName:--TargetDevices:--Toolversions:--Description:----Dependencies:----Revision:--Revision0.01-FileCreated--AdditionalComments:------------------------------------------------------------------------------------libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;--Uncommentthefollowinglibrarydeclarationifusing--arithmeticfunctionswithSignedorUnsignedvalues--useIEEE.NUMERIC_STD.ALL;--Uncommentthefollowinglibrarydeclarationifinstantiating--anyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entitydecoder38isPort(A:inSTD_LOGIC;B:inSTD_LOGIC;C:inSTD_LOGIC;EN:inSTD_LOGIC;Y:outSTD_LOGIC_VECTOR(7downto0));enddecoder38;architectureBehavioralofdecoder38issignaldin:std_logic_vector(2downto0);begin din<=A&B&C; PROCESS(din,EN) begin if(EN='1')THEN Y<="00000000"; else casedinis when"000"=>y<="00000001"; when"001"=>y<="00000010"; when"010"=>y<="00000100"; when"011"=>y<="00001000"; when"100"=>y<="00010000"; when"101"=>y<="00100000"; when"110"=>y<="01000000"; when"111"=>y<="10000000"; whenothers=>y<="00000000"; endcase; endif; endprocess;endBehavioral;1.2、UCF文件:NET"y<7>"LOC="F9"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<6>"LOC="E9"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<5>"LOC="D11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<4>"LOC="C11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<3>"LOC="F11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<2>"LOC="E11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<1>"LOC="E12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<0>"LOC="F12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"EN"LOC="L13"|IOSTANDARD=LVTTL|PULLUP;NET"C"LOC="L14"|IOSTANDARD=LVTTL|PULLUP;NET"B"LOC="H18"|IOSTANDARD=LVTTL|PULLUP;NET"A"LOC="N17"|IOSTANDARD=LVTTL|PULLUP;實(shí)驗(yàn)結(jié)果:用滑動(dòng)開(kāi)關(guān)SW3~SW1作為輸入A,B,C;滑動(dòng)開(kāi)關(guān)SW0控制EN;8個(gè)LED燈表示8個(gè)輸出。當(dāng)SW0處于ON(EN=1)位置時(shí),所有LED燈滅;當(dāng)SW0處于OFF(EN=0),反映當(dāng)前輸入的譯碼輸出在LED燈上顯示,即當(dāng)輸入為000(滑動(dòng)開(kāi)關(guān)SW3-SW1處于OFF狀態(tài)),LED0亮,其它燈滅,等等實(shí)驗(yàn)二:可逆計(jì)數(shù)器設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?)進(jìn)一步熟練ISE開(kāi)發(fā)工具,鞏固FPGA開(kāi)發(fā)的基本步驟,掌握功能仿真方法;2)掌握時(shí)序邏輯電路設(shè)計(jì)的一般方法,掌握時(shí)鐘分頻程序設(shè)計(jì)方法;3)理解VHDL的層次結(jié)構(gòu)設(shè)計(jì);4)鞏固程序下載方法;5)了解開(kāi)發(fā)板時(shí)鐘資源,以及時(shí)鐘分頻方法。實(shí)驗(yàn)內(nèi)容:實(shí)現(xiàn)如下可逆計(jì)數(shù)器表3-1可逆計(jì)數(shù)器功能表clrenUp/DnclkY7~Y01XXX0000000000XX停止計(jì)數(shù)011↑計(jì)數(shù)器+1操作010↑計(jì)數(shù)器-1操作實(shí)現(xiàn)如下基本的可逆計(jì)數(shù)器資源使用要求及實(shí)現(xiàn)方法:1)用LED0~LED7作為計(jì)數(shù)器輸出顯示,LED7為高位,LED0為低位;2)SW0為計(jì)數(shù)方向up/dn控制;3)SW1為計(jì)數(shù)允許EN控制端;4)BTN_EAST為clr按鈕;5)計(jì)數(shù)時(shí)鐘頻率為1Hz,通過(guò)對(duì)50Mhz系統(tǒng)時(shí)鐘分頻得到,分頻電路獨(dú)立編寫(xiě)一個(gè)模塊,如圖3-2所示;6)擴(kuò)展:可以對(duì)按鍵次數(shù)進(jìn)行計(jì)數(shù)(按鍵為BTN_SOUTH),即通過(guò)SW2選擇計(jì)數(shù)源。二選一電路如圖3-3所示。7)將圖3-1~圖3-3三個(gè)模塊連接起來(lái),構(gòu)成一個(gè)完整計(jì)數(shù)器。如圖3-4所示電路圖1/500000050Mclock1/500000050Mclock1Hzclock圖3-21/5000000分頻器2選1In1Dout圖3-3二選一電路In2SEn(SW1)clkY0(LED0)Y3(LED3)Y4(LED4)Y5(LED5)Y6(LED6)Y7(LED7)Up/Dn(SW0)2選1SW2clr(BTN_EAST)BTN_SOUTH1/5000000圖3-4完整的可逆計(jì)數(shù)器計(jì)數(shù)器代碼libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;useIEEE.STD_LOGIC_ARITH.ALL;entitycountercoreisPort(clr:inSTD_LOGIC;en:inSTD_LOGIC;dir:inSTD_LOGIC;clk:inSTD_LOGIC;Yout:outSTD_LOGIC_VECTOR(7downto0));endcountercore;architectureBehavioralofcountercoreissignalresult:std_logic_vector(7downto0):="00000000";begin process(clr) begin if(clr='1')then result<="00000000"; elsif(en='1')then if(clk'eventandclk='1')then if(dir='1')then result<=result+1; else result<=result-1; endif; endif; endif; endprocess; Yout<=result;endBehavioral;時(shí)鐘分頻器代碼libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entityfreqdivisPort(clkin:inSTD_LOGIC;clkout:outSTD_LOGIC);endfreqdiv;architectureBehavioraloffreqdivisbegin process(clkin) variablecnt:integer:=0; begin if(clkin'eventandclkin='1')then cnt:=cnt+1; if(cnt<=25000000)then clkout<='0'; elsif(cnt=50000000)then--50000000 cnt:=0; else clkout<='1'; endif; endif; endprocess;endBehavioral;2選1選擇器代碼entitymux21isPort(a:inSTD_LOGIC;b:inSTD_LOGIC;s:inSTD_LOGIC;dout:outSTD_LOGIC);endmux21;architectureBehavioralofmux21isbegin process(a,b,s) begin if(s='0')then dout<=a; else dout<=b; endif; endprocess;endBehavioral;UCF代碼NET"y<7>"LOC="F9"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<6>"LOC="E9"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<5>"LOC="D11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<4>"LOC="C11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<3>"LOC="F11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<2>"LOC="E11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<1>"LOC="E12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;NET"y<0>"LOC="F12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;#PlanAheadGeneratedphysicalconstraintsNET"btn_in"LOC="K17"|IOSTANDARD=LVTTL|PULLDOWN;NET"clk"LOC="C9"|IOSTANDARD=LVCMOS33;NET"clr"LOC="H13"|IOSTANDARD=LVTTL|PULLDOWN;NET"dir"LOC="L13"|IOSTANDARD=LVTTL|PULLUP;NET"en"LOC="L14"|IOSTANDARD=LVTTL|PULLUP;NET"sw_in"LOC="H18"|IOSTANDARD=LVTTL|PULLUP;實(shí)驗(yàn)結(jié)果:計(jì)數(shù)時(shí)鐘頻率為1Hz,通過(guò)對(duì)50Mhz系統(tǒng)時(shí)鐘分頻得到,分頻電路獨(dú)立編寫(xiě)一個(gè)模塊,并對(duì)按鍵次數(shù)進(jìn)行計(jì)數(shù)實(shí)驗(yàn)三:按鍵抖動(dòng)消除及驗(yàn)證電路設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?)進(jìn)一步熟練ISE開(kāi)發(fā)工具,鞏固FPGA開(kāi)發(fā)的基本步驟,掌握功能仿真方法;2)了解按鍵抖動(dòng)的原因,抖動(dòng)消除方法3)掌握狀態(tài)機(jī)的設(shè)計(jì)方法;4)掌握消除抖動(dòng)的狀態(tài)機(jī)設(shè)計(jì)方法5)鞏固程序下載方法;。實(shí)驗(yàn)內(nèi)容:原理簡(jiǎn)介按鍵動(dòng)作發(fā)生時(shí),按鍵的輸出會(huì)出現(xiàn)不穩(wěn)定的邏輯’0’和邏輯’1’的跳變。該信號(hào)直接輸入到計(jì)數(shù)器之類(lèi)電路,會(huì)發(fā)生計(jì)數(shù)錯(cuò)誤。如圖3-5所示。圖3-5信號(hào)抖動(dòng)提示:狀態(tài)機(jī)設(shè)計(jì)思路設(shè)置十個(gè)狀態(tài):S0,S1,S2,S3,S4,S5。電路的復(fù)位信號(hào)RST有效時(shí),電路進(jìn)入復(fù)位狀態(tài)S0,在S0狀態(tài)下,時(shí)鐘信號(hào)CLK以一定頻率采樣按鍵輸入信號(hào)Key_in,如果采樣到Key_in=‘0’,則停留在S0狀態(tài),并繼續(xù)采樣,一旦采樣到Key_in=’1’,則轉(zhuǎn)入S1延時(shí)狀態(tài),進(jìn)行消抖延時(shí),當(dāng)延時(shí)結(jié)束時(shí),Delay_end=’1’,則轉(zhuǎn)入S2狀態(tài),在此狀態(tài)下,時(shí)鐘信號(hào)CLK以一定頻率采樣按鍵輸入Key_in,如果Key_in=‘0’則轉(zhuǎn)入S0,否則轉(zhuǎn)入S3;狀態(tài)S3,S4的轉(zhuǎn)換過(guò)程和條件與S2相同,在狀態(tài)S4下,如果Key_in=’1’,則轉(zhuǎn)入S5狀態(tài),當(dāng)進(jìn)入S5時(shí),表示經(jīng)過(guò)S2,S3,S4三個(gè)連續(xù)狀態(tài)檢測(cè)按鍵輸入Key_in都為‘1’,則認(rèn)為按鍵處于穩(wěn)定狀態(tài),在S5輸出按鍵確認(rèn)信號(hào)Key_confirm=同時(shí)在狀態(tài)S5下,時(shí)鐘信號(hào)CLK檢測(cè)按鍵輸入Key_in,如果Key_in=‘1’,表示按鍵未釋放,繼續(xù)停留在S5,檢測(cè)輸入信號(hào),如果檢測(cè)到Key_in=‘1’,表示按鍵已經(jīng)釋放,輸出Key_confirm=‘0’,返回到狀態(tài)S0,等待下一次按鍵操作。資源使用要求:用LED0~LED7作為計(jì)數(shù)輸出;BTN_EAST作為按鍵。實(shí)驗(yàn)步驟:1)畫(huà)出電路的狀態(tài)轉(zhuǎn)換圖;2)編寫(xiě)完整的VHDL程序;3)下載程序,進(jìn)行驗(yàn)證實(shí)驗(yàn)代碼:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitymystateisPort(clk:inSTD_LOGIC;rst:inSTD_LOGIC;key_in:inSTD_LOGIC;key_confirm:outSTD_LOGIC:='0');endmystate;architectureBehavioralofmystateisTYPESTATE_TYPEIS(s0,s1,s2,s3,s4,s5);SIGNALCURRENT_STATE,NEXT_STATE:STATE_TYPE;beginprocess(current_state,key_in)begincasecurrent_stateis whens0=> if(key_in='0')then next_state<=s0; else next_state<=s1; endif; whens1=> if(key_in='0')then next_state<=s0; else next_state<=s2; endif; whens2=> if(key_in='0')then next_state<=s0; else next_state<=s3; endif; whens3=> if(key_in='0')then next_state<=s0; else next_state<=s4; endif; whens4=> if(key_in='0')then next_state<=s0; else next_state<=s5; endif; whens5=> key_confirm<='1'; if(key_in='0')then next_state<=s0; else next_state<=s5; endif; endcase;endprocess;process(clk,rst)beginif(rst='1')thencurrent_state<=s0;elsif(clk'eventandclk='1')thencurrent_state<=next_state;endif;endprocess;endBehavioral;實(shí)驗(yàn)結(jié)果:設(shè)計(jì)一個(gè)按鍵計(jì)數(shù)器,對(duì)未去抖的信號(hào)和去抖后的信號(hào)分別進(jìn)行計(jì)數(shù)。驗(yàn)證設(shè)計(jì)的正確性。實(shí)驗(yàn)四:兩人乒乓球游戲?qū)嶒?yàn)?zāi)康模?)進(jìn)一步熟練ISE開(kāi)發(fā)工具,鞏固FPGA開(kāi)發(fā)的基本步驟,掌握功能仿真方法;2)鞏固狀態(tài)機(jī)的設(shè)計(jì)方法;3)鞏固按鍵消抖電路設(shè)計(jì)方法;4)掌握多進(jìn)程程序設(shè)計(jì)方法;5)鞏固程序下載方法;6)了解開(kāi)發(fā)板時(shí)鐘資源,以及時(shí)鐘分頻方法。實(shí)驗(yàn)內(nèi)容:原理簡(jiǎn)介兩人乒乓游戲機(jī)用8個(gè)發(fā)光二極管代表乒乓球臺(tái),中間兩個(gè)發(fā)光二極管作為乒乓球王,用點(diǎn)亮的發(fā)光二極管按照一定的方向移動(dòng)來(lái)表示球的運(yùn)動(dòng)。在游戲機(jī)的良策各設(shè)置發(fā)球和擊球開(kāi)關(guān),甲乙雙方按乒乓球比賽規(guī)則來(lái)操作開(kāi)關(guān)。當(dāng)甲方按動(dòng)發(fā)球開(kāi)關(guān)時(shí),靠近甲方的第一個(gè)發(fā)光二極管亮,然后發(fā)光二極管由甲方向乙方一次點(diǎn)亮,代表乒乓球的移動(dòng),當(dāng)球過(guò)網(wǎng)后,按照設(shè)計(jì)者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或者未擊到球,則甲方得分。然后重新發(fā)球比賽,直到一方達(dá)到21分為止,記分清0,重新開(kāi)始新一局比賽。提示:狀態(tài)機(jī)設(shè)計(jì)思路設(shè)置七個(gè)狀態(tài):“等待發(fā)球狀態(tài)”、“第一盞燈亮狀態(tài)”、“第八盞燈亮狀態(tài)”、“球向乙移動(dòng)狀態(tài)”、“球向甲移動(dòng)狀態(tài)”、“允許甲擊球狀態(tài)”、“允許乙擊球狀態(tài)”。開(kāi)始的時(shí)候處于“等待發(fā)球狀態(tài)”,若甲發(fā)球則狀態(tài)轉(zhuǎn)移到“第一盞燈亮狀態(tài)”,若乙發(fā)球則轉(zhuǎn)移到“第八盞燈亮狀態(tài)”。以甲發(fā)球?yàn)槔喝舭l(fā)球后乙沒(méi)有提前擊球(規(guī)定球移動(dòng)到對(duì)方第一個(gè)發(fā)光二極管時(shí)允許擊球),那么狀態(tài)機(jī)從“第一盞燈亮狀態(tài)”轉(zhuǎn)移到“球向乙移動(dòng)狀態(tài)”,若此時(shí)乙依然沒(méi)有提前擊球,狀態(tài)就轉(zhuǎn)移到“允許乙擊球狀態(tài)”,在此狀態(tài)下,如果乙擊球了,那么狀態(tài)就轉(zhuǎn)移到“球向甲移動(dòng)狀態(tài)”。在“第一盞燈亮狀態(tài)”、“球向乙移動(dòng)狀態(tài)”中,如果乙擊球了,就算提前擊球,這樣甲得分,狀態(tài)轉(zhuǎn)移到“等待發(fā)球狀態(tài)”等待發(fā)球。“球向甲移動(dòng)狀態(tài)”之后的過(guò)程和前面的過(guò)程只不過(guò)是甲乙角色的調(diào)換而已,狀態(tài)轉(zhuǎn)移規(guī)則一樣。資源使用要求:1)用LED0~LED7作為乒乓球臺(tái),其中LED3,LED4作為球網(wǎng),總是點(diǎn)亮;2)BTN_EAST作為甲擊球開(kāi)關(guān),SW3作為乙擊球開(kāi)關(guān)。擊球的動(dòng)作為:按下-放開(kāi)。。實(shí)驗(yàn)步驟:1)畫(huà)出游戲的狀態(tài)轉(zhuǎn)換圖;2)建立程序工程;3)編寫(xiě)按鍵去抖進(jìn)程4)編寫(xiě)狀態(tài)機(jī)進(jìn)程;5)下載程序,進(jìn)行驗(yàn)證。實(shí)驗(yàn)代碼------------------------------------------------------------------------------------Company:--Engineer:----CreateDate:17:03:3411/13/2011--DesignName:--ModuleName:VS-Behavioral--ProjectName:--TargetDevices:--Toolversions:--Description:----Dependencies:----Revision:--Revision0.01-FileCreated--AdditionalComments:------------------------------------------------------------------------------------libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;--Uncommentthefollowinglibrarydeclarationifusing--arithmeticfunctionswithSignedorUnsignedvalues--useIEEE.NUMERIC_STD.ALL;--Uncommentthefollowinglibrarydeclarationifinstantiating--anyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entityVSisPort(a:inSTD_LOGIC;b:inSTD_LOGIC;sig:inSTD_LOGIC;Y:outSTD_LOGIC_VECTOR(7downto0));endVS;architectureBehavioralofVSistypestateis(s0,s1,s2,s3,s4,s5,s6);signalCurrent_state :state;signalcount:integer:=1000;signalt:STD_LOGIC_VECTOR(7downto0):="00011000";begin statefsm: process(sig,a,b) variablenum:integer:=0; variablerst:integer:=0; begin if(rising_edge(sig)) then caseCurrent_stateis whens0=> rst:=rst+1; if(rst>=100) then if(a='1')then Current_state<=s1; count<=0; rst:=0; elsif(b='1')then Current_state<=s2; count<=799; rst:=0; endif; endif; whens1=> count<=count+1; if(b='1') then Current_state<=s0; count<=1000; elsif(count=100) then Current_state<=s3; endif; whens2=> count<=count-1; if(a='1') then Current_state<=s0; count<=1000; elsif(count=699) then Current_state<=s4; endif; whens3=> count<=count+1; if(b='1') then Current_state<=s0; count<=1000; elsif(count>=500) then Current_state<=s5; endif; whens4=> count<=count-1; if(a='1') then Current_state<=s0; count<=1000; elsif(count<=399) then Current_state<=s6; endif; whens5=> count<=count+1; if(b='1') then Current_state<=s4; elsif(count>=800) then Current_state<=s0; count<=1000; endif; whens6=> count<=count-1; if(a='1') then Current_state<=s3; elsif(count<=0) then Current_state<=s0; count<=1000; endif; endcase; endif; endprocessstatefsm; Yout: process(sig,count) begin if(rising_edge(sig)) then Y<=t; if(count<0orcount>=800) then t<="00011000"; elsif(count>0andcount<100) then t <="10011000"; elsif(count<200) then t <="01011000"; elsif(count<300) then t <="00111000"; elsif(count<500) then t <="00011000"; elsif(count<600) then t <="00011100"; elsif(count<700) then t <="00011010"; elsif(count<800) then t <="00011001"; endif; endif; endprocessYout; endBehavioral;------------------------------------------------------------------------------------Company:--Engineer:----CreateDate:23:54:1011/09/2011--DesignName:--ModuleName:fenpinqi-Behavioral--ProjectName:--TargetDevices:--Toolversions:--Description:----Dependencies:----Revision:--Revision0.01-FileCreated--AdditionalComments:----------------------------libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;--Uncommentthefollowinglibrarydeclarationifusing--arithmeticfunctionswithSignedorUnsignedvalues--useIEEE.NUMERIC_STD.ALL;--Uncommentthefollowinglibrarydeclarationifinstantiating--anyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entityfenpinqiisPort(a:inSTD_LOGIC;b:outSTD_LOGIC);endfenpinqi;architectureBehavioraloffenpinqiisbegin process(a) variablecout:integer:=1; begin ifrising_edge(a)then cout:=cout+1; if(cout<=250000)thenb<='0'; elsif(cout<500000)thenb<='1'; elsecout:=0; endif; endif; endprocess;endBehavioral;----------------------------Company:--Engineer:----CreateDate:23:10:0811/08/2011--DesignName:--ModuleName:xiaodou-Behavioral--ProjectName:--TargetDevices:--Toolversions:--Description:----Dependencies:----Revision:--Revision0.01-FileCreated--AdditionalComments:----------------------------libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;--Uncommentthefollowinglibrarydeclarationifusing--arithmeticfunctionswithSignedorUnsignedvalues--useIEEE.NUMERIC_STD.ALL;--Uncommentthefollowinglibrarydeclarationifinstantiating--anyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entityxiaodouisPort(clk:inSTD_LOGIC; a:inSTD_LOGIC;b:outSTD_LOGIC);endxiaodou;architectureBehavioralofxiaodouistypestateis(s0,s1,s2,s3,s4,s5);signalCurrent_state :state:=s0;begin statefsm: process(clk,a) variablecount:integer:=300000; b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論