西電電院EDA實驗報告_第1頁
西電電院EDA實驗報告_第2頁
西電電院EDA實驗報告_第3頁
西電電院EDA實驗報告_第4頁
西電電院EDA實驗報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z.EDA實驗報告教師:明磊:同**:學院:電子工程學院實驗一:QUARTUSII軟件使用及組合電路設(shè)計仿真一、實驗?zāi)康模簩W習QUARTUSII軟件的使用,掌握軟件工程的建立、VHDL源文件的設(shè)計和波形仿真等根本容;二、實驗容:四選一多路選擇器的設(shè)計首先利用QuartusⅡ完成4選1多路選擇器的文本編輯輸入(mu*41a.vhd)和仿真測試等步驟,給出仿真波形。、功能及原理原理:數(shù)據(jù)選擇器又稱為多路轉(zhuǎn)換器或多路開關(guān),它是數(shù)字系統(tǒng)中常用的一種典型電路。其主要功能是從多路數(shù)據(jù)中選擇其中一路信號發(fā)送出去。所以它是一個多輸入、單輸出的組合邏輯電路。功能:中選擇控制端s10=00時,輸出;s10=01時,輸出;s10=10時,輸出;s10=11時,輸出。、邏輯器件符號、VHDL語言、波形仿真、仿真分析由波形可知:當s10=00時,y的波形與a一樣;當s10=01時,y的波形與b一樣;當s10=10時,y的波形與c一樣;當s10=11時,y的波形與d一樣;與所要實現(xiàn)的功能相符,源程序正確。七段譯碼器程序設(shè)計仿真、功能及原理7段數(shù)碼是純組合電路,通常的小規(guī)模專用IC,如74或4000系列的器件只能作十進制BCD碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運算都是2進制的,所以輸出表達都是16進制的,為了滿足16進制數(shù)的譯碼顯示,最方便的方法就是利用VHDL譯碼程序在FPGA或CPLD中實現(xiàn)。實驗中的數(shù)碼管為共陽極,接有低電平的段發(fā)亮。例如當LED7S輸出為"0010010"時,數(shù)碼管的7個段:g、f、e、d、c、b、a分別接0、0、1、0、0、1、0,于是數(shù)碼管顯示"5〞。、邏輯器件符號、VHDL語言、波形仿真、仿真分析由仿真波形可以直觀看到,當A="0000〞時,led7s=1000000,數(shù)碼管顯示為0;A="0001〞時,led7s=1111001,數(shù)碼管顯示為1;....依此可驗證波形仿真結(jié)果完全符合預期,源程序正確。實驗心得在第一次上機實驗中,我們通過對EDA設(shè)計軟件QuartusⅡ使用,初步學會了它的使用方法。在實驗中我們編寫程序,編譯,進展時序仿真以驗證程序?qū)﹀e等。在完成VHDL的編輯以后,進展編譯,結(jié)果出現(xiàn)了很多錯誤,在細心的檢查之下,最終將VHDL描述修改成功并且通過了編譯,在編譯過程中我了解到很多在書本上沒有理解的知識??偟膩碚f,通過上機實驗,我激發(fā)了對EDA學習的興趣,也對這門課程有了更深的理解,對EDA設(shè)計軟件Quarter

Ⅱ的使用也更加熟練。實驗二計數(shù)器設(shè)計與顯示一、實驗?zāi)康摹?〕、熟悉利用QUARTUSII中的原理圖輸入法設(shè)計組合電路,掌握層次化設(shè)計的方法;〔2〕、學習計數(shù)器設(shè)計、多層次設(shè)計方法和總線數(shù)據(jù)輸入方式的仿真,并進展電路板下載演示驗證。二、實驗容1、完成計數(shù)器設(shè)計〔4位二進制加減可控計數(shù)器〕〔1〕、功能及原理含有異步清零和計數(shù)使能的4位二進制加減可控計數(shù)器:清零端reset:低電平有效,異步清零,即reset=0時,無論時鐘處于什么狀態(tài),輸出立即置零。使能端enable:高電平有效,即enable=1時,計數(shù)器開場計數(shù);enable=0時,計數(shù)器停頓計數(shù)。加減控制端updown:當updown=0時,為減法計數(shù)器;當updown=1時,為加法計數(shù)器。、邏輯器件符號、VHDL語言、波形仿真updown=1時,為加法計數(shù):updown=0時,為減法計數(shù):、仿真分析由以上兩個波形很容易看出,enable=1時,計數(shù)器開場計數(shù);reset=0時,計數(shù)器置零;updown=0時,減法計數(shù);updown=1時,加法計數(shù);co為進位端。符合設(shè)計初衷。2、50M分頻器的設(shè)計〔1〕、功能及原理50M分頻器的作用主要是控制后面的數(shù)碼管顯示的快慢。即一個模為50M的計數(shù)器,由時鐘控制,分頻器的根本原理與上述計數(shù)器根本一樣。分頻器的進位端co用來控制加減計數(shù)器的時鐘,將兩個器件連接起來?!?〕、邏輯器件符號〔3〕、VHDL語言(4)、波形仿真(5)、仿真分析由波形仿真可以看出,enable=1時,由0開場計數(shù),由于計數(shù)器模值較大,故只顯示了一局部波形,計數(shù)圍由0到50M。3、七段譯碼器程序設(shè)計在實驗一中已給出具體程序及仿真結(jié)果,不再贅述。4、計數(shù)器顯示譯碼設(shè)計與下載以前面設(shè)計的七段譯碼器decl7s和計數(shù)器為底層元件,完成"計數(shù)器顯示譯碼〞的頂層文件設(shè)計。計數(shù)器和譯碼器連接電路的頂層文件原理圖如下:原理圖連接好之后就可以進展引腳的鎖定,然后將整個程序下載到已經(jīng)安裝好的電路板上,即可進展仿真演示。實驗心得實驗三:大作業(yè)設(shè)計〔循環(huán)彩燈〕一、實驗?zāi)康模壕C合應(yīng)用數(shù)字電路的各種設(shè)計方法,完成一個較為復雜的電路設(shè)計;設(shè)計目標設(shè)計一個循環(huán)彩燈控制器,該控制器可控制10個發(fā)光二極管循環(huán)點亮、間隔點亮或者閃爍等花型。要求至少設(shè)計三種以上花型,用按鍵控制花型之間的轉(zhuǎn)換,并用數(shù)碼管顯示當前花型。三.實驗分工碩負責代碼搜查與編寫,王卓負責電路連接與引腳編寫四.設(shè)計流程1、分頻器的設(shè)計所用50M分頻器在實驗二中已有具體說明,不再贅述。彩燈控制器的設(shè)計、功能及原理清零端reset:高電平有效,異步清零。即當reset=1時,燈全滅。使能端enable:enable=1時,彩燈工作。把戲控制端s10:s10取不同的值來控制把戲的轉(zhuǎn)換。led10s:控制10個led燈的亮滅。〔2〕、邏輯器件符號〔3〕、VHDL語言七段譯碼器設(shè)計〔1〕、功能原理原理在實驗一中已詳細說明,功能是顯示把戲序號?!?〕、VHDL語言頂層文件原理圖如下:仿真波形第一種波形:〔從左到右依次點亮,再從右到左依次點亮〕第二種波形:〔從左到右依次兩兩點亮,再從右到左依次兩兩點亮〕第三種波形:〔從到外順次展開點亮〕第四種波形:〔閃爍點亮〕仿真分析由波形仿真結(jié)果可知,源程序正確。實驗心得這次實驗在參考資料的根底上,加以修改,使程序滿足設(shè)計要求。因為本次實驗完全靠獨立完成,在設(shè)計過程中出現(xiàn)了很多問題,編譯和波形仿真的過程中都不順利,在和同學交流探討的過程中,一一將這些問題解決,最終成功設(shè)計出了四種花型。通過這次實驗,我真正體會到了EDA這門課的樂趣,提高了自身的能力。課后習題InputoutputenableE*1:Inputoutputenable2選1多路選擇器:selselIn0In1outputE*2:ENTITYmu*4ISPORT〔A,B,C,D:INBit;S:INBit_Vector〔3DOWNTO0〕;Y:OUTBit〕;ENDmu*4;ARCHITECTUREbehav1OFmu*4ISBEGINmu*4_p1:PROCESS〔A,B,C,D,S〕BEGINIFS=″1110″THENY<=A;ELSIFS=″1101″THENY<=B;ELSIFS=″1011″THENY<=C;ELSES="0111"THENY<=D;ELSEY<='1';ENDIF;ENDPROCESSmu*4_p1;ENDbehav1;ARCHITECTUREbehav2OFmu*4ISBEGINY<=AWHENS=″1110″ELSEBWHENS=″1101″ELSECWHENS=″1011″ELSEDWHENS="0111"ELSE'1';ENDbehav2;ARCHITECTUREbehav3OFmu*4ISBEGINmu*4_p2:PROCESS〔A,B,C,D,S〕BEGINCASESISWHEN″1110″=>Y<=A;WHEN″1101″=>Y<=B;WHEN″1011″=>Y<=C;WHEN"0111"=>Y<=D;WHENOTHERS=>Y<="1";ENDCASE;ENDPROCESSmu*4_p2;ENDbehav3;E*3:libraryieee;useieee.std_logic_1164.all;entitymu*kisport(a1,a2,a3:instd_logic;--待選擇變量temp:bufferstd_logic;--中間信號s1,s0:instd_logic;--控制端output:outstd_logic);--輸出結(jié)果endmu*k;architecturepr1ofmu*kisbeginprocess(a2,a3,s0)--process1begincases0is--使用case語句when'0'=>temp<=a2;when'1'=>temp<=a3;endcase;endprocess;process(a1,temp,s1)--process2begincases1iswhen'0'=>output<=a1;when'1'=>output<=temp;endcase;endprocess;endpr1;E*4:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYMULTIISPORT(CL:INSTD_LOGIC;--輸入選擇信號CLK0:INSTD_LOGIC;--輸入信號OUT1:OUTSTD_LOGIC);--輸出端ENDENTITY;ARCHITECTUREONEOFMULTIISSIGNALQ:STD_LOGIC;BEGINPR01:

PROCESS(CLK0)BEGINIFCLK‘EVENTANDCLK=’1’THENQ<=NOT(CLORQ);ELSEENDIF;ENDPROCESS;PR02:

PROCESS(CLK0)BEGINOUT1<=Q;ENDPROCESS;ENDARCHITECTUREONE;ENDPROCESS;E*5:libraryieee;useieee.std_logic_1164.all;entityh_subisport(*,y:instd_logic;diff,s_out:outstd_logic);endh_sub;architectureoneofh_subisbegindiff<=**ory;s_out<=(not*)andy;endone;libraryieee;useieee.std_logic_1164.all;entityor_2isport(a,b:instd_logic;q:outstd_logic);endor_2;architectureoneofor_2isbeginq<=aorb;endone;libraryieee;useieee.std_logic_1164.all;entityf_subisport(*,y,sub_in:instd_logic;diff,s_out:outstd_logic);endf_sub;architectureoneoff_subisponenth_subport(*,y:instd_logic;diff,s_out:outstd_logic);endponent;ponentor_2port(a,b:instd_logic;q:outstd_logic);endponent;signale,f,g:std_logic;beginh_suber1:h_subportmap(*=>*,y=>y,diff=>e,s_out=>f);h_suber2:h_subportmap(*=>e,y=>sub_in,diff=>diff,s_out=>g);or21:or_2portmap(a=>g,b=>f,q=>s_out);endone;libraryieee;useieee.std_logic_1164.all;entityf_sub8isport(*,y:instd_logic_vector(7downto0);sub_in:instd_logic;diff:outstd_logic_vector(7downto0);s_out:outstd_logic);endf_sub8;architectureoneoff_sub8isponentf_subport(*,y,sub_in:instd_logic;diff,s_out:outstd_logic);endponent;signale:std_logic_vector(6downto0);beginh_suber1:f_subportmap(*=>*(0),y=>y(0),sub_in=>sub_in,diff=>diff(0),s_out=>e(0));h_suber2:f_subportmap(*=>*(1),y=>y(1),sub_in=>e(0),diff=>diff(1),s_out=>e(1));h_suber3:f_subportmap(*=>*(2),y=>y(2),sub_in=>e(1),diff=>diff(2),s_out=>e(2));h_suber4:f_subportmap(*=>*(3),y=>y(3),sub_in=>e(2),diff=>diff(3),s_out=>e(3));h_suber5:f_subportmap(*=>*(4),y=>y(4),sub_in=>e(3),diff=>diff(4),s_out=>e(4));h_suber6:f_subportmap(*=>*(5),y=>y(5),sub_in=>e(4),diff=>diff(5),s_out=>e(5));h_suber7:f_subportmap(*=>*(6),y=>y(6),sub_in=>e(5),diff=>diff(6),s_out=>e(6));h_suber8:f_subportmap(*=>*(7),y=>y(7),sub_in=>e(6),diff=>diff(7),s_out=>s_out);endone;libraryieee;useieee.std_logic_1164.all;entityf_sub81isport(*,y:instd_logic_vector(7downto0);sub_in:instd_logic;diff:outstd_logic_vector(7downto0);s_out:outstd_logic);endf_sub81;architectureoneoff_sub81isponentf_subport(*,y,sub_in:instd_logic;diff,s_out:outstd_logic);endponent;signale:std_logic_vector(8downto0);begine(0)<=sub_in;s_out<=e(8);q1:foriin0to7generateh_suber1:f_subportmap(*=>*(i),y=>y(i),sub_in=>e(i),diff=>diff(i),s_out=>e(i+1));endgenerateq1;endone;E*6:設(shè)計框圖為:EN,CLC,CLKEN,CLC,CLK開場CLC=’0’NCLC=’0’CLK’EVENTCLK=’1’CLK’EVENTCLK=’1’Q1<=Q1-1EN=’1’Q1<=Q1-1EN=’1’Q1<=(OTHERS=>

溫馨提示

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

評論

0/150

提交評論