實驗二進(jìn)制分頻器_第1頁
實驗二進(jìn)制分頻器_第2頁
實驗二進(jìn)制分頻器_第3頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一. 二進(jìn)制分頻器實驗?zāi)康?. 分頻器的原理二. 二進(jìn)制分頻器的設(shè)計分頻器的原理1. 分頻器就是對較高頻率的信號進(jìn)行分頻,得到較低頻率的信號。三. 分頻系數(shù)(倍率)rate=fin/fout二進(jìn)制分頻器的設(shè)計二進(jìn)制分頻就是對輸入時鐘進(jìn)行2的整數(shù)次籍分頻。1. 設(shè)計原理:(rate=2N,N是整數(shù))定義一個N位的計數(shù)器,對輸入的時鐘脈沖進(jìn)行計數(shù),計數(shù)結(jié)果的第N-1位就是對輸入時鐘的2的N次籍分頻。將相應(yīng)的位數(shù)取出即可得到分頻時鐘。二進(jìn)制分頻器的VHDLK程序Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;

2、Useieee.std_logic_arith.all;Entityfdivisgeneric(N:integer:=3);-rate=2N,N為正整數(shù)port(clkin:INstd_logic;clkout:OUTstd_logic);Endfdiv;Architectureaoffdivissignalcnt:std_logic_vector(N-1downto0);Beginprocess(clkin)beginif(clkin'eventandclkin='1')thencnt<=cnt+1;endif;endprocess;clkout<=cnt

3、(N-1);Enda;仿真結(jié)果昴分頻。2.如果要產(chǎn)生其他次籍分頻,直接修改generic類屆變量參數(shù)即可:五.實驗結(jié)論本次實驗使我們了解和認(rèn)識AlteraFPGA/CPLD軟件,理論與實踐相結(jié)合,為以后的學(xué)習(xí)打下堅實的基礎(chǔ)。一. 實驗二序列信號檢測器實驗?zāi)康?1) 掌握關(guān)丁申行序列的設(shè)計。(2) 掌握狀態(tài)機(jī)的設(shè)計。二. 實驗要求(1) 設(shè)計序列發(fā)生器,產(chǎn)生序列:011101001101101Q(2) 設(shè)計檢測器,若檢測到申行序列11010,則輸出為1,否則輸出為0,并對其進(jìn)行仿真。三. 實驗原理每收到一個符合要求的申行碼就需要用一個狀態(tài)進(jìn)行記憶。申行碼長度為5位,需要5個狀態(tài);另外,還需要增加

4、一個“未收到一個有效位”狀態(tài),共6個狀態(tài);畫出狀態(tài)轉(zhuǎn)換圖,如圖所示,這是一個莫爾狀態(tài)機(jī)。6個狀態(tài)機(jī)根據(jù)編碼原則可以用3位二進(jìn)制數(shù)來表示。四. 當(dāng)?shù)竭_(dá)F狀態(tài)時,zout輸出為1,否則為0VHDL®程序【程序源代碼】libraryieee;useieee.std_logic_1164.all;entitydetectisport(din,clk,clr:instd_logic;dout:outstd_logic);enddetect;architecturertlofdetectistypestateis(s0,s1,s2,s3,s4,s5,s6,s7);signalcurrent_st

5、ate,next_state:state;beginprocess(clk,clr)beginifclr='0'thenquartusIIcurrent_state<=s0;elsifclk'eventandclk='1'thencurrent_state<=next_state;elsenull;endif;endprocess;process(din,current_state)begincasecurrent_stateiswhens0=>dout<='0'ifdin='1'thennext_

6、state<=s1;elsenext_state<=s0;endif;whens1=>dout<='0'ifdin='1'thennext_state<=s2;elsenext_state<=s0;endif;whens2=>dout<='0'ifdin='1'thennext_state<=s3;elsenext_state<=s0;endif;whens3=>dout<='0'ifdin='0'thennext_state&

7、lt;=s4;elsenext_state<=s0;endif;whens4=>dout<='0'ifdin='0'thennext_state<=s5;elsenext_state<=s0;endif;whens5=>dout<='0'ifdin='1'thennext_state<=s6;elsenext_state<=s0;endif;whens6=>dout<='0'ifdin='0'thennext_state<=s7

8、;elsenext_state<=s0;endif;whens7=>ifdin='1'thennext_state<=s0;dout<='1'elsenext_state<=s0;dout<='0'endif;whenothers=>current_state<=s0;dout<='0'endcase;endprocess;endrtl;五. 實驗總結(jié)在此次的課程實驗中,使我對VHDL®言有了進(jìn)一步的認(rèn)識和了解。對丁以后的工作或?qū)W習(xí)奠定一定的基礎(chǔ)。附錄集成電路curr

9、ent_state2.門集電路圖Sctr01SetitO3neste11neSiJ21curSn2nesttS31currentn_t8lTATAAcursintATABATAACOM3CcursiO:COMBOUTD)ATADATACIATAADATABATABdiiATADCOMATAD5SB550OMbATACATADLOGCELL775OMBcomboutDq|IFlr,ATAACOMATABLOgsELlWSOJMBn_a51curSMcursieitnesfe61curstisSicunS&StdoUtscro2ACATADDATAA_DATAAi-EREi-b.BBfqC

10、OMBOUTp(BogQDATADiBDATADDATABDATAADATAADATABLOG1ELL50OMCOIdout3.時序仿真結(jié)果實驗三交通控制器的設(shè)計一. 實驗?zāi)康?1) 初步學(xué)習(xí)運用VHD邸言編寫模塊程序。(2) 鞏固課堂所學(xué)的組合邏輯電路,時序邏輯電路及其有關(guān)的應(yīng)用。(3) 提高實踐及運用理論知識。二. 實驗原理利用EDA/SOPC驗開發(fā)平臺提供的八位七段管碼顯示模塊以及EP2C3骸心板,實現(xiàn)交通燈信號控制器。pQRVGHCD支道OOO主干道主干道RVGOOO支適1.總體設(shè)計框圖1. 原理概述:(1)由丁主干道,支干道的交通燈均在綠,黃,紅三種狀態(tài)之間有順序的轉(zhuǎn)換,組合共有四種

11、。所以,利用狀態(tài)機(jī)按照設(shè)定的條件實現(xiàn)“主綠,支紅”“主黃,支紅”、“主紅,支綠”、“主紅,支黃”4種狀態(tài)之間的切換。(2) 因為紅黃綠燈之間轉(zhuǎn)換有時間限制,所以要有計數(shù)器,可用七段數(shù)碼管顯示模塊,由于時間是兩位數(shù),所以只需要八位七段管碼顯示模塊其中的2位實現(xiàn)時間顯示。(3) 由于實驗室提供的基準(zhǔn)頻率為50MHZ所以得用分頻器得到所需要的頻率。三. VHDl>程序【程序源代碼】libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycountisgeneric(DWIDTH:integer:=4

12、);port(clr:instd_logic;clk:instd_logic;count_data:outstd_logic_vector(DWIDTH-1downto0);endcount;architecturertlofcountissignaltemp:std_logic_vector(DWIDTH-1downto0);beginprocess(clk,clr)beginif(clr='0')then-活零temp<="0000"elsif(clk'eventandclk='1')theniftemp="100

13、1"then-計數(shù)滿后歸零temp<="0000"elsetemp<=temp+1;endif;endif;endprocess;count_data<=temp;-輸出計數(shù)結(jié)果四. endrtl;實驗總結(jié)在此次的課程設(shè)計中,我遇到了很多的問題。但是如果自己通過翻閱資料,或者請教老師同學(xué),努力了也堅持了下來,那么所掌握的,就不僅僅是課本上的簡單理論,而是豐富的實踐經(jīng)驗,這些經(jīng)驗對于以后的工作或?qū)W習(xí)奠定一定的基礎(chǔ)。附錄1.集成電路count_data3.02.門集電路3.時域仿真dk:k實驗四十進(jìn)制計數(shù)器(1) 實驗?zāi)康牧私庥嫈?shù)器的工作原理和應(yīng)用。

14、(2) 了解計數(shù)器中的編碼方式。一. 實驗原理在時鐘沿有效時盡享累加計數(shù),計數(shù)滿后自動歸零,活零信號有效時,計數(shù)器的輸出端全部活零;其他情況下,計數(shù)器的輸出保持不變。VHD明程序【程序源代碼】libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycountisgeneric(DWIDTH:integer:=4);port(clr:instd_logic;clk:instd_logic;count_data:outstd_logic_vector(DWIDTH-1downto0);endcount;

15、architecturertlofcountissignaltemp:std_logic_vector(DWIDTH-1downto0);beginprocess(clk,clr)beginif(clr='0')then-活零temp<="0000"elsif(clk'eventandclk='1')theniftemp="1001"then-計數(shù)滿后歸零temp<="0000"elsetemp<=temp+1;endif;endif;endprocess;count_data

16、<=temp;-輸出計數(shù)結(jié)果二. endrtl;實驗總結(jié)通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次乂一次的思考,一遍乂一遍的檢查終丁找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談兵。2.門集電路PRED(Qtam2)tmp4DATABtmp6tmpDATAACOMBOUTDATACCOMDATAADATAADATADDATABECOMBOUTDATABLOCCEL喧555MIBENAENADATACCOM1BOUT,DQDATACDATAD!CL!ClENADA

17、TADLqGJELbQEranyiBEN,LOGCELI68CO1MIB!CLRTlR(kPFD,E!CPRBOUTDQtmp頃lg_celqcomb3.時域仿真T實驗五分位譯碼器電路一. 實驗?zāi)康?1) 了解分位譯碼器的工作原理。(2) 了解分位譯碼器的應(yīng)用。二. 實驗原理1.七段顯示譯碼器在數(shù)字測量儀表和各種數(shù)字系統(tǒng)中,都需要將數(shù)字量直觀地顯示出來,一方面供人們直接讀取測量和運算的結(jié)果;另一方面用丁監(jiān)視數(shù)字系統(tǒng)的工作情況。因此,數(shù)字顯示電路是許多數(shù)字設(shè)備不可缺少的部分。數(shù)字顯示電路通常由譯碼器、驅(qū)動器和顯示器等部分組成,如圖5.3.5所示。圖5.3代數(shù)字顯示電路組成方框圖7448七段顯示譯

18、碼器7448七段顯示譯碼器輸出高電平有效,用以驅(qū)動共陰極顯示器。該集成顯示譯碼器設(shè)有多個輔助控制端,以增強(qiáng)器件的功能。7448的功能表如表5.3.4所示,它有3個輔助控制端LT、RBI、BI/RBO,現(xiàn)簡要說明如下:滅燈輸入BI/RBOBI/RBO是特殊控制端,有時作為輸入,有時作為輸出。當(dāng)BI/RB。作輸入使用且BI=0時,無論其它輸入端是什么電平,所有各段輸入ag均為0,所以字形熄滅。試燈輸入LT當(dāng)LT=0時,BI/RB。是輸出端,且RB61,此時無論其它輸入端是什么狀態(tài),所有各段輸出ag均為1,顯示字形8。該輸入端常用丁檢查7488本身及顯小器的好壞。三. VHDLK程序【程序源代碼】l

19、ibraryieee;-引用庫useieee.std_logic_1164.all;useieee.numeric_std.all;useieee.std_logic_unsigned.all;entityled_dispisport(clk,rst:instd_logic;-clk計數(shù)脈沖rst計數(shù)復(fù)位,data:instd_logic_vector(5downto0);-要顯示的數(shù)據(jù)sel:outstd_logic_vector(1downto0);data_disp:outstd_logic_vector(6downto0);endled_disp;architectureRTLofle

20、d_dispissignalcount:integerrange9downto0;signaltemp:integerrange4downto0;signalnumber_h,number_l:integerrange0to9;beginprocess(data,clk,rst)beginif(rst='0')thennumber_h<=0;number_l<=0;elsif(to_integer(unsigned(data)>=60)thennumber_h<=6;number_l<=to_integer(unsigned(data)-60;el

21、sif(to_integer(unsigned(data)>=50)thennumber_h<=5;number_l<=to_integer(unsigned(data)-50;elsif(to_integer(unsigned(data)>=40)thennumber_h<=4;number_l<=to_integer(unsigned(data)-40;elsif(to_integer(unsigned(data)>=30)thennumber_h<=3;number_l<=to_integer(unsigned(data)-30;el

22、sif(to_integer(unsigned(data)>=20)thennumber_h<=2;number_l<=to_integer(unsigned(data)-20;elsif(to_integer(unsigned(data)>=10)thennumber_h<=8;number_l<=to_integer(unsigned(data)-10;elsenumber_h<=0;number_l<=to_integer(unsigned(data);endif;endprocess;process(clk,rst,temp,number_h,number_l)beginif(clk'eventandclk='1')thenif(temp=1)then-計數(shù)到9活零temp<=0;elsetemp<=temp+1;endif;endif;casetempiswhen0=>sel<="01"count<=number_l;when1=>sel<="1

溫馨提示

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

最新文檔

評論

0/150

提交評論