版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)一 1位全加器的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、掌握Quartus軟件原理圖輸入法使用流程。2、熟悉ZY11EDA13BE型實(shí)驗(yàn)箱的開關(guān)按鍵模塊,LED顯示模塊。二、實(shí)驗(yàn)內(nèi)容在Quartus軟件中使用原理圖輸入法設(shè)計(jì)并實(shí)現(xiàn)一個(gè)1位全加器。三、實(shí)驗(yàn)儀器1、ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,開關(guān)按鍵模塊,LED顯示模塊。2、并口延長線,JTAG延長線。(所有實(shí)驗(yàn)均包括,以下實(shí)驗(yàn)中均略去)3、安裝Quartus軟件的PC機(jī)。(所有實(shí)驗(yàn)均包括,以下實(shí)驗(yàn)中均略去)四、實(shí)驗(yàn)原理1位全加器可以用兩個(gè)半加器及一個(gè)或門連接而成,半加器原理圖的設(shè)計(jì)方法很多,我們用一個(gè)與門、一個(gè)非門和同或門(xnor為
2、同或符合,相同為1,不同為0)來實(shí)現(xiàn)。先設(shè)計(jì)底層文件:半加器,再設(shè)計(jì)頂層文件全加器。(1)半加器的設(shè)計(jì):半加器表達(dá)式:進(jìn)位:co=a and b和 :so=a xnor (not b) 半加器原理圖如下:(2)全加器的設(shè)計(jì):全加器原理圖如下:五、實(shí)驗(yàn)注意事項(xiàng):實(shí)驗(yàn)指導(dǎo)書中的所有實(shí)驗(yàn)內(nèi)容都是針對主板系統(tǒng)的核心芯片EP1K30QC208-2來設(shè)計(jì)的,實(shí)驗(yàn)原理中提供了管腳分配情況,管腳分配好后必須通過成功編譯才可以下載配置。 六、實(shí)驗(yàn)步驟本實(shí)驗(yàn)的詳細(xì)設(shè)計(jì)步驟可以參考附帶光盤的示例課件。 1、在Quartus軟件中新建原理圖文件,輸入原理圖,進(jìn)行編譯,仿真。2、指定目標(biāo)器件,并對編譯通過的原理圖分配管
3、腳(可參考實(shí)驗(yàn)原理),分配完后再編譯一次。3、用并口延長線連接計(jì)算機(jī)機(jī)箱并口和實(shí)驗(yàn)箱并口插座,用JTAG延長線連接通用編程模塊下載接口插座和配置模塊核心芯片下載接口插座,接通實(shí)驗(yàn)箱電源,將實(shí)驗(yàn)箱電源按鈕APW1,APW2按下,電源指示燈PL0-PL4亮。4、下載配置文件f_adder.pof到目標(biāo)芯片。5、將撥碼開關(guān)CTRL的(2)、(4)、(8)均設(shè)置為“ON”。6、撥位開關(guān)KD1、KD2、KD3分別作為全加器a輸入,b輸入和進(jìn)位c輸入。LED1、LED2分別作為全加器進(jìn)位和全加和。記錄全加器的實(shí)驗(yàn)結(jié)果填入實(shí)驗(yàn)報(bào)告。燈亮表示1(高電平),燈滅表示0(低電平)。七、實(shí)驗(yàn)報(bào)告1、 列出半加器與全
4、加器的真值表。如果實(shí)驗(yàn)室條件允許,打印半加器和全加器仿真波形圖貼于實(shí)驗(yàn)報(bào)告中。2、 用文字描述出怎樣實(shí)現(xiàn)層次化設(shè)計(jì)。3、 1位全加器的實(shí)現(xiàn)方法很多,畫出其它方法的原理圖。八、思考題1、 多位全加器就是在一位的原理上擴(kuò)展而成的,設(shè)計(jì)出原理圖輸入的8位全加器。2、 集成電路全加器芯片有7480、7483等,試述其內(nèi)部結(jié)構(gòu)是如何實(shí)現(xiàn)的?3、 參考全加器的設(shè)計(jì)思路設(shè)計(jì)出原理圖輸入的1位全減器。(提示:全加器的設(shè)計(jì)是根據(jù)真值表來建立最簡表達(dá)式,最簡表達(dá)式應(yīng)該是一些基本門電路,同樣全減器的設(shè)計(jì)也是如此)。實(shí)驗(yàn)二 基本邏輯門實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康氖煜げ⒄莆蘸唵蔚腣HDL程序的基本結(jié)構(gòu)。 二、實(shí)驗(yàn)內(nèi)容分別設(shè)計(jì)并實(shí)現(xiàn)
5、與門、或門、反相器的VHDL模型。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,開關(guān)按鍵模塊,LED顯示模塊。四、實(shí)驗(yàn)原理1、二輸入與門(AND Gate):在該模型中計(jì)算兩個(gè)輸入信號in1和in2的邏輯與,輸出結(jié)果為out1,邏輯表達(dá)式為out1in1 AND in2。下例19-1-1即為該邏輯門的VHDL模型: 例19-1-1還可以使用進(jìn)程的等價(jià)方式,如下面的例19-1-2所示:下圖19-1為本例2輸入與門的仿真圖形:圖19-1 2輸入與門的仿真圖形2、二輸入或門(OR Gate):在該模型中計(jì)算兩個(gè)輸入信號in1和in2的邏輯或,輸出結(jié)果為out1,邏輯表達(dá)式為out
6、1in1 OR in2。下例19-2-1即為該邏輯門的VHDL模型:例19-2-1還可以使用進(jìn)程的等價(jià)方式,如下面的例19-2-2所示:下圖19-2為本例2輸入或門的仿真圖形:圖19-2 2輸入或門的仿真圖形3、反相器(Inverter):在該模型中計(jì)算輸入信號in1邏輯非,輸出結(jié)果為out1,邏輯表達(dá)式為out1NOT in1,下例19-3-1即為該邏輯門的VHDL模型:例19-3-1還可以使用進(jìn)程的等價(jià)方式,如下面的例19-3-2所示:下圖19-3為本例非門的仿真圖形:圖19-3 非門的仿真圖形實(shí)驗(yàn)三 基本組合邏輯電路的VHDL模型一、實(shí)驗(yàn)?zāi)康?、掌握簡單的VHDL程序設(shè)計(jì)。2、掌握用VH
7、DL對基本組合邏輯電路的建模。二、實(shí)驗(yàn)內(nèi)容分別設(shè)計(jì)并實(shí)現(xiàn)緩沖器、選擇器、譯碼器、編碼器、移位器、全加器的VHDL模型。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,開關(guān)按鍵模塊,LED顯示模塊。四、實(shí)驗(yàn)原理1、三態(tài)緩沖器:三態(tài)緩沖器(Tri-state Buffer)的作用是轉(zhuǎn)換數(shù)據(jù)、增強(qiáng)驅(qū)動能力以及把功能模塊與總線相連接。在使用總線互連方式時(shí),與總線通信的器件通常要通過三態(tài)緩沖器與總線相連。如果緩沖器的使能端en為1,則緩沖器的輸入端in1的信號值被復(fù)制到輸出端;如果緩沖器的使能端en為其它數(shù)值,則緩沖器的輸出端為高阻態(tài)。三態(tài)緩沖器的輸出端可以用線與的方式和其他緩沖器的輸
8、出端接在一起。下例20-1-1給出了三態(tài)緩沖器的VHDL源代碼模型:在IEEE的1164標(biāo)準(zhǔn)程序包中,用Z表示高阻態(tài),現(xiàn)在的EDA綜合工具一般都能根據(jù)這種描述綜合得到三態(tài)器件。下圖20-1為本例中三態(tài)緩沖器的仿真波形圖:圖20-1 三態(tài)緩沖器的仿真圖形2、數(shù)據(jù)選擇器(Multiplexer):在數(shù)字系統(tǒng)設(shè)計(jì)時(shí),需要從多個(gè)數(shù)據(jù)源中選擇一個(gè),這時(shí)就需要用到多路選擇器。下例20-2-1給出了四選一、被選擇數(shù)字寬度為3的選擇器VHDL源代碼模型: 在上面這個(gè)模型中,由于使用了條件賦值語句,所以寫得很簡短。上面的程序代碼還可以改寫為使用進(jìn)程的等價(jià)方式。如下例20-2-2的VHDL源代碼所示: 由于模型中
9、使用了std_Logic和std_Logic_vector數(shù)據(jù)類型,sel可能的數(shù)值不止四種,所以兩種模型中都有一個(gè)分支來處理其他的數(shù)值。在綜合的時(shí)候,EDA工具一般都忽略這一分支。除了處理三態(tài)器件中的高阻態(tài)Z外,綜合工具采用完全相同的方法來處理std_Logic和Bit數(shù)據(jù)類型。圖20-2為本例中多路選擇器的仿真波形圖:圖20-2 多路選擇器的仿真圖形3、譯碼器(Decoder):譯碼器(Decoder)的輸入為N位二進(jìn)制代碼,輸出為2N個(gè)表征代碼原意的狀態(tài)信號,即輸出信號的2N位中有且只有一位有效。常見的譯碼器用途是把二進(jìn)制表示的地址轉(zhuǎn)換為單線選擇信號。下面例20-3-1為一個(gè)3-8譯碼器
10、的VHDL源代碼模型:下圖20-3為本例中3-8譯碼器的仿真波形圖:圖20-3 3-8譯碼器的仿真圖形4、編碼器(Encoder):編碼器(Encoder)的行為是譯碼器行為的逆過程,它把2N個(gè)輸入轉(zhuǎn)化為N位編碼輸出。有的編碼器要求輸入信號的各位中最多只有一位有效,且規(guī)定如果所有輸入位全無效時(shí),編碼器輸出指定某個(gè)狀態(tài)。編碼器的用途很廣,比如說鍵盤輸入編碼等。下面例20-4-1為一個(gè)8-3優(yōu)先編碼器的VHDL源代碼模型:下圖20-4為本例中8-3優(yōu)先編碼器的仿真波形圖:圖20-4 8-3優(yōu)先編碼器的仿真圖形五、實(shí)驗(yàn)步驟1、在Quartus軟件中新建文本文件,輸入自己設(shè)計(jì)的VHDL程序代碼,編譯,
11、仿真,鎖定管腳并下載到目標(biāo)芯片。2、用撥位開關(guān)作為輸入,LED作為輸出,分別驗(yàn)證結(jié)果的正確性。實(shí)驗(yàn)四 基本時(shí)序邏輯電路的VHDL模型一、實(shí)驗(yàn)?zāi)康?、掌握簡單的VHDL程序設(shè)計(jì)。2、掌握VHDL對基本時(shí)序邏輯電路的建模。二、實(shí)驗(yàn)內(nèi)容分別設(shè)計(jì)并實(shí)現(xiàn)鎖存器、觸發(fā)器、寄存器、計(jì)數(shù)器的VHDL模型。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊LED顯示模塊。 四、實(shí)驗(yàn)原理1、 鎖存器(latch):顧名思義,鎖存器(latch)是用來鎖存數(shù)據(jù)的邏輯單元。鎖存器一般可以分成三種基本類型:電平鎖存器、同步鎖存器和異步鎖存器。下面我們將逐一介紹這三種鎖存器的VHD
12、L模型的描述方式。(1)、電平鎖存器:電平鎖存器一般用在多時(shí)鐘電路,比如微處理器芯片中。電平鎖存器的特點(diǎn)是:常常有多路數(shù)據(jù)輸入。例21-1-1為單輸入電平鎖存器的VHDL模型:當(dāng)復(fù)位信號reset有效(高電平)時(shí),鎖存器latch1被復(fù)位,輸出信號q為低電平;當(dāng)復(fù)位信號reset無效(低電平)時(shí),如果s信號為高電平,輸出信號q輸出輸入端的值;當(dāng)s信號為低電平時(shí),latch1的輸出信號q保持原值,亦即數(shù)據(jù)鎖存。下圖21-1為單輸入電平鎖存器的仿真波形圖:圖21-1 單輸入電平鎖存器的仿真圖形2、 觸發(fā)器(flip-flop):觸發(fā)器(flip-flop)是最基本的時(shí)序電路單元,指的是在時(shí)鐘沿的觸
13、發(fā)下,引起輸出信號改變的一種時(shí)序邏輯單元。常見的觸發(fā)器有三種:D觸發(fā)器、T觸發(fā)器和JK觸發(fā)器。(1)、D觸發(fā)器:D觸發(fā)器是最常用的觸發(fā)器。按照有無復(fù)位信號和置位信號,以及復(fù)位、置位信號與時(shí)鐘是否同步,可以分為多種常見的D觸發(fā)器模型,以下將逐一給出示例和簡單的說明。例21-2-1為簡單D觸發(fā)器的VHDL模型:D觸發(fā)器dff1是最簡單的D觸發(fā)器,沒有復(fù)位和置位信號,在每個(gè)時(shí)鐘信號clk的上升沿,輸出信號q值為輸入信號d;否則,觸發(fā)器dff1的輸出信號q保持原值。圖21-5為簡單D觸發(fā)器的仿真波形圖:圖21-5 簡單D觸發(fā)器的仿真圖形(2)、T觸發(fā)器:T觸發(fā)器的特點(diǎn)是在時(shí)鐘沿處輸出信號發(fā)生翻轉(zhuǎn)。按照
14、有無復(fù)位、置位信號以及使能信號等,T觸發(fā)器也有多種類型。例21-2-8為帶異步復(fù)位T觸發(fā)器的VHDL模型:tff1是一個(gè)帶有異步復(fù)位的T觸發(fā)器。每當(dāng)時(shí)鐘信號clk或者復(fù)位信號clr有跳變時(shí)進(jìn)程被激活。如果此時(shí)復(fù)位信號clr有效(高電平),T觸發(fā)器tff1被復(fù)位,輸出信號q為低電平;如果復(fù)位信號clr無效(低電平),而時(shí)鐘信號clk出現(xiàn)上跳沿,則T觸發(fā)器tff1的輸出信號q發(fā)生翻轉(zhuǎn);否則,輸出信號q保持不變。圖21-12為帶異步復(fù)位T觸發(fā)器的仿真波形圖:圖21-12 帶異步復(fù)位T觸發(fā)器的仿真圖形(3)、JK觸發(fā)器:JK觸發(fā)器中,J、K信號分別扮演置位、復(fù)位信號的角色。為了更清晰的表示出JK觸發(fā)器
15、的工作過程,以下給出JK觸發(fā)器的真值表(如表21-1所示)。JKCLKQn+100Qn10101011NOT QnXXQn表21-1 JK觸發(fā)器真值表按照有無復(fù)位(clr)、置位(prn)信號,常見的JK觸發(fā)器也有多種類型,例21-2-11為基本JK觸發(fā)器的VHDL模型:jkff1是一個(gè)基本的JK觸發(fā)器類型。在時(shí)鐘上升沿,根據(jù)j、k信號,輸出信號q作相應(yīng)的變化。用case語句實(shí)現(xiàn)if條件語句,即簡化了語句,又增加了效率。圖21-15為基本JK觸發(fā)器的仿真波形圖:圖21-15 基本JK觸發(fā)器的仿真圖形3、 寄存器(Register):寄存器(register)也是一種重要的基本時(shí)序電路。顧名思義
16、,寄存器主要是用來寄存信號的值,包括標(biāo)量和向量。在數(shù)字系統(tǒng)設(shè)計(jì)中,可將寄存器分成通用寄存器和移位寄存器。(1)、通用寄存器:通用寄存器的功能是在時(shí)鐘的控制下將輸入數(shù)據(jù)寄存,在滿足輸出條件時(shí)輸出數(shù)據(jù)。例21-3-1為通用寄存器的VHDL模型:reg是一個(gè)通用寄存器,在時(shí)鐘信號clk的上升沿,如果輸出使能信號enable有效(高電平),則輸入信號d送到寄存器中,輸出信號q為輸入信號d的值,否則輸出信號q保持原值不變,亦即起到鎖存數(shù)據(jù)的作用。圖21-17為通用寄存器的仿真波形圖:圖21-17 通用寄存器的仿真圖形(2)、移位寄存器:顧名思義,移位寄存器的功能是寄存輸入數(shù)據(jù),并在控制信號的作用下將輸入
17、數(shù)據(jù)移位輸出。移位寄存器種類繁多,大致可以歸納為邏輯移位寄存器和算術(shù)移位寄存器兩大類。邏輯移位寄存器的特點(diǎn)是,高位和低位移入的數(shù)據(jù)都為零;算術(shù)移位寄存器的特點(diǎn)是,高位移入的數(shù)據(jù)為相應(yīng)符號的擴(kuò)展,低位移入的數(shù)據(jù)為零。例21-3-2為簡單移位寄存器的VHDL模型:在每個(gè)時(shí)鐘的上升沿,移位寄存器shift根據(jù)控制指令control將輸入數(shù)據(jù)d邏輯左移相應(yīng)位后輸出。圖21-18為簡單移位寄存器的仿真波形圖:圖21-18 簡單移位寄存器的仿真圖形例21-3-3為循環(huán)移位寄存器(cycle shift register)的VHDL模型:在每個(gè)時(shí)鐘的上升沿,循環(huán)移位寄存器shift根據(jù)控制指令control
18、將輸入數(shù)據(jù)d循環(huán)左移相應(yīng)位后輸出。圖21-19為循環(huán)移位寄存器的仿真波形圖:圖21-19 循環(huán)移位寄存器的仿真圖形4、 計(jì)數(shù)器(counter):計(jì)數(shù)器(counter)是數(shù)字系統(tǒng)中常用的時(shí)序電路,因?yàn)橛?jì)數(shù)是數(shù)字系統(tǒng)的基本操作之一。計(jì)數(shù)器在控制信號下計(jì)數(shù),可以帶復(fù)位和置位信號。因此,按照復(fù)位、置位與時(shí)鐘信號是否同步可以將計(jì)數(shù)器分為同步計(jì)數(shù)器和異步計(jì)數(shù)器兩種基本類型,每一種計(jì)數(shù)器又可以分為進(jìn)行加計(jì)數(shù)和進(jìn)行減計(jì)數(shù)兩種。在VHDL描述中,加減計(jì)數(shù)用“”和“”表示即可。(1)、同步計(jì)數(shù)器:同步計(jì)數(shù)器與其它同步時(shí)序電路一樣,復(fù)位和置位信號都與時(shí)鐘信號同步,在時(shí)鐘沿跳變時(shí)進(jìn)行復(fù)位和置位操作。例21-4-1
19、為帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器的VHDL模型:count是一個(gè)帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器,計(jì)數(shù)范圍F0。每當(dāng)時(shí)鐘信號或者復(fù)位信號有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號clr有效(高電平),計(jì)數(shù)器被復(fù)位,輸出計(jì)數(shù)結(jié)果為0;如果復(fù)位信號無效(低電平),而時(shí)鐘信號clk出現(xiàn)上升沿,并且計(jì)數(shù)器的計(jì)數(shù)使能控制信號en有效(高電平),則計(jì)數(shù)器count自動減1,實(shí)現(xiàn)減計(jì)數(shù)功能。圖21-20為帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器的仿真波形圖:圖21-20 帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器的仿真圖形五、實(shí)驗(yàn)步驟1、在Quartus軟件中新建文本文件,輸入自己設(shè)計(jì)的VHDL程序代碼,編譯,仿真
20、,鎖定管腳并下載到目標(biāo)芯片。2、將信號源模塊第一全局時(shí)鐘GCLK1跳線器接需要的時(shí)鐘頻率CLK,撥位開關(guān)作為數(shù)據(jù)輸入和控制信號輸入,LED作為鎖存器、觸發(fā)器、寄存器、計(jì)數(shù)器的輸出,觀察顯示結(jié)果,驗(yàn)證程序的正確性。 實(shí)驗(yàn)五 有限狀態(tài)機(jī)的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、 了解有限狀態(tài)機(jī)的概念。2、 掌握Moore型有限狀態(tài)機(jī)的特點(diǎn)和其VHDL語言的描述方法。3、 掌握Mealy型有限狀態(tài)機(jī)的特點(diǎn)和其VHDL語言的描述方法。二、實(shí)驗(yàn)內(nèi)容1、 繪制本實(shí)驗(yàn)中例22-1-1的狀態(tài)轉(zhuǎn)換圖。2、 上機(jī)編寫本實(shí)驗(yàn)中例22-1-1的VHDL程序,并實(shí)驗(yàn)驗(yàn)證程序的正確性。3、 繪制本實(shí)驗(yàn)中例23-1-1的狀態(tài)轉(zhuǎn)換圖。4、 上機(jī)
21、編寫本實(shí)驗(yàn)中例23-1-1的實(shí)驗(yàn)程序,并進(jìn)行實(shí)驗(yàn)驗(yàn)證程序的正確性。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊LED顯示模塊。四、實(shí)驗(yàn)原理我們知道,任何數(shù)字系統(tǒng)都可以分為相互作用的控制單元(control unit)和數(shù)據(jù)通道(data path)兩部分。數(shù)據(jù)通道通常由組合邏輯構(gòu)成,而控制單元通常由時(shí)序邏輯構(gòu)成,任何時(shí)序電路都可以表示為有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)。在第三章基本時(shí)序邏輯電路建模的基礎(chǔ)上,本章主要介紹有限狀態(tài)機(jī)實(shí)現(xiàn)復(fù)雜時(shí)序邏輯電路的設(shè)計(jì)。數(shù)字系統(tǒng)控制部分的每一個(gè)部分都可以看作一種狀態(tài),與每一控制相關(guān)的
22、轉(zhuǎn)換條件指定了狀態(tài)的下一個(gè)狀態(tài)和輸出。根據(jù)有限狀態(tài)機(jī)的輸出與當(dāng)前狀態(tài)和當(dāng)前輸入的關(guān)系,可以將有限狀態(tài)機(jī)分成Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)兩種。從現(xiàn)實(shí)的角度,這兩種狀態(tài)機(jī)都可以實(shí)現(xiàn)同樣的功能,但是它們的時(shí)序不同,選擇使用哪種有限狀態(tài)機(jī)要根據(jù)實(shí)際情況進(jìn)行具體分析。在本實(shí)驗(yàn)中我們將重點(diǎn)介紹Moore型有限狀態(tài)機(jī),而Mealy型有限狀態(tài)機(jī)將在實(shí)驗(yàn)二十三中進(jìn)行具體的闡述。1、Moore型有限狀態(tài)機(jī)的輸出只與有限狀態(tài)機(jī)的當(dāng)前狀態(tài)有關(guān),與輸入信號的當(dāng)前值無關(guān)。在圖22-1中描述了Moore型有限狀態(tài)機(jī)的示意圖。圖22-1 Moore型有限狀態(tài)機(jī)示意圖Moore型有限狀態(tài)機(jī)在時(shí)鐘clock脈沖
23、的有效邊沿后的有限個(gè)門延時(shí)后,輸出達(dá)到穩(wěn)定值。即使在一個(gè)時(shí)鐘周期內(nèi)輸入信號發(fā)生變化,輸出也會在一個(gè)完整的時(shí)鐘周期內(nèi)保持穩(wěn)定值而不變。輸入對輸出的影響要到下一個(gè)周期才能反映出來,Moore型有限狀態(tài)機(jī)最重要的特點(diǎn)就是將輸入與輸出信號隔離開來。例22-1-1為一單進(jìn)程Moore型有限狀態(tài)機(jī)的例子,其VHDL語言描述如下:例22-1-1是一個(gè)單進(jìn)程的Moore狀態(tài)機(jī),其特點(diǎn)是組合進(jìn)程和時(shí)序進(jìn)程在同一個(gè)進(jìn)程中,此進(jìn)程可以認(rèn)為是一個(gè)混合進(jìn)程。注意在此進(jìn)程中,CASE語句處于測試時(shí)鐘上升沿的ELSIF語句中,因此在綜合時(shí),對Q的賦值操作必然引進(jìn)對Q鎖存的鎖存器。這就是說,此進(jìn)程中能產(chǎn)生兩組同步的時(shí)序邏輯電
24、路,一組是狀態(tài)機(jī)本身,另一組是由CLK作為鎖存信號的4位鎖存器,負(fù)責(zé)鎖存輸出數(shù)據(jù)Q。與多進(jìn)程的狀態(tài)機(jī)相比,這個(gè)狀態(tài)機(jī)結(jié)構(gòu)的優(yōu)勢是,輸出信號不會出現(xiàn)毛刺現(xiàn)象。這是由于Q的輸出信號在下一個(gè)狀態(tài)出現(xiàn)時(shí),由時(shí)鐘上升沿鎖入鎖存器后輸出,即有時(shí)序器件同步輸出,從而很好地避免了競爭冒險(xiǎn)現(xiàn)象。從輸出的時(shí)序上看,由于Q的輸出信號要等到進(jìn)入下一狀態(tài)的時(shí)鐘信號的上升沿進(jìn)行鎖存,即Q的輸出信號在當(dāng)前狀態(tài)中由組合電路產(chǎn)生,而在穩(wěn)定了一個(gè)時(shí)鐘周期后在次態(tài)由鎖存器輸出,因此要比多進(jìn)程狀態(tài)機(jī)的輸出晚一個(gè)時(shí)鐘周期,這是此類狀態(tài)機(jī)的缺點(diǎn)。圖22-2為例22-1-1單進(jìn)程Moore狀態(tài)機(jī)的工作時(shí)序圖:圖22-2 例22-1-1單進(jìn)
25、程Moore型狀態(tài)機(jī)的工作時(shí)序2、Mealy型有限狀態(tài)機(jī)的輸出不單與當(dāng)前狀態(tài)有關(guān),而且還與輸入信號的當(dāng)前值有關(guān)。在圖23-1中描述了Mealy型有限狀態(tài)機(jī)的示意圖。圖23-1 Mealy型有限狀態(tài)機(jī)示意圖Mealy型有限狀態(tài)機(jī)的輸出直接受輸入信號的當(dāng)前值影響,而輸入信號可能在一個(gè)時(shí)鐘周期內(nèi)的任意時(shí)刻發(fā)生變化,這使得Mealy型有限狀態(tài)機(jī)對輸入的響應(yīng)發(fā)生在當(dāng)前的時(shí)鐘周期,比Moore型有限狀態(tài)機(jī)對輸入信號的響應(yīng)要早一個(gè)周期。因此,輸入信號的噪聲可能影響正在輸出的信號。例23-1-1是一個(gè)兩進(jìn)程Mealy型有限狀態(tài)機(jī)的例子。進(jìn)程COMREG是時(shí)序與組合混合型進(jìn)程,它將狀態(tài)機(jī)的主控時(shí)序電路和主控狀態(tài)
26、譯碼電路同時(shí)用一個(gè)進(jìn)程來表達(dá)。進(jìn)程COM1負(fù)責(zé)根據(jù)當(dāng)前輸入狀態(tài)和輸入信號的變化給出不同的輸出數(shù)據(jù)。該例的VHDL語言如下所示:在例23-1-1中,由于輸出信號是由組合邏輯電路直接產(chǎn)生,所以可以從該狀態(tài)機(jī)的工作時(shí)序圖23-2上清楚的看到輸出信號有許多毛刺。為了解決這個(gè)問題,可以考慮將輸出信號Q值由時(shí)鐘信號鎖存后再輸出??梢栽诶?3-1-1的COM1進(jìn)程中添加一個(gè)IF語句,由此產(chǎn)生一個(gè)鎖存器,將Q鎖存后再輸出。但是如果實(shí)際電路的時(shí)間延遲不同,或發(fā)生變化,就會影響鎖存的可靠性,即這類設(shè)計(jì)方式不能絕對保證不出現(xiàn)毛刺。比較保險(xiǎn)的方式仍然是參照實(shí)驗(yàn)二十二的例22-1-1中單進(jìn)程的描述方法,這個(gè)工作將留給讀
27、者自行完成,此處不再加以說明。圖23-2 例23-1-1多進(jìn)程Mealy型狀態(tài)機(jī)的工作時(shí)序五、實(shí)驗(yàn)步驟1、在Quartus軟件中新建文本文件,輸入例22-1-1的VHDL程序代碼,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。2、將信號源模塊第一全局時(shí)鐘GCLK1跳線器接需要的時(shí)鐘頻率CLK,撥位開關(guān)作為數(shù)據(jù)輸入和控制信號輸入,LED作為狀態(tài)機(jī)輸出,觀察實(shí)驗(yàn)結(jié)果。3、在Quartus軟件中新建文本文件,輸入例23-1-1的VHDL程序代碼,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。4、將信號源模塊第一全局時(shí)鐘GCLK1跳線器接需要的時(shí)鐘頻率CLK,撥位開關(guān)作為數(shù)據(jù)輸入和控制信號輸入,LED作為狀態(tài)機(jī)輸出,
28、觀察實(shí)驗(yàn)結(jié)果。 實(shí)驗(yàn)六 “梁?!睒非葑嚯娐吩O(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、 了解樂曲演奏電路的原理。2、 掌握利用可編程邏輯器件實(shí)現(xiàn)樂曲演奏的設(shè)計(jì)方法。二、實(shí)驗(yàn)內(nèi)容驗(yàn)證梁祝樂曲演奏程序。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,數(shù)碼管顯示模塊喇叭模塊。四、實(shí)驗(yàn)原理與利用微處理器(CPU或MCU)來實(shí)現(xiàn)樂曲演奏相比,以純硬件完成樂曲演奏電路的邏輯要復(fù)雜得多。如果不借助于功能強(qiáng)大的EDA工具和硬件描述語言,僅憑傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡單的演奏電路也很難實(shí)現(xiàn)。根據(jù)聲樂學(xué)知識,組成樂曲的每個(gè)音符的發(fā)音頻率值及其持續(xù)的時(shí)間是樂曲能連續(xù)演奏所需的兩個(gè)基本要素,獲取這兩個(gè)要素所
29、對應(yīng)的數(shù)值以及通過純硬件的手段來利用這些數(shù)值實(shí)現(xiàn)所希望樂曲的演奏效果是本實(shí)驗(yàn)的關(guān)鍵。本設(shè)計(jì)由三個(gè)模塊組成,各模塊的功能如下所述:模塊一SPEAKER為一個(gè)數(shù)控分頻器。其CLK端輸入一個(gè)具有較高頻率(本實(shí)驗(yàn)為12MHz)的信號,通過SPEAKER分頻后由SPKOUT輸出。由于直接從數(shù)控分頻器中出來的輸出信號是脈寬極窄的脈沖式信號,為了便于驅(qū)動喇叭,需另加一個(gè)D觸發(fā)器均衡其占空比,但這時(shí)的頻率將是原來的1/2。SPEAKER對CLK輸入信號的分頻比由11位預(yù)置數(shù)TONE10.0決定。SPKOUT的輸出頻率將決定每一音符的音調(diào),這樣分頻計(jì)數(shù)器的預(yù)置值TONE10.0與SPKOUT的輸出頻率就有了對應(yīng)
30、關(guān)系。例如在TONETABA模塊中若取TONE10.0=1036,作為發(fā)音符為“3”音的信號頻率。模塊二TONETABA是確定樂曲的速度以及每個(gè)音符的節(jié)拍數(shù)。TONETABA的功能首先是為SPEAKER提供決定所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)在SPEAKER輸入口停留的時(shí)間即為此音符的節(jié)拍值。模塊TONETABA是樂曲簡譜碼對應(yīng)的分頻預(yù)置數(shù)查表電路,其中設(shè)置了“梁祝”樂曲全部音符所對應(yīng)的分頻預(yù)置數(shù),共13個(gè),每一音符的停留時(shí)間由音樂節(jié)拍和音調(diào)發(fā)生器模塊NOTETABS的CLK輸入頻率來決定,在此為4Hz。這13個(gè)值的輸出由對應(yīng)于TONETABA的4位輸入值Index3.0來確定,而Index3.0
31、最多有16種可選值。輸向TONETABA中的值ToneIndex3.0的輸出值與持續(xù)的時(shí)間由模塊NOTETABS來決定。模塊三NOTETABS為音調(diào)發(fā)生器。在NOTETABS中設(shè)置了一個(gè)8位二進(jìn)制計(jì)數(shù)器(計(jì)數(shù)最大值為138),這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4Hz,即每一計(jì)數(shù)值的停留時(shí)間為0.25S,恰好為當(dāng)全音符設(shè)為1S時(shí),四四拍的4分音符的持續(xù)時(shí)間。例如,NOTETABS在以下的VHDL邏輯描述中,“梁?!睒非牡谝粋€(gè)音符為“3”,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即為1S時(shí)間,相應(yīng)地所對應(yīng)的“3”音符分頻預(yù)置值為1036在SPEAKER的輸入端停留了1S。隨著NOTETABS中的計(jì)數(shù)器按4Hz的時(shí)
32、鐘頻率作加法計(jì)數(shù)時(shí),“梁祝”樂曲就開始連續(xù)自然地演奏起來了。下表28-1為簡譜中音名與頻率的對應(yīng)關(guān)系:音名頻率(HZ)音名頻率(HZ)音名頻率(HZ) 低音1261.63中音1523.25高音11046.50 低音2293.67中音2587.33高音21174.66 低音3329.63中音3659.25高音31381.51 低音4349.23中音4698.46高音41396.92 低音5391.99中音5783.99高音51567.98 低音6440中音6880高音61760 低音7439.88中音7987.76高音71975.52表28-1 簡譜中音名與頻率的關(guān)系由于對應(yīng)的頻率點(diǎn)都有小數(shù)部分
33、,在分頻時(shí)不需花大量時(shí)間去產(chǎn)生分頻電路,只要大概頻率點(diǎn)在此范圍內(nèi)即可,本實(shí)驗(yàn)采用下圖所示頻率點(diǎn),我們把音符與音譜對應(yīng)定義如下:現(xiàn)在提供轉(zhuǎn)換的“梁祝”樂曲音符,需要演奏其它樂曲的原理相同,只需修改音符即可:3;3;3;3;5;5;5;6;8;8;8;9;6;8;5;5;12;12;12;15;13;12;10;12;9;9;9;9;9;9;9;0;9;9;9;10;7;7;6;6;5;5;5;6;8;8;9;9;3;3;8;8;6;5;6;8;5;5;5;5;5;5;5;5;10;10;10;12;7;7;9;9;6;8;5;5;5;5;5;5;3;5;3;3;5;6;7;9; 6; 6;6;
34、6; 6; 6; 5; 6; 8; 8; 8; 9; 12; 12; 12; 10;9;9; 10; 9;8; 8; 6; 5; 3; 3; 3; 3; 8; 8; 8; 8; 6;8; 6; 5; 3; 5; 6; 8; 5; 5; 5; 5; 5; 5; 5; 5;0; 0; 0;五、實(shí)驗(yàn)步驟1、在Quartus軟件中新建原理圖文件,輸入自己設(shè)計(jì)的原理圖,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。2、將第一全局時(shí)鐘CLK1的跳線器接4Hz,第二全局時(shí)鐘CLK2的跳線器接32768Hz,第三全局時(shí)鐘CLK3的跳線器接12MHz。將喇叭模塊跳線SK2短接??烧{(diào)電位器SW1控制喇叭音量大小。數(shù)碼管S
35、M4顯示樂曲音符的高、中、低音(0代表低音,1代表中音,2代表高音);數(shù)碼管SM2SM3顯示常零。數(shù)碼管SM1顯示樂曲演奏的音符(高、中、低17音符)。觀察、傾聽實(shí)驗(yàn)結(jié)果。 3、畫出頂層設(shè)計(jì)文件的原理圖,敘述電路的工作原理。實(shí)驗(yàn)七 D/A接口電路與波形發(fā)生器設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)利用可編程邏輯器件設(shè)計(jì)D/A器件的接口控制電路。二、實(shí)驗(yàn)內(nèi)容1、 設(shè)計(jì)一個(gè)正弦波產(chǎn)生電路。(提示:輸入連續(xù)的點(diǎn)即可顯示為波形)2、 利用模擬信號源模塊MAX038實(shí)現(xiàn)一個(gè)掃頻信號源。 (提示:MAX038第10腳輸入的是一個(gè)電流量,由此電流來控制輸出頻率即內(nèi)部是一個(gè)振蕩電流產(chǎn)生器(OSCILLATOR CURRENT
36、GENERATOR),在產(chǎn)生鋸齒波的基礎(chǔ)上將不同電壓輸入到第10腳后就可輸出不同頻率的信號即掃頻源信號。)三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,模擬信號源模塊A/D、D/A轉(zhuǎn)換模塊,濾波模塊,信號調(diào)節(jié)模塊,數(shù)碼管顯示模塊,示波器。四、實(shí)驗(yàn)原理本實(shí)驗(yàn)采用8位的D/A轉(zhuǎn)換器TLC7524(此芯片詳細(xì)資料在光盤中實(shí)驗(yàn)二十九文件夾內(nèi)),其引腳如下圖29-1所示(DIP16封裝): 圖29-1 TLC7524引腳圖(1)、/WR:寫信號,低電平有效。實(shí)驗(yàn)電路已接為低電平,寫入始終有效。(2)、OUT1/OUT2:電流輸出1和2。TLC7524輸出的D/A轉(zhuǎn)換量是電
37、流形式,因此必須接一個(gè)運(yùn)放將電流信號變?yōu)殡妷盒盘?。?shí)驗(yàn)電路已接好轉(zhuǎn)換電路,直接測量輸出量OUT即可。(3)、REF:基準(zhǔn)電壓。(4)、RFB:反饋電阻端。(5)、VDD、GND:電源和地。(6)、/CS:片選信號;(7)、DB0DB7:D/A轉(zhuǎn)換的輸入數(shù)據(jù)。采用TLC7524進(jìn)行D/A轉(zhuǎn)換的具體接口電路見第一部分實(shí)驗(yàn)系統(tǒng)簡介中,關(guān)于D/A轉(zhuǎn)換模塊的描述。五、實(shí)驗(yàn)步驟1、在Quartus軟件中新建原理圖文件,輸入自己設(shè)計(jì)的原理圖,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。2、對于實(shí)驗(yàn)內(nèi)容1,將電源模塊按鈕APW2按下,為TCL7524提供±12V電壓。將第一全局時(shí)鐘CLK1的跳線器接1Hz
38、-6MHz任意頻率,第二全局時(shí)鐘CLK2的跳線器接32768Hz。DAOUT輸出信號接示波器可觀察到D/A轉(zhuǎn)換后的波形。該信號為正弦波,峰峰值約為1V。正弦波的頻率隨著D/A器件輸入待轉(zhuǎn)換數(shù)據(jù)的速度而相應(yīng)變化,本實(shí)驗(yàn)輸入數(shù)據(jù)速度由CLKIN(已接CLK1)的輸入頻率決定,頻率變化范圍為1Hz6MHz。在輸入時(shí)鐘CLKIN很小時(shí),如1Hz,則在數(shù)碼管SM2SM1上可觀察到即時(shí)的DA轉(zhuǎn)換數(shù)值。DAOUT輸出的波形,是沒有經(jīng)過濾波的波形。如要得到較為光滑的輸出波形,可以將DAOUT的輸出波形經(jīng)過濾波模塊進(jìn)行濾波和信號調(diào)節(jié)模塊進(jìn)行放大處理,從而得到伏值更大的光滑波形。有關(guān)濾波模塊和信號調(diào)節(jié)模塊的使用可
39、參考第一部分的實(shí)驗(yàn)系統(tǒng)模塊介紹。觀察實(shí)驗(yàn)結(jié)果。3、對于實(shí)驗(yàn)內(nèi)容2,將電源模塊按鈕APW2按下,為TCL7524提供±12V電壓。將模擬信號源模塊電源按鈕AP1、AP2按下,開啟模擬信號源。將第一全局時(shí)鐘CLK1的跳線器接1024Hz。首先將DAOUT的輸出信號接到信號調(diào)節(jié)模塊,即用實(shí)驗(yàn)連接線將D/A模塊的DAOUT插孔和信號調(diào)節(jié)模塊的IN2插孔相連,對D/A模塊的輸出信號進(jìn)行放大,通過調(diào)節(jié)電位器FW4可以改變輸出信號幅值的大小。其次將信號調(diào)節(jié)模塊的輸出信號OUT2接到模擬信號源模塊,即用實(shí)驗(yàn)連接線將DA模塊的DAOUT插孔和模擬信號源模塊的IN插孔相連(此時(shí)需將AJ0、AJ4的跳線取
40、下、短接AJ2,并把AB2向上撥選擇正弦波)。 最后將模擬信號源的輸出信號OUT接到濾波模塊,進(jìn)行低通濾波。通過調(diào)節(jié)電位器FW1和FW2得到掃頻信號。觀察實(shí)驗(yàn)結(jié)果。4、總結(jié)實(shí)驗(yàn)過程中的問題,記錄實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)八 高速A/D采樣控制器設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)利用可編程邏輯器件設(shè)計(jì)A/D器件的接口控制電路。二、實(shí)驗(yàn)內(nèi)容1、編寫出本實(shí)驗(yàn)A/D轉(zhuǎn)換接口控制器件的VHDL程序代碼。2、在實(shí)驗(yàn)系統(tǒng)上實(shí)現(xiàn)對一交流模擬信號采集(A/D轉(zhuǎn)換),并通過D/A轉(zhuǎn)換輸出。三、實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,模擬信號源模塊A/D、D/A轉(zhuǎn)換模塊,濾波模塊,信號調(diào)節(jié)模塊,分立元件模
41、塊,開關(guān)按鍵模塊、數(shù)碼管顯示模塊,示波器。四、實(shí)驗(yàn)原理對于高速A/D采樣控制,比如說每秒采樣一百萬個(gè)點(diǎn),普通的單片機(jī)受順序結(jié)構(gòu)指令周期的限制已經(jīng)不能勝任。而這類控制邏輯比較簡單,非常適合用CPLD/FPGA控制。本實(shí)驗(yàn)以TLC5510(該芯片資料附在光盤內(nèi))為例介紹FPGA的高速采樣控制。TLC5510是TI公司的高速模數(shù)轉(zhuǎn)換器,用于視頻處理、高速數(shù)據(jù)轉(zhuǎn)換等領(lǐng)域,采用CMOS工藝制造,精度為8位,轉(zhuǎn)換速率為20MSPS(每秒采樣20M次)。采用半閃速(SemiFlash)結(jié)構(gòu),內(nèi)建采樣保持(S/H)電路,圖30-1為TLC5510的引腳圖,圖30-2為TLC5510采樣時(shí)序圖。圖30-1 TLC5510引腳圖 圖30-2 TLC5510采樣時(shí)序圖TLC5510各引腳功能如下:clk:時(shí)鐘信號輸入。Analog In:模擬信號輸入。D1D8:轉(zhuǎn)換數(shù)據(jù)輸出。Reft、Refb、Refts、Refbs:參考電壓基準(zhǔn)輸入。OE:輸出使能,低電平有效。DGND、VDDD:數(shù)字地、數(shù)字電源端。AGND、VDDA:模擬地、模擬電源端。由TLC5510的采樣時(shí)序圖可以看出,TLC5510是以流水線的工作
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度會展中心場地租賃合同參考范本2篇
- 二零二五年度出租車經(jīng)營權(quán)承包合同樣本4篇
- 二零二五年度國畫藝術(shù)衍生品研發(fā)合同3篇
- 二零二五年度土地儲備土地補(bǔ)償款結(jié)算合同
- 二零二五年度禽類養(yǎng)殖產(chǎn)業(yè)金融服務(wù)禽類采購合同3篇
- 二零二五年度出租車車牌租賃經(jīng)營合同協(xié)議4篇
- 二零二五年度毛石石材礦山環(huán)保合同3篇
- 2025年度二零二五地質(zhì)勘探合同模板3篇
- 二零二五年鋼板樁租賃與建筑綠色施工技術(shù)合同3篇
- 2025年度智能化挖掘機(jī)租賃服務(wù)合同3篇
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
評論
0/150
提交評論