《電子設計自動化》課件第7章_第1頁
《電子設計自動化》課件第7章_第2頁
《電子設計自動化》課件第7章_第3頁
《電子設計自動化》課件第7章_第4頁
《電子設計自動化》課件第7章_第5頁
已閱讀5頁,還剩182頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7.1組合邏輯電路

7.2時序邏輯電路設計

7.3常用時序邏輯電路的設計

7.4實訓

習題

7.1組合邏輯電路對于組合邏輯電路,電路任何時刻的輸出信號僅取決于當時的輸入信號,其輸出的值由輸入決定。在設計組合邏輯電路時,在進程中要包括所有的輸入信號,以確保每一個信號的變化都要啟動進程。常用的組合邏輯電路有編碼器、譯碼器、比較器、三態(tài)門、加法器等。7.1.1編碼器和譯碼器

1.優(yōu)先級8-3編碼器

優(yōu)先級8-3編碼器有d7~d0八個輸入信號,y2、y1、y0三個輸出信號,各信號高電平有效。其真值表如表7-1所示,邏輯符號如圖7-1所示。硬件電路中的優(yōu)先級關系在VHDL語言中可以用IF分支判斷語句或在PROCESS進程語句中設置臨時變量來實現(xiàn)。如用IF語句,多條件的IF語句的條件是有優(yōu)先級的,最前面的條件的優(yōu)先級最高,越往后優(yōu)先級越低。例7-1是使用IF的分支判斷語句實現(xiàn)優(yōu)先級8-3編碼器的VHDL程序,其利用了進程中語句順序執(zhí)行的特點,由于語句是由上至下執(zhí)行的,因而后面的賦值將覆蓋前面的賦值。例7-2為使用PROCESS進程語句中變量的特點實現(xiàn)優(yōu)先級8-3編碼器的VHDL程序。(本章的程序為簡單起見,全部采用小寫形式,VHDL程序不區(qū)分大小寫。)圖7-1優(yōu)先級8-3編碼器邏輯符號

2.3-8譯碼器

3-8譯碼器的電路功能與編碼器相反,其輸入為a2、a1、a0三個信號,輸出為y7~y0八個信號,另外還有三個控制信號g1、g2a和g2b。其真值表如表7-2所示,邏輯符號如圖7-2所示。圖7-23-8譯碼器邏輯符號7.1.2多位比較器

多位比較器的真值表如表7-3所示,邏輯符號如圖7-3所示。圖7-38位比較器邏輯符號

【例7-4】下面為多位比較器的VHDL源程序,此程序為8位比較器。7.1.3三態(tài)門

三態(tài)門是驅(qū)動電路經(jīng)常用到的器件,其輸出有三種狀態(tài),分別為“1”、“0”與“Z”(即高阻狀態(tài))。三態(tài)門的邏輯符號如圖7-4所示。圖7-4三態(tài)門邏輯符號7.1.4加法器

加法器的結(jié)構(gòu)化設計見6.3.3節(jié),其實也可以調(diào)用IEEE庫中的STD_LOGIC_UNSIGNED庫進行設計,對兩個輸入類型為STD_LOGIC_VECTOR的數(shù)直接進行加法運算。

【例7-6】兩個4位加法器的VHDL程序如下:7.2時序邏輯電路設計對于時序邏輯電路,其任何時刻的輸出信號不僅取決于當時的輸入信號,而且還取決于電路原來的工作狀態(tài),即與以前的輸入信號及輸出信號也有關系。在時序邏輯電路的設計中,時鐘信號比較重要,基本每一個時序邏輯電路都是由時鐘控制的。時序邏輯電路的控制信號還包括兩種重要的信號:同步控制信號與異步控制信號。7.2.1時鐘信號

時序邏輯電路只有在時鐘信號的邊沿到來時,其狀態(tài)才發(fā)生改變。因此,時鐘信號通常描述時序電路程序執(zhí)行的條件。另外,時序邏輯電路總是以時鐘進程的形式來進行描述的,其描述方式一般分兩種情況。

1.進程的敏感信號是時鐘信號

在這種情況下,時鐘信號應作為進程敏感信號,顯式地出現(xiàn)在process語句后面的括號中,例如process(clock_signal)。時鐘信號邊沿的到來,將作為時序邏輯電路語句執(zhí)行的條件。例7-7程序說明,該進程在時鐘信號(clock_signal)發(fā)生變化時被啟動,而在時鐘邊沿的條件得到滿足后才真正執(zhí)行時序電路所對應的語句。

2.用waiton或waituntil語句控制進程啟動

在這種情況下,描述時序電路的進程將沒有敏感信號,而是用waiton或waituntil語句來控制進程的執(zhí)行,也就是說,進程通常停留在waiton或waituntil語句上,只有在時鐘信號到來且滿足邊沿條件時,其余的語句才被執(zhí)行,如例7-8所示。在編寫上述兩個程序時應注意:

(1)無論if語句還是wait語句,在對時鐘邊沿說明時,一定要注明是上升沿還是下降沒(前沿還是后沿),光說明是邊沿是不行的。

(2)當時鐘信號作為進程的敏感信號時,在敏感信號列表中不能出現(xiàn)一個以上的時鐘信號;除時鐘信號以外,像復位信號等是可以和時鐘一起出現(xiàn)在敏感信號表中的。

(3)?wait語句只能放在進程的最前面或者最后面。

3.時鐘邊沿的描述

為了描述時鐘邊沿,一定要指定是上升沿還是下降沿,這一點可以用時鐘信號的屬性描述來實現(xiàn)。也就是說,通過確定時鐘信號的值是從“0”到“1”變化,還是從“1”到“0”變化,由此得知是時鐘脈沖信號的上升沿還是下降沿。

1)時鐘脈沖的上升沿描述

時鐘脈沖上升沿波形與時鐘信號屬性的描述關系如圖7-5所示。

從圖中可以看到,時鐘信號起始值為“0”,故其屬性值clk’last_value=‘0’;其上升沿的到來表示發(fā)生了一個事件,故用clk’event表示;上升沿以后,時鐘信號的值為“1”,故其當前屬性值為clk=‘1’。這樣,表示上升沿到來的條件可寫為

ifclk’eventandclk’last_value='0'andclk='1'then圖7-5時鐘脈沖上升沿屬性描述關系

2)時鐘脈沖的下降沿描述

時鐘脈沖下降沿波形與時鐘信號屬性的描述關系如圖7-6所示。

從圖中可以看到,時鐘信號起始值為“1”,故其屬性值clk’last_value=‘1’;其下降沿的clk’last_value=‘1’,時鐘信號當前值為clk=‘0’,下降沿到來的事件為clk’event。這樣表示下降沿到來的條件可寫為

ifclk’eventandclk’last_value='1'andclk='0'then圖7-6時鐘脈沖下降沿屬性描述關系根據(jù)上面的描述,時鐘的邊沿檢測條件可以統(tǒng)一描述如下:

ifclock_signal=current_valueandclock_signal’last_valueandclock_signal’eventthen

在某些應用中,也可以簡寫成如下形式:

ifclock_signal=current_valueandclock_signal’eventthen

另外,對于STD_LOGIC類型的信號可以用預定義好的兩個函數(shù)來表示時鐘的邊沿:

rising_edge(clk)表示時鐘的上升沿

falling_edge(clk)?表示時鐘的下降沿7.2.2其他控制信號

1.同步控制信號

在時序邏輯電路中,同步控制信號指該信號控制功能的產(chǎn)生必須等時鐘的邊沿到來時才有效,也即與時鐘同步。因此,要使同步控制信號能夠可靠地產(chǎn)生控制作用,其寬度必須保證至少有一個時鐘周期。時鐘的上升沿比同步控制信號的優(yōu)先級要高,所以在編寫程序時一定要把檢測同步控制信號有效的語句放在檢測時鐘邊沿的后面。在進程的敏感信號列表中可以不包括同步控制信號,因為時鐘邊沿信號的優(yōu)先級比同步控制信號要高,只有在時鐘邊沿到來時控制信號才有效,這時進程已經(jīng)啟動了,所以可以檢測到同步控制信號。當然在進程的敏感信號列表中也可以包含同步控制信號,但這會造成進程的多余啟動,對于程序的運行結(jié)果則沒有影響。如果電路中含有使能信號(其性質(zhì)是同步控制信號),則可以把使能信號看做同步控制信號。

【例7-9】帶有使能信號的同步清零的八進制計數(shù)器,其仿真波形見圖7-7。圖7-7同步控制信號仿真波形

2.異步控制信號

在時序邏輯電路中,異步控制信號指該信號的控制功能只要滿足條件就立即產(chǎn)生,而不需等時鐘的邊沿到來時才有效。因此,異步控制信號時鐘的上升沿比同步控制信號的優(yōu)先級要高,在編寫程序時一定要把檢測異步控制信號有效的語句放在檢測時鐘邊沿的前面。在進程的敏感信號列表中應該包括異步控制信號,因為時鐘邊沿信號的優(yōu)先級比異步控制信號要低,所以只要異步控制信號有效,進程就必須啟動。

【例7-10】設計帶有使能信號的異步清零的八進制計數(shù)器,其仿真波形見圖7-8。圖7-8異步控制信號仿真波形7.3常用時序邏輯電路的設計7.3.1存儲器

1.存儲器描述中的共性問題

1)存儲器的數(shù)據(jù)類型存儲器是眾多存儲單元的集合體,按照單元號順序排列,每個單元由若干二進制位構(gòu)成,以表示單元中存放的數(shù)據(jù)值。這種結(jié)構(gòu)和數(shù)組的結(jié)構(gòu)是非常相似的。每個存儲單元所存放的數(shù)可以用不同的、由VHDL語句所定義的數(shù)的類型來描述,例如用整數(shù)和位矢量來描述:

typememoryisarray(integerrange<>)ofinteger;

這是一個元素用整數(shù)表示的數(shù)組,用它來描述存儲器存儲數(shù)據(jù)的結(jié)構(gòu)。

subtypewordisstd_logic_vector(k-1downto0);

typememoryisarray(0to2**w-1)ofword;

這是一個元素用位矢量表示的數(shù)組,用它來描述存儲器存儲數(shù)據(jù)的結(jié)構(gòu)。這里k表示存儲單元二進制位數(shù),w表示數(shù)組的元素個數(shù)。

2)存儲的初始化

在用VHDL語言描述ROM時,ROM的內(nèi)容應該在仿真時事先讀到ROM中,這就是所謂存儲器的初始化。存儲器的初始化要依賴于外部文件的讀取,也就是說依賴于TEXTIO。下面就是對ROM進行初始化的例子。

2.只讀存儲器ROM

用VHDL語言編寫ROM(ReadOnlyMemory)時需要對其進行初始化。

3.隨機存儲器RAM

RAM和ROM的主要區(qū)別在于RAM的描述中有“讀”和“寫”兩種操作,而且其讀、寫操作對時間有著嚴格的要求。

【例7-13】設計一個8×8位RAM,基中cs為片選信號,wr為寫信號,rd為讀信號。當cs=1、在wr信號的上升沿時,將IO上的數(shù)據(jù)寫入到由addr指定的單元;當cs=0、rd=0時,將addr指定的單元讀出送至IO。7.3.2先入先出存儲器

先入先出(FirstInFirstOut,F(xiàn)IFO)存儲器作為數(shù)據(jù)緩沖器,通常其數(shù)據(jù)存放結(jié)構(gòu)與RAM是一致的,只是存取方式有所不同。

7.3.3堆棧

堆棧是一種常見的數(shù)據(jù)存儲結(jié)構(gòu),它的特點是數(shù)據(jù)后進先出。堆棧會在實現(xiàn)某些控制算法的電路中出現(xiàn),但一般不會用來處理大流量的數(shù)據(jù)。大多的器件廠家都沒有提供專門的堆棧單元模塊,因此需要在設計中描述寄存器堆來實現(xiàn)堆棧結(jié)構(gòu)。

【例7-16】6分頻的VHDL源程序如下,其中architecturea使用第一種方案,architectureb使用第二種方案,使用configuration配置語句為實體指定結(jié)構(gòu)體。7.3.5波形產(chǎn)生電路

1.基于ROM的波形產(chǎn)生電路

波形產(chǎn)生電路主要通過調(diào)用寄存器中的數(shù)據(jù),控制取出數(shù)據(jù)的速度從而控制周期。波形周期的改變一般有兩種方法:一種是改變時鐘的速度,也即改變?nèi)〕黾拇嫫髦袛?shù)據(jù)的速度控制所產(chǎn)生波形的速度;另一種是通過控制取出寄存器中數(shù)據(jù)的間隔來控制產(chǎn)生波形的周期,所取數(shù)據(jù)的間隔越大,所產(chǎn)生的波形頻率就越大。

【例7-18】用一個數(shù)組表示數(shù)據(jù)寄存器,并把該數(shù)組用程序包進行描述。

2.任意波形的產(chǎn)生

1)正弦波

【例7-19】正弦波的VHDL源程序如下:

2)三角波

由于三角是由線性增加和線性遞減的兩條線段構(gòu)成的,所以可以直接用VHDL語言編程來實現(xiàn)三角波。當線性自加到最高點時,由控制語句控制其自減,直到減到最低點時再重復之前的過程,從而實現(xiàn)三角波。

【例7-20】采用VHDL語言編程的三角波源程序如下:

3)鋸齒波

鋸齒波的采樣也可以用VHDL語言來實現(xiàn):當波形自加到所要求的最高點時,由控制語句使其返回0點重復以前的過程,從而實現(xiàn)鋸齒波。另外設置一個控制按鍵,來控制輸出上升鋸齒波或下降鋸齒波。

【例7-21】鋸齒波VHDL源程序如下:

4)方波

由于時鐘脈沖輸出即為方波,因而對方波的設計可以簡化為直接輸出時鐘脈沖信號。但是,在本設計中方波與其他三個波形要同步且要經(jīng)過D/A轉(zhuǎn)換,所以還需把時鐘脈沖變成8位輸出才可以經(jīng)由D/A轉(zhuǎn)換輸出,具體過程可以由例7-22所示的程序?qū)崿F(xiàn)。

5)波形選擇與控制

在前面已經(jīng)分別介紹了4種基礎波形的設計,現(xiàn)在介紹如何將4種波形合并,使它們按操作輸出所需波形,波形選擇與控制功能由時鐘脈沖輸入選擇模塊完成。當選擇了一種波形時,對應的波形模塊輸入時鐘脈沖,并輸出波形數(shù)據(jù),其他三個波形模塊的輸入則始終為0,不能輸出波形。但是,其他波形模塊始終有0信號輸入,也能產(chǎn)生數(shù)據(jù),會對輸出的波形產(chǎn)生干擾。因此,需要輸出波形選擇模塊來選擇有用的波形,隔離干擾數(shù)據(jù)。為了同時實現(xiàn)時鐘脈沖選擇與輸出波形選擇,同時也為了消除延遲,在輸出波形選擇模塊與時鐘脈沖選擇模塊中采用同一組控制開關。這樣當輸入一種控制數(shù)據(jù)時,輸出的波形也就是所需的波形。這種設計可以減少按鍵的數(shù)量,節(jié)省資源,降低錯誤機率。任意波形發(fā)生器的系統(tǒng)總體設計原理圖如圖7-9所示。圖7-9任意波形發(fā)生器的系統(tǒng)總體設計原理圖7.3.6狀態(tài)機

狀態(tài)機通常分為米勒型(Mealy)和摩爾型(Moore)。米勒型狀態(tài)機的輸出由電路當前的輸入和電路原來的狀態(tài)決定,屬于同步輸出狀態(tài)機,一旦輸入信號或狀態(tài)發(fā)生變化,輸出信號立即發(fā)生變化。摩爾型狀態(tài)機的輸出是當前狀態(tài)的函數(shù),屬于異步輸出狀態(tài)機,輸出信號只在時鐘邊沿到來時才發(fā)生變化。7.4實訓7.4.14位乘法器設計一、實訓目的

(1)用組合邏輯電路設計4位并行乘法器。

(2)了解并行乘法器的設計原理。

(3)掌握結(jié)構(gòu)化設計方法。二、實訓原理

4位乘法器有多種實現(xiàn)方案,根據(jù)乘法器的運算原理,使部分乘積項對齊相加(通常稱并行法)是最典型的算法之一。這種算法可用組合電路實驗,其特點是設計思路簡單直觀、電路運算速度快,缺點是使用器件較多。

1.并行乘法的算法

下面將根據(jù)乘法例題來分析這種算法,題中M4、M3、M2、M1是被乘數(shù),用M表示。N4、N3、N2、N1是乘數(shù),用N表示,如圖7-10所示。從以上乘法實例可以看到,乘數(shù)N中的每一位都要與被乘數(shù)M相乘,獲得不同的積,每部分乘法之和相加時需按高低位對齊,并行相加,才能得到正確的結(jié)果。

2.并行乘法電路原理

并行乘法電路完全是根據(jù)以上算法而設計的,其電路框圖如圖7-11所示。圖中XB0、XB1、XB2、XB3是乘數(shù)B的第N位與被乘數(shù)A相乘的1×4bit乘法器。三個加法器將1×4bit乘法器的積作為加數(shù)A,前一級加法器的和作為加數(shù)B,相加后得到新的部分積,通過三級加法器的累加最終得到乘積P(P7P6P5P4P3P2P1P0)。圖7-11并行乘法電路框圖

三、實訓內(nèi)容

(1)用VHDL語言設計4位乘法器。

(2)設計乘法器功能模塊及4位加法器功能模塊,并解釋程序。

(3)采用結(jié)構(gòu)化方法設計該乘法器。

(4)進行軟件仿真,并分析仿真結(jié)果。

(5)鎖定引腳,并下載驗證。

四、實訓步驟(略)

五、器件下載編程與硬件實現(xiàn)

在進行硬件測試時,選擇8個按鍵作為4個數(shù)據(jù)輸入信號,用8個LED燈作為運算結(jié)果數(shù)據(jù)輸出指示,每4個數(shù)為一個二進制數(shù)值,通過LED燈的亮滅來顯示乘法的運算結(jié)果。其硬件對應示意表如表7-4所示。本實訓的硬件結(jié)構(gòu)示意圖如圖7-12所示。圖7-12硬件結(jié)構(gòu)示意圖

六、實訓報告

(1)說明實訓項目的工作原理、所需要的器材。

(2)寫出設計源程序,并進行解釋。

(3)寫出軟件仿真結(jié)果,并進行分析。

(4)說明硬件原理與測試情況。

(5)寫出心得體會。7.4.2步長可變的加減計數(shù)器設計

一、實訓目的

(1)掌握加減法計數(shù)器以及特殊功能計數(shù)器的設計原理。

(2)用VHDL語言設計多功能計數(shù)器。

二、實訓原理

1.加減工作原理

加減計數(shù)也稱為可逆計數(shù),就是根據(jù)計數(shù)控制信號的不同,在時鐘脈沖的作用下,計數(shù)器可以進行加1計數(shù)操作或者減1計數(shù)操作。

2.變步長工作原理

如步長為3的加法計數(shù)器,計數(shù)狀態(tài)變化為0,3,6,9,12,…,步長值由輸入端控制。在加法計數(shù)時,當計數(shù)值達到或超過99時,下一個時鐘脈沖過后,計數(shù)器清零;在減法計數(shù)時,當計數(shù)值達到或小于0時,下一個時鐘脈沖過后,計數(shù)器也清零。其工作過程如圖7-13所示。圖7-13步長可變的加減計數(shù)器工作過程

三、實訓內(nèi)容

(1)設計的計數(shù)步長可在0~99之間變化。

(2)通過仿真或觀察波形圖驗證設計的正確性。

(3)編譯下載,驗證結(jié)果。

四、設計提示

(1)注意IF語句的嵌套。

(2)注意加減計數(shù)狀態(tài)的變化,計數(shù)值由9變0(加法)及由0變9(減法)各位的變化。由于計數(shù)器為十進制計數(shù)器,還應考慮進位或借位后進行加6及減6校正。

五、實訓步驟(略)

六、器件下載編程與硬件實現(xiàn)

在進行硬件測試時,取按鍵K1~K4對應步長數(shù)的十位(BCD碼),K1為高位;按鍵K5~K8對應步長數(shù)的個位(BCD碼),K5為高位;按鍵K9為使能開關(高電平有效);按鍵K10為加減模式切換開關(高電平為加,低電平為減);按鍵K11為同步清零開關(低電平有效)。計數(shù)的結(jié)果通過兩個數(shù)碼管M2、M1顯示輸出。

本實訓的硬件結(jié)構(gòu)示意圖如圖7-14所示。圖7-14硬件結(jié)構(gòu)示意圖

七、實訓報告

(1)指出實訓所需要的器材。

(2)寫出多模加減計數(shù)器的VHDL源程序,并進行分析說明。

(3)敘述多模加減計數(shù)器的工作原理。

(4)畫出計數(shù)器仿真工作波形圖,并分析說明。

(5)寫出硬件測試情況。

(6)寫出心得體會。7.4.3序列檢測器設計

一、實訓目的

(1)了解狀態(tài)機的設計方法。

(2)運用狀態(tài)機的原理設計一個序列檢測器。

(3)掌握枚舉類型的用法。二、實訓原理

序列檢測器在數(shù)據(jù)通信、雷達和遙測等領域中用于檢測同步識別標志。它是一種用于檢測一組或多組序列信號的電路,例如檢測器收到一組串行碼1110010后,輸出標志1,否則輸出0??紤]這個例子,每收到一個符合要求的串行碼就需要用一個狀態(tài)機進行記憶。串行碼長度為7位,需要7個狀態(tài)。另外,還需要增加一個“未收到一個有效位”的狀態(tài),共8個狀態(tài)(S0~S7),狀態(tài)標志符的下標表示有幾個有效位被讀出。畫出狀態(tài)轉(zhuǎn)移圖,如圖7-15所示,很顯然這是一個摩爾型狀態(tài)機。8個狀態(tài)機根據(jù)編碼原則可以用3位二進制數(shù)來表示。圖7-15序列檢測器的狀態(tài)轉(zhuǎn)換圖

三、實訓內(nèi)容

(1)用VHDL語言編寫出源程序。

(2)設計兩個脈沖發(fā)生器,一個檢測1110010序列;另一個不包含此序列,用于檢測程序的正確性。

(3)將脈沖序列發(fā)生器和脈沖序列檢測器結(jié)合生成一個文件,并編譯下載,驗證結(jié)果。

四、實訓步驟

該實訓項目因為要有一個符合要求的序列信號,所以涉及第3章的實訓,需要一個脈沖序列發(fā)生器。第3章的實訓是通過原理圖進行設計的,讀者也可以用VHDL語言進行設計,這樣可以修改產(chǎn)生的脈沖序列。在產(chǎn)生脈沖序列的程序中可以添加控制按鍵,用于產(chǎn)生不同的脈沖序列信號,比如當控制按鍵為高電平時輸出“11100100”序列,低電平時輸出“10101010”序列,然后再用本實訓的序列檢測器檢測該序列,通過LED燈的亮滅表示是否檢測到該序列。也可以通過示波器先檢測一下脈沖序列信號是否正確??梢酝ㄟ^一個程序完成全部功能,該程序包括脈沖信號產(chǎn)生程序與脈沖信號檢測程序,也可以兩個人合作通過兩臺EDA實驗開發(fā)系統(tǒng)的擴展口分別實現(xiàn)兩個程序及其之間的通信。五、器件下載編程與硬件實現(xiàn)

在進行硬件測試時,在脈沖信號產(chǎn)生程序中按鍵K1為復位端(低電平時復位),按鍵K2為數(shù)據(jù)選擇開關(高電平時輸出“11100100”序列,低電平時輸出“10101010”序列),擴展口(JK3)輸出脈沖信號,擴展口JK4為接收數(shù)據(jù)端,LED燈用于顯示是否接到一個正確的脈沖序列。本實訓的硬件結(jié)構(gòu)示意圖如圖7-16所示。圖7-16序列檢測器的硬件結(jié)構(gòu)示意圖

六、實訓報告

(1)說明實訓項目的工作原理、所需要的器材。

(2)寫出設計源程序,并進行解釋。

(3)寫出軟件仿真結(jié)果,并進行分析。

(4)說明硬件原理與測試情況。

(5)寫出心得體會。7.4.44人搶答器設計

一、實訓目的

(1)掌握小型數(shù)字系統(tǒng)的設計。

(2)掌握利用原理圖輸入與VHDL輸入共同設計電路的方法。

二、實訓原理與要求

1.設計要求

4人搶答器的設計要求如下:

(1)有多路搶答,搶答臺數(shù)為4。

(2)搶答開始后20秒倒計時,20秒倒計時后無人搶答則顯示超時,并報警。

(3)能顯示超前搶答臺號并給出犯規(guī)警報。

(4)系統(tǒng)復位后進入搶答狀態(tài),當有一路搶答按鍵按下時,該路搶答信號將其余各路搶答信號封鎖,同時鈴聲響起,直至該路按鍵松開,顯示牌顯示該路搶答臺號。

(5)用VHDL設計符合上述功能要求的4人搶答器,并用層次化設計方法設計該電路。

2.設計原理

4人搶答器原理框圖如圖7-17所示。

系統(tǒng)復位后,反饋信號為一個高電平信號,使K1、K2、K3、K4輸入有效。搶答開始后,有第一個人按鍵,搶答保持電路輸出低電平,同時送顯示電路,讓其保存按鍵的臺號并輸出,并反饋給搶答臺,使所有的搶答臺輸入無效,計時電路停止。當在規(guī)定時間內(nèi)無人搶答時,倒計時電路輸出超時信號。當有人搶先按鍵時將顯示犯規(guī)信號。

這是一個簡單實用的數(shù)字系統(tǒng),可采用自頂向下的設計方法,頂層系統(tǒng)采用原理設計方式,各個模塊用VHDL進行編程,系統(tǒng)圖如圖7-18所示,即以原理圖作為頂層文件(工程項目文件)。圖7-174人搶答器原理框圖圖7-18中,reset為復位鍵,k[3..0]為開關輸入,firstman為輸出搶答人員編號;RED為紅燈輸出,GREE

溫馨提示

  • 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

提交評論