EDA技術(shù)實驗報告-cumt-2010 xink.doc_第1頁
EDA技術(shù)實驗報告-cumt-2010 xink.doc_第2頁
EDA技術(shù)實驗報告-cumt-2010 xink.doc_第3頁
EDA技術(shù)實驗報告-cumt-2010 xink.doc_第4頁
EDA技術(shù)實驗報告-cumt-2010 xink.doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗一 利用原理圖輸入法設(shè)計4位全加器一、實驗目的:掌握利用原理圖輸入法設(shè)計簡單組合電路的方法,掌握MAX+plusII的層次化設(shè)計方法。通過一個4位全加器的設(shè)計,熟悉用EDA軟件進行電路設(shè)計的詳細流程。二、實驗原理:一個4位全加器可以由4個一位全加器構(gòu)成,全加器的進位以串行方式實現(xiàn),即將低位加法器的進位輸出cout與相鄰的高位加法器的低位進位輸入信號cin相接。1位全加器f-adder由2個半加器h-adder和一個或門按照下列電路來實現(xiàn)。ABCOSOABCOSO1ainbincincoutsumh_adderh_adder 半加器h-adder由與門、同或門和非門構(gòu)成。&1ABCOSOf-adderainbincincoutsumainbincincoutsumainbincincoutsumf-adderf-adderf-adderA1B1A2B2A3B3A4B4ainbincincoutsumCICOS1S2S3S4 四位加法器由4個全加器構(gòu)成三、實驗內(nèi)容:1. 熟悉QuartusII軟件界面,掌握利用原理圖進行電路模塊設(shè)計的方法。QuartusII設(shè)計流程見教材第五章:QuartusII應用向?qū)А?.設(shè)計1位全加器原理圖(1)生成一個新的圖形文件(file-new-graphic editor)(2)按照給定的原理圖輸入邏輯門(symbolenter symbol)(3)根據(jù)原理圖連接所有邏輯門的端口,并添加輸入/輸出端口(4)為管腳和節(jié)點命名:在管腳上的PIN_NAME處雙擊鼠標左鍵,然后輸入名字;選中需命名的線,然后輸入名字。(5)創(chuàng)建缺?。―efault)符號:在 File菜單中選擇 Create Symbol Files for Current File 項,即可創(chuàng)建一個設(shè)計的符號,該符號可被高層設(shè)計調(diào)用。3.利用層次化原理圖方法設(shè)計4位全加器(1)生成新的空白原理圖,作為4位全加器設(shè)計輸入(2)利用已經(jīng)生成的1位全加器的缺省符號作為電路單元,設(shè)計4位全加器的原理圖.4.新建波形文件(file-new-Other Files-Vector Waveform File),保存后進行仿真(Processing -Start Simulation),對4位全加器進行時序仿真。給出波形圖,并分析仿真結(jié)果是否正確。1位半加器:原理圖:仿真波形:1位全加器:原理圖:仿真波形:4位全加器:原理圖:仿真波形:4位全加器仿真結(jié)果正確:例:0011(A)+0111(B)+0(CI)結(jié)果為1010(S),進位CO為0。5思考 如何在原理圖中輸入一個總線,并與其他總線連接?先選中細線,然后右擊,選”bus line”,總線是以粗線條表示。與其他總線連接:例如一根8位的總線 bus17.0欲與另三根分別為1、3、4個位寬的連線相接,則它們的標號可分別表示為bus10,bus13.1,bus17.4。實驗二 簡單組合電路的設(shè)計一、實驗目的:熟悉QuartusII VHDL文本設(shè)計流程全過程。學習簡單組合電路的設(shè)計、多層次電路設(shè)計、仿真和硬件測試。二、實驗原理VHDL硬件描述語言是一種可以從多個層次上對數(shù)字邏輯電路進行建模的國際標準(IEEE),本次實驗是用VHDL設(shè)計一個簡單的數(shù)字組合邏輯電路,并結(jié)合QuartusII環(huán)境和實驗電路進行硬件測試。三、實驗內(nèi)容:1) 根據(jù)實驗一中一位全加器的電路原理圖,改用VHDL語言文本輸入方法,設(shè)計一位全加器,要求采用結(jié)構(gòu)化的描述方法。設(shè)計完成后,利用QuartusII集成環(huán)境進行時序分析、仿真,記錄仿真波形和時序分析數(shù)據(jù)。2) 用VHDL語言設(shè)計一個四選一數(shù)據(jù)選擇器電路。要求先設(shè)計一個二選一數(shù)據(jù)選擇器mux21,然后利用元件例化語句設(shè)計四選一數(shù)據(jù)選擇器mux41,同樣請給出時序分析數(shù)據(jù)和仿真結(jié)果。3)硬件測試(選用器件 EPF10K10 Pin84)管腳鎖定:1)一位全加器 a PIO23(I/O19) 30 SW1 b PIO24(I/O20) 35 SW2 ci PIO25(I/O21) 36 SW3 s PIO21(I/O16) 27 LED10 co PIO19(I/O8) 29 LED122)四選一數(shù)據(jù)選擇器 a1 PIO23 30 SW1a0 PIO24 35 SW2d3 PIO27 38 SW5d2 PIO28 39 SW6d1 PIO29 47 SW7d0 PIO30 42 SW8yout 29 LED12四、思考題比較原理圖輸入法和文本輸入法的優(yōu)缺點。實驗結(jié)果:一位全加器的VHDL描述:半加器的VHDL描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder ISBEGINso =NOT (a XOR (NOT b);co=a AND b;END ARCHITECTURE fh1;或門的VHDL描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc ain,b=bin,co=d,so=e);u2:h_adder PORT MAP(a=e,b=cin,co=f,so=sum);u3: or2a PORT MAP(a=d,b=f,c=cout);END ARCHITECTURE fd1;仿真波形:硬件測試結(jié)果及分析:ainPIN_233 SW1binPIN_234 SW2cinPIN_235 SW3coutPIN_1 LED1sumPIN_2 LED2SW1SW2SW3LED1LED2000暗暗001暗亮010暗亮011亮暗100暗亮101亮暗110亮暗111亮亮得結(jié)果正確。四選一數(shù)據(jù)選擇器的VHDL描述:二選一數(shù)據(jù)選擇器的VHDL描述:ENTITY mux21a ISPORT (a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINyd0,b=d2,s=a1,y=e);u2:mux21a port map(a=d1,b=d3,s=a1,y=f);u3:mux21a port map(a=e,b=f,s=a0,y=yout);end architecture fd1;仿真波形:硬件測試結(jié)果及分析:a1 PIN_233 SW1a0 PIN_234 SW2d0 PIN_235 SW3d1 PIN_236 SW4d2 PIN_237 SW5d3 PIN_238 SW6yout PIN_1 LED1SW1SW2SW3SW4SW5SW6LED1001000亮010100亮100100暗110001亮此結(jié)果正確。回答問題:原理圖輸入法的優(yōu)點:1. 設(shè)計者進行電子線路設(shè)計不需要增加新的相關(guān)知識;2. 設(shè)計過程形象直觀;3. 由于設(shè)計方式接近于底層電路布局,因此易于控制邏輯資源的耗用。原理圖輸入法的缺點:1. 圖形文件兼容性差;2. 隨著電路設(shè)計規(guī)模的擴大,原理圖輸入描述方式必然引起一系列難以克服的困難,如電路功能原理的易讀性下降,錯誤排查困難,整體調(diào)整和結(jié)構(gòu)升級困難等;3. 由于圖形文件的不兼容性,性能優(yōu)秀的電路模塊的移植和再利用十分困難;4. 由于在原理圖中已確定了設(shè)計系統(tǒng)的基本電路結(jié)構(gòu)和元件,留給綜合器和適配器的優(yōu)化選擇的空間已十分有限,因此難以實現(xiàn)用戶所希望的面積,速度以及不同風格的綜合優(yōu)化;5. 在設(shè)計中,由于必須直接面對硬件模塊的選用,因此行為模型的建立將無從談起,從而無法實現(xiàn)真實意義上的自頂向下的設(shè)計方案。但是HDL文本輸入的設(shè)計方法,基本上克服了用原理圖輸入法存在的所有弊端,所以HDL輸入設(shè)計仍然是最基本、最有效和通用的輸入方法。實驗三簡單時序電路的設(shè)計一、實驗目的:熟悉QuartusII的VHDL文本設(shè)計過程,學習簡單時序電路的設(shè)計、仿真和硬件測試。二、實驗原理時序邏輯電路是現(xiàn)代復雜數(shù)字電路的重要組成部分,往往占到整個設(shè)計的90以上。觸發(fā)器是時序電路的基本單元,本實驗中將涉及到邊沿觸發(fā)和電平觸發(fā)兩種電路結(jié)構(gòu),其中邊沿觸發(fā)是實際電路實現(xiàn)的主要方式。三、 實驗內(nèi)容1) 設(shè)計一個上升沿觸發(fā)的D觸發(fā)器輸入:D輸出:Q觸發(fā)時鐘:CLK2) 設(shè)計同步/異步清零D觸發(fā)器觸發(fā)器有兩種清零方式:同步當觸發(fā)沿到來時,若清零信號有效,則實現(xiàn)清零;異步任何時候清零信號一旦有效,觸發(fā)器馬上清零,而不論觸發(fā)沿是否到來。在以上設(shè)計的D觸發(fā)器基礎(chǔ)上,加入清零端rst,分別實現(xiàn)同步和異步清零方式。3) 設(shè)計一個高電平有效的鎖存器輸入:D輸出:Q觸發(fā):E電平觸發(fā)的鎖存器與沿觸發(fā)的觸發(fā)器不同之處在于當觸發(fā)端處于有效電平時,輸出等于輸出,隨輸入變化;觸發(fā)端無效時輸出保持不變。4) 在QuartusII環(huán)境下對以上設(shè)計的模塊進行編譯,記錄時序分析數(shù)據(jù)和仿真波形,并在實驗電路上進行硬件測試。管腳鎖定:D PIO23 30 SW1CLK CLK1 43 頻率源(35 SW2)Q PIO19 29 LED12四、 問題1)在本次實驗中你使用的VHDL描述方式是和實驗二中一樣的結(jié)構(gòu)化描述還是行為級描述?這兩種方式描述的編譯出來的仿真結(jié)果是否相同?2)請在試驗報告中分析和比較1)和3)的仿真和實測結(jié)果,說明兩者之間的異同點。實驗結(jié)果:上升沿觸發(fā)的D觸發(fā)器的VHDL描述:library ieee;use ieee.std_logic_1164.all;entity d is port(CLK:in std_logic;D:in std_logic;Q:out std_logic);end;architecture bhv of d issignal q1:std_logic;beginprocess(CLK,q1)beginif CLKevent and CLK=1then q1=D;end if;end process;Q=q1;end bhv;仿真波形:硬件測試結(jié)果及分析:CLK PIN_233 SW1D PIN_234 SW2Q PIN_1 LED1若SW2為1,當按下SW1時,LED1亮,此時若讓SW2為0,再按下SW1,則LED1滅??芍寒擟LK上升沿到來時,輸出Q就是D值。故結(jié)果正確。設(shè)計同步/異步清零D觸發(fā)器的VHDL描述:同步清零D觸發(fā)器的VHDL描述:library ieee;use ieee.std_logic_1164.all;entity DT isport(clk,rst: in std_logic; D: in std_logic; Q: out std_logic);end ;architecture one of DT issignal Q1: std_logic;begin process(clk,rst,Q1)beginif clkevent and clk=1 then if rst=0 then Q1=D;else Q1=0;end if;end if;end process;Q=Q1;end one;仿真波形:硬件測試結(jié)果及分析:CLK PIN_233 SW1D PIN_234 SW2rst PIN_235 SW3Q PIN_1 LED1 若SW3為1,只有在按下SW1時,輸出才復位。結(jié)果正確。異步清零D觸發(fā)器的VHDL描述:library ieee;use ieee.std_logic_1164.all;entity DY is port(CLK:in std_logic;D,RST:in std_logic;Q:out std_logic);end;architecture bhv of DY issignal q1:std_logic;beginprocess(CLK,q1)beginif RST=1then q1=0;elsif CLKevent and CLK=1then q1=D;end if;end process;Q=q1;end bhv;仿真波形:硬件測試結(jié)果及分析:CLK PIN_233 SW1D PIN_234 SW2RST PIN_235 SW3Q PIN_1 LED1 一旦當SW3為1時,輸出就復位。結(jié)果正確。高電平有效的鎖存器的VHDL描述:library ieee;use ieee.std_logic_1164.all;entity SD1 is port(d,clk:in std_logic; q:out std_logic);end entity SD1;architecture one of SD1 isbeginprocess(clk,d)beginif clk=1then q0); ELSIF CLKEVENT AND CLK=1 THEN IF ENA =1 THEN IF CQI 0); END IF; END IF;END IF; IF CQI =15 THEN COUT=1;ELSE COUT =0;END IF; OUTY =CQI;END PROCESS;END behv;仿真波形:硬件測試結(jié)果及分析:CLKPIN_233ENAPIN_234RST PIN_235COUTPIN_1OUTY0PIN_2OUTY1PIN_3OUTY2PIN_4OUTY3PIN_6當ENA=1且RST=0時計數(shù)器開始計數(shù),當ENA=0時停止計數(shù)。若RST=1則計數(shù)器清零。當計數(shù)器輸出OUTY=1111時,進位信號COUT=1。結(jié)果正確。回答問題:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4A IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4A;ARCHITECTURE behav OF CNT4A IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK, RST, ENA) BEGIN IF RST = 1 THEN CQI = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF ENA = 1 THEN CQI = CQI + 1; END IF; END IF; OUTY = CQI ; END PROCESS P_REG ; COUTled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7sled7snull;end case;end process;end;仿真波形:數(shù)碼管顯示電路VHDL描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;entity SCAN_LED isport(CLK:in std_logic;S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);A:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);end SCAN_LED;architecture ONE of SCAN_LED isSIGNAL C:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINP1:PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1THEN IF C111THEN C=C+1;ELSE C=000;END IF;END IF;S A A A A A A A A A A A A A A A A NULL;END CASE;END PROCESS P2;END;仿真波形:硬件測試結(jié)果及分析:CLK頻率不同,輪流點亮8個數(shù)碼管的速率也不同,當CLK頻率足夠大時,可實現(xiàn)同時顯示8個字符的效果。回答問題:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decoder38 is port (Q0: out std_logic_vector(7 downto 0); Q1: in std_logic_vector(2 downto 0); en: in std_logic);end entity decoder38;architecture code1 of decoder38 isbeginprocess(Q1,en)variable temp : std_logic_vector(7 downto 0);beginif en = 1 then temp := ZZZZZZZZ;elsecase Q1 iswhen 000 = temp := 00000001;when 001 = temp := 00000010;when 010 = temp := 00000100;when 011 = temp := 00001000;when 100 = temp := 00010000;when 101 = temp := 00100000;when 110 = temp := 01000000;when 111 = temp := 10000000;end case;end if;Q0 = temp;end process;end architecture code1;實驗六 數(shù)控分頻器的設(shè)計一、 實驗目的:學習數(shù)控分頻器的設(shè)計和測試方法。二、實驗原理:數(shù)控分頻器的功能為在不同輸入信號時,對時鐘信號進行不同的分頻,在輸出端輸出不同頻率的信號。該電路可以用具有并行預置功能的加法計數(shù)器實現(xiàn),方法是對應不同的輸入信號,預置數(shù)(初始計數(shù)值)設(shè)定不同的值,計數(shù)器以此預置數(shù)為初始狀態(tài)進行不同模值的計數(shù),當計數(shù)器的狀態(tài)全為1時,計數(shù)器輸出溢出信號。用計數(shù)器的溢出信號作為輸出信號或輸出信號的控制值,使輸出信號的頻率受控于輸入的預置數(shù)。電路輸出波形圖:三、實驗內(nèi)容 :1)根據(jù)實驗原理畫出電路框圖,并計算在不同預置數(shù)時輸出信號的頻率與時鐘頻率的比值。2)編寫實現(xiàn)數(shù)控分頻器的VHDL程序。要求輸出信號的占空比盡量為50。提示:可以將計數(shù)器溢出信號輸出給一個翻轉(zhuǎn)觸發(fā)器,溢出信號的邊沿作為觸發(fā)器的觸發(fā)信號,觸發(fā)器的輸出就是分頻器的輸出(注意計數(shù)器初始計數(shù)值與輸出頻率之間的關(guān)系)。3)用QuartusII對設(shè)計進行編譯、綜合、仿真,給出仿真波形和時序分析數(shù)據(jù)。4)通過QuartusII集成環(huán)境,將設(shè)計下載到實驗電路上進行硬件測試。輸入不同的clk信號和不同的輸入控制信號,測試輸出波形。管腳鎖定:clk clk1 43 D(3) PIO23 30 SW1D(2) PIO24 35 SW2D(1) Pio25 36 SW3D(0) PIO26 37 SW4Fout PIO19 29 LED12 四、思考題:如果需要進行奇數(shù)分頻(如3分頻),能否夠保持輸出波形的占空比為50?如果不能,如何使占空比盡量接近50;如果可以,應如何做?實驗結(jié)果:數(shù)控分頻器的原理框圖:數(shù)控分頻器輸出頻率與輸入時鐘的關(guān)系:當輸入端給定不同輸入數(shù)據(jù)時,將對輸入的時鐘信號有不同的分頻比。任意小數(shù)都可以表示成形式,其中ab。設(shè)分頻器輸入脈沖數(shù)為M,輸出脈沖數(shù)為P,則有以下關(guān)系: 上式表明分頻器進行b次n分頻時,設(shè)法多輸入a個脈沖?;蛘哒f在b個脈沖輸入周期中,進行b-a次n分頻和a次n+1分頻。這就是小數(shù)分頻的基本原理。n和n+1也稱為分頻模式。利用上述小數(shù)分頻的方法,同樣也可以實現(xiàn)整數(shù)分頻,即令a=0,就可以完成整數(shù)N分頻。數(shù)控分頻器的VHDL描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT(CLK:IN STD_LOGIC;D:STD_LOGIC_VECTOR(7 DOWNTO 0);FOUT:OUT STD_LOGIC);END;ARCHITECTURE one OF DVF ISSIGNAL FULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLKEVENT AND CLK=1 THENIF CNT8=11111111 THENCNT8:=D;FULL=1;ELSE CNT8:=CNT8+1;FULL=0;END IF;END IF;END PROCESS P_REG;P_DIV:PROCESS(FULL)VARIABLE CNT2:STD_LOGIC;BEGINIF FULLEVENT AND FULL=1 THENCNT2:=NOT CNT2;IF CNT2=1 THEN FOUT=1;ELSE FOUT=0;END IF;END IF;END PROCESS P_DIV;END;仿真波形:硬件測試結(jié)果及分析:通過改變輸入頻率,可以聽到不同頻率的聲音。硬件測試結(jié)果正確:回答問題:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity DIV3 is port (clk: in std_logic; out1: out std_logic);end DIV3;architecture Behavioral of DIV3 issignal division2,division4 :std_logic:=0;signal temp1,temp2:integer range 0 to 10;beginp1:process(clk) begin if rising_edge(clk) then temp1=temp1+1;if temp1=1 then division2=1; elsif temp1=2 then division2=0; temp1=0; end if; end if;end process p1;p2:process(clk) begin if clkevent and clk=0 then temp2=temp2+1; if temp2=1 then division4=1; elsif temp2=2 then division4=0; temp2=0; end if; end if; end process p2;p3:process(division2,division4)begin out1

溫馨提示

  • 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

提交評論