西安電子科技大學(xué)EDA實(shí)驗(yàn)報(bào)告
《西安電子科技大學(xué)EDA實(shí)驗(yàn)報(bào)告》由會員分享,可在線閱讀,更多相關(guān)《西安電子科技大學(xué)EDA實(shí)驗(yàn)報(bào)告(12頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 EDA大作業(yè)及實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)一:QUARTUS Ⅱ軟件使用及組合電路設(shè)計(jì)仿真 實(shí)驗(yàn)?zāi)康模? 學(xué)習(xí) QUARTUS Ⅱ 軟件的使用,掌握軟件工程的建立,VHDL源文件的設(shè)計(jì)和波形仿真等基本內(nèi)容; 實(shí)驗(yàn)內(nèi)容: 1. 四選一多路選擇器的設(shè)計(jì) 首先利用QuartusⅡ完成4選1多路選擇器的文本編輯輸入(mux41a.vhd)和仿真測試等步驟,給出仿真波形。 步驟: (1) 建立工作庫文件夾和編輯設(shè)計(jì)文件; (2) 創(chuàng)建工程; (3) 編譯前設(shè)置; (4) 全程編
2、譯; (5) 時(shí)序仿真; (6) 應(yīng)用RTL電路圖觀測器(可選擇) 實(shí)驗(yàn)程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT( S10:IN STD_LOGIC_VECTOR(1 DOWNTO 0); A,B,C,D:IN STD_LOGIC; Q:OUT STD_LOGIC ); END ENTITY mux41; ARCHITECTURE bhv OF mux41 IS BEGIN PROCESS(A,B,C,D,S10)
3、 BEGIN IF S10="00" THEN Q<=A; ELSIF S10="01" THEN Q<=B; ELSIF S10="10" THEN Q<=C; ELSE Q<=D; END IF; END PROCESS; END bhv; 波形仿真如圖: 其中,分別設(shè)置A,B,C,D四個(gè)輸入都為10.0ns的方波,其占空比分別為25%,50%,75%,90%以作為四種輸入的區(qū)分,使能端s10以此輸入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以觀察
4、到輸出端Q依次輸出分別為A,B,C,D。試驗(yàn)成功。 其RTL電路圖為: 2.七段譯碼器程序設(shè)計(jì)仿真 2.1 原理:7段數(shù)碼是純組合電路,通常的小規(guī)模專用IC,如74或4000系列的器件只能作十進(jìn)制BCD碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用VHDL譯碼程序在FPGA或CPLD中實(shí)現(xiàn)。本項(xiàng)實(shí)驗(yàn)很容易實(shí)現(xiàn)這一目的。例1作為7段BCD碼譯碼器的設(shè)計(jì),輸出信號LED7S的7位分別接如實(shí)驗(yàn)圖1數(shù)碼管的7個(gè)段,高位在左,低位在右。例如當(dāng)LED7S輸出為 "" 時(shí),數(shù)碼管的7個(gè)段:g、f、e、d、c、b、a
5、分別接0、0、1、0、0、1、0,實(shí)驗(yàn)中的數(shù)碼管為共陽極的,接有低電平的段發(fā)亮,于是數(shù)碼管顯示“5”。 實(shí)驗(yàn)圖1 數(shù)碼管及其電路 2.2 實(shí)驗(yàn)內(nèi)容:參考后面的七段譯碼器程序,在QUARTUS II上對以下程序進(jìn)行編輯、編譯、綜合、適配、仿真,給出其所有信號的時(shí)序仿真波形。 試驗(yàn)程序如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DecL7S IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; LED
6、7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END ; ARCHITECTURE one OF DecL7S IS BEGIN PROCESS( A ) BEGIN CASE A(3 DOWNTO 0) IS WHEN "0000" => LED7S <= "" ; -- X“80”->0 WHEN "0001" => LED7S <= "" ; -- X“79”->1 WHEN "0010" => LE
7、D7S <= "" ; -- X“24”->2 WHEN "0011" => LED7S <= "" ; -- X“30”->3 WHEN "0100" => LED7S <= "" ; -- X“19”->4 WHEN "0101" => LED7S <= "" ; -- X“12”->5 WHEN "0110" => LED7S <= "" ; -- X“02”->6 WHEN "0111" => LED7S <= "" ; -- X“78”->7
8、 WHEN "1000" => LED7S <= "" ; -- X“00”->8 WHEN "1001" => LED7S <= "" ; -- X“10”->9 WHEN "1010" => LED7S <= "" ; -- X“08”->A WHEN "1011" => LED7S <= "" ; -- X“03”->B WHEN "1100" => LED7S <= "" ; -- X“46”->C WHEN "1101" => LED7S <=
9、 "" ; -- X“21”->D WHEN "1110" => LED7S <= "" ; -- X“06”->E WHEN "1111" => LED7S <= "" ; -- X“0E”->F WHEN OTHERS => NULL ; END CASE ; END PROCESS ; END ; 波形仿真如圖: 如圖,當(dāng)輸入端A依次輸入0-15的四位二進(jìn)制碼時(shí),輸出端依次輸出(0-9及A-F)的數(shù)碼管所對應(yīng)的七位二進(jìn)制數(shù),例如,當(dāng)輸入0000時(shí),輸出端
10、輸出(即字符@的ASCII碼),顯示在數(shù)碼段上即‘0’。 實(shí)驗(yàn)二 計(jì)數(shù)器設(shè)計(jì)與顯示 實(shí)驗(yàn)?zāi)康模? (1)熟悉利用QUARTUS II中的原理圖輸入法設(shè)計(jì)組合電路,掌握層次化設(shè)計(jì)的方法; (2)學(xué)習(xí)計(jì)數(shù)器設(shè)計(jì)、多層次設(shè)計(jì)方法和總線數(shù)據(jù)輸入方式的仿真,并進(jìn)行電路板下載演示驗(yàn)證。 實(shí)驗(yàn)內(nèi)容: 1.完成計(jì)數(shù)器設(shè)計(jì) 設(shè)計(jì)含有異步清零和計(jì)數(shù)使能的4位二進(jìn)制加減可控計(jì)數(shù)器。 要求:(1)寫出設(shè)計(jì)框圖、流程和方法; (2) 利用VHDL設(shè)計(jì)實(shí)現(xiàn)程序; (3)進(jìn)行波形仿真驗(yàn)證; CLC,CLK,EN 開始 EN,CLC,C
11、LK 開始 (4)完成設(shè)計(jì)實(shí)驗(yàn)報(bào)告:將實(shí)驗(yàn)原理、設(shè)計(jì)過程、編譯仿真波形和分析結(jié)果寫進(jìn)實(shí)驗(yàn)報(bào)告。 CLC=’0’ Q1<=Q1-1Q Q1<=Q1+1 EN=’1’ CLK’EVENT CLK=’1’ Q1<=(OTHERS=>'0') NO Y Q<=Q1 Y N 其設(shè)計(jì)原理:由三個(gè)輸入端CLC,CLK,EN控制計(jì)數(shù)器的輸出和計(jì)數(shù)方式,其中當(dāng)清零端CLC=’1’時(shí),輸出端輸出為全零;當(dāng)CLC=’0’時(shí),正常計(jì)數(shù)。其中如果出現(xiàn)時(shí)鐘上升沿,加減控制端EN=’1’時(shí),為加法計(jì)數(shù),反之則為減法計(jì)數(shù)。在程序設(shè)計(jì)時(shí),在進(jìn)程中引入信號Q1,在進(jìn)程中完成標(biāo)準(zhǔn)
12、邏輯位的加減,結(jié)束進(jìn)程之后將其給輸出。設(shè)計(jì)框圖如上所示。 實(shí)驗(yàn)程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS PORT(CLK:IN STD_LOGIC; EN:IN STD_LOGIC; CLC:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY CNT4; ARCHITECTURE
13、BHV OF CNT4 IS SIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF CLC='1' THEN Q1<=(OTHERS=>'0'); ELSIF (CLK'EVENT AND CLK='1') THEN IF EN='1' THEN Q1<=Q1+1; ELSE Q1<=Q1-1; END IF; END IF; END PROCESS; Q<=Q1; EN
14、D ARCHITECTURE BHV; 波形仿真結(jié)果如圖: 如上圖所示,當(dāng)CLC=’1’時(shí),清零;否則,正常計(jì)數(shù)。EN=’0’時(shí),減法計(jì)數(shù),EN=’1’時(shí),加法計(jì)數(shù)。仿真驗(yàn)證實(shí)驗(yàn)設(shè)計(jì)成功。 2.計(jì)數(shù)器顯示譯碼設(shè)計(jì)與下載 用原理圖輸入法的方式,以前面設(shè)計(jì)的七段譯碼器DecL7S和計(jì)數(shù)器為底層元件,完成“計(jì)數(shù)器顯示譯碼”的頂層文件設(shè)計(jì)。 設(shè)計(jì)原理:為了使數(shù)碼管的變化能夠用肉眼觀察,將輸入時(shí)鐘(50MHz)先進(jìn)行進(jìn)行50M分頻,輸出頻率為1Hz的時(shí)鐘。其中分頻器采用M=50M計(jì)數(shù)器的進(jìn)位輸出端來實(shí)現(xiàn),將分頻后的時(shí)鐘信號送入四位二進(jìn)制加減可控計(jì)數(shù)器的時(shí)鐘輸入端。 四位二進(jìn)制加減可控計(jì)數(shù)
15、器由實(shí)驗(yàn)1中提供,其輸出作為七段譯碼器的輸入端。 50M分頻器程序設(shè)計(jì): LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT5M IS PORT(CLK:IN STD_LOGIC; CLK_OUT:OUT STD_LOGIC ); END ENTITY CNT5M; ARCHITECTURE BHV OF CNT5M IS SIGNAL COUNT:STD_LOGIC_VECTOR(26 DOWNTO 0);
16、 BEGIN PROCESS BEGIN WAIT UNTIL CLK'EVENT AND CLK='1'; IF(COUNT<) THEN COUNT<=COUNT+1; CLK_OUT<='0'; ELSE COUNT<=(OTHERS=>'0'); CLK_OUT<='1'; END IF; END PROCESS; END ARCHITECTURE BHV; 修改后加減計(jì)數(shù)器程序: LIBRARY IEEE; USE
17、 IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS PORT(CLK:IN STD_LOGIC; UPDOWN:IN STD_LOGIC; RESET,ENABLE:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY CNT4; ARCHITECTURE BHV OF CNT4 IS SIGNAL Q1:STD_LOGIC_VECTO
18、R(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF ENABLE='1' THEN IF RESET='1' THEN Q1<=(OTHERS=>'0'); ELSIF (CLK'EVENT AND CLK='1') THEN IF UPDOWN='1' THEN Q1<=Q1+1; ELSE Q1<=Q1-1; END IF; END IF; END IF; END PROCESS; Q<=Q1; END ARC
19、HITECTURE BHV; 其原理圖如下: 其中為了便于觀察,我們只仿真未加分頻器時(shí)的的波形圖如下: 其中,ENABLE為使能端,其為1時(shí),電路正常工作。RESET為復(fù)位端,當(dāng)其為1時(shí),輸出為全零。UPDOWAN為加減控制端,其為0時(shí),減法計(jì)數(shù),為1時(shí),加法計(jì)數(shù)。 硬件測試: 將編譯好的的程序下載到實(shí)驗(yàn)板上,其引腳對應(yīng)如原理圖所示。 引腳及開關(guān)對應(yīng)關(guān)系如下: 控制引腳 enable reset updown 對應(yīng)的開關(guān) SW0 SW1 SW2 上電后,SW0為低電平,數(shù)碼管輸出為‘0‘,SW0為高電平時(shí),正常計(jì)數(shù)。將SW1置為高電平時(shí),清零,數(shù)碼管顯
20、示‘0’;只為低電平時(shí),數(shù)碼管正常顯示。SW2為低電平時(shí),減法計(jì)數(shù),為高電平時(shí),加法計(jì)數(shù)。 實(shí)驗(yàn)三:大作業(yè)設(shè)計(jì)——循環(huán)彩燈控制器 實(shí)驗(yàn)任務(wù):設(shè)計(jì)一個(gè)循環(huán)彩燈控制器,該控制器可控制10個(gè)發(fā)光二極管循環(huán)點(diǎn)亮、間隔點(diǎn)亮或者閃爍等花型。要求至少設(shè)計(jì)三種以上花型,并用按鍵控制花型之間的轉(zhuǎn)換。 實(shí)驗(yàn)設(shè)計(jì):本實(shí)驗(yàn)通過設(shè)計(jì)一個(gè)擁有11個(gè)狀態(tài)的狀態(tài)機(jī),其11個(gè)暫態(tài)s0-s10循環(huán)鏈接,將其所代替的二進(jìn)制碼送入led燈,以實(shí)現(xiàn)彩燈“流水”的特性。對于每個(gè)暫態(tài),都擁有4種二進(jìn)制碼,通過對輸入的使能端EN12的判斷,決定輸出的碼值,進(jìn)而確定顯示的彩燈的類型。同時(shí)用數(shù)碼管作為彩燈花型序號的顯示裝置
21、,當(dāng)EN12為00時(shí),顯示‘1’;01時(shí)顯示‘2’;10時(shí)顯示‘3’,11時(shí)顯示‘4’。為了能搞看清彩燈的變化規(guī)律,須先經(jīng)過50M分頻器分頻。 程序設(shè)計(jì)如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY LIUSHUI IS PORT( CLK:IN STD_LOGIC; EN1:IN STD_LOGIC; EN2:IN STD_LOGIC; CON:IN STD_LOGIC; Z:OUT STD_LOGIC
22、_VECTOR(9 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END ENTITY LIUSHUI; ARCHITECTURE BHV OF LIUSHUI IS TYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5,S6,S7,S8,S9); SIGNAL CURRENT_STATE,NEXT_STATE:STATE_TYPE; SIGNAL EN12:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN EN12<=EN1&EN
23、2; TONGBU:PROCESS BEGIN WAIT UNTIL CLK'EVENT AND CLK='1'; CURRENT_STATE<=NEXT_STATE; END PROCESS; ZHUANYI:PROCESS(CURRENT_STATE) BEGIN NEXT_STATE<=CURRENT_STATE; CASE CURRENT_STATE IS WHEN S0=>NEXT_STATE<=S1; WHEN S1=>NEXT_STATE<=S2; WHEN
24、 S2=>NEXT_STATE<=S3; WHEN S3=>NEXT_STATE<=S4; WHEN S4=>NEXT_STATE<=S5; WHEN S5=>NEXT_STATE<=S6; WHEN S6=>NEXT_STATE<=S7; WHEN S7=>NEXT_STATE<=S8; WHEN S8=>NEXT_STATE<=S9; WHEN S9=>NEXT_STATE<=S0; END CASE; END PROCESS
25、; SHUCHU:PROCESS(CURRENT_STATE,EN12) BEGIN IF CON='1' THEN Z<=(OTHERS=>'0'); CASE EN12(1 DOWNTO 0) IS WHEN "00"=>LED7S<=""; WHEN "01"=>LED7S<=""; WHEN "10"=>LED7S<=""; WHEN "11"=>LED7S<=""; END CASE; CASE CURRENT_STATE IS
26、 WHEN S0=> Z<=""; WHEN S1=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHE
27、N S2=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHEN S3=> IF EN12="00" THEN
28、 Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHEN S4=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN
29、 Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHEN S5=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10"
30、THEN Z<=""; ELSE Z<=""; END IF; WHEN S6=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE
31、 Z<=""; END IF; WHEN S7=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF;
32、 WHEN S8=> IF EN12="00" THEN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHEN S9=> IF EN12="00" TH
33、EN Z<=""; ELSIF EN12="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; WHEN S10=> IF EN12="00" THEN Z<=""; ELSIF EN1
34、2="01" THEN Z<=""; ELSIF EN12="10" THEN Z<=""; ELSE Z<=""; END IF; END CASE; END IF; END PROCESS; END ARCHITECTURE BHV; 其波形仿真結(jié)果如圖: 其中 當(dāng)CON為1時(shí),正常顯示,當(dāng)其為0時(shí),保持上一次最后花型。如圖所示, 當(dāng)EN12為00時(shí),LED7S為(即
35、‘1‘的二進(jìn)制碼),此時(shí)Z[9]-Z[0]作為流水燈,依次點(diǎn)亮,視為花型1; 當(dāng)EN12為10時(shí),LED7S為(即‘2‘的二進(jìn)制碼),此時(shí)Z[9]-Z[0]作為流水燈,依次逐漸全部點(diǎn)亮,視為花型2; 當(dāng)EN12為01時(shí),LED7S為(即‘3‘的二進(jìn)制碼),此時(shí)Z[9]-Z[0]作為流水燈,依次逐漸由兩頭向中間挨個(gè)點(diǎn)亮,視為花型3; 當(dāng)EN12為01時(shí),LED7S為(即‘4‘的二進(jìn)制碼),此時(shí)Z[9]-Z[0]作為流水燈,全亮之后全滅之后再全亮,即閃爍,視為花型4。 這樣可視為完成四種花型的循環(huán)彩燈。 其原理圖如圖: 引腳及開關(guān)對應(yīng)關(guān)系如下: 控制引腳 CON EN1 EN2 對應(yīng)的開關(guān) SW0 SW1 SW2 硬件測試: 將編譯好的的程序下載到實(shí)驗(yàn)板中, 當(dāng)SW1與SW2為00時(shí),數(shù)碼管顯示1,Z[9]-Z[0]挨個(gè)依次點(diǎn)亮后又熄滅。 當(dāng)SW1與SW2為01時(shí),數(shù)碼管顯示2,Z[9]-Z[0]挨個(gè)依次點(diǎn)亮最終全部點(diǎn)亮。 當(dāng)SW1與SW2為10時(shí),數(shù)碼管顯示3,Z[9]-Z[0]依次逐漸由兩頭向中間挨個(gè)點(diǎn)亮。 當(dāng)SW1與SW2為11時(shí),數(shù)碼管顯示4,Z[9]-Z[0]全亮之后全滅之后再全亮,完成閃爍功能。 當(dāng)SW0置為0時(shí),彩燈停止變化。 驗(yàn)證試驗(yàn)成功。 專心---專注---專業(yè)
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隱蔽工程驗(yàn)收要點(diǎn)
- 給排水中水泵揚(yáng)程與壓力的關(guān)系
- 水泥廠燒成回轉(zhuǎn)窯中控操作問題解答
- 地暖安裝注意事項(xiàng)
- 水泥廠中控操作自動化專業(yè)試題(附答案)
- 防水套管的應(yīng)用與分類
- 施工現(xiàn)場職業(yè)健康管理制度
- 常見基坑工程的支護(hù)方式
- 水泥包裝車間各崗位職責(zé)
- 打樁機(jī)的種類
- 水泥磨操作員試題(附答案)
- 鋼結(jié)構(gòu)工程量計(jì)算注意事項(xiàng)
- 水泥控制工試題(附答案)
- 水泥生產(chǎn)工藝類知識考試題(附答案)-
- 鋼結(jié)構(gòu)安裝施工安全技術(shù)交底范文