《Verilog HDL數字系統設計-原理、實例及仿真》課件第8章_第1頁
《Verilog HDL數字系統設計-原理、實例及仿真》課件第8章_第2頁
《Verilog HDL數字系統設計-原理、實例及仿真》課件第8章_第3頁
《Verilog HDL數字系統設計-原理、實例及仿真》課件第8章_第4頁
《Verilog HDL數字系統設計-原理、實例及仿真》課件第8章_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第8章常用組合邏輯電路設計8.1編碼器8.2譯碼器8.3數據選擇器和數據分配器8.4數據比較器8.5奇偶產生/校驗器

8.1編碼器

用文字、數字或符號代表特定對象的過程稱為編碼。電路中的編碼就是在一系列事物中將其中的每一個事物用一組二進制代碼來表示。編碼器就是實現這種功能的電路,圖8.1是編碼器的邏輯符號。編碼器的邏輯功能就是把輸入的2N個信號轉化為N位輸出。常用的編碼器根據工作特點有普通編碼器和優先編碼器兩種。圖8.1編碼器的邏輯符號表8.1和表8.2分別是8線—3線的普通編碼器和優先編碼器的真值表,表中輸入用表示,輸出用Yi(正邏輯)或(負邏輯)表示。普通編碼器僅允許在任何時刻所有輸入中只能有一個輸入是有效電平(如表8.1中的低電平),否則會出現輸出混亂的情況。而優先編碼器則允許在同一時刻有兩個或兩個以上的輸入信號有效,當多個輸入信號同時有效時,只對其中優先權最高的一個輸入信號進行編碼。輸入信號的優先級別是由設計者根據需要確定的。

【代碼8.1】實現普通編碼器的VerilogHDL描述。

其功能仿真結果見圖8.2。圖8.2普通編碼器的功能仿真結果

【代碼8.2】實現8位優先編碼器的VerilogHDL描述。

其功能仿真結果見圖8.3。圖8.38位優先編碼器的功能仿真結果

8.2譯碼器

8.2.1二進制譯碼器

二進制譯碼器的邏輯功能是把輸入的二進制代碼表示的所有狀態翻譯成對應的輸出信號。若輸入的是3位二進制代碼,3位二進制代碼可以表示8種狀態,因此就有8個輸出端,每個輸出端分別表示一種輸入狀態。因此,又把3位二進制譯碼器稱為3線—8線譯碼器,簡稱3-8譯碼器,與此類似的還有2-4譯碼器和4-16譯碼器等。圖8.43-8譯碼器的邏輯符號常用的3-8譯碼器74LS138的邏輯符號如圖8.4所示。圖中,STA、和是譯碼控制信號,只有當STA=1,

+

=0時,譯碼器才對輸入信號A2A1A0進行譯碼,其真值表如表8.3所示。

【代碼8.3】3-8譯碼器模塊。

其功能仿真結果見圖8.5。圖8.53-8譯碼器的功能仿真結果8.2.2十進制譯碼器

十進制譯碼器的邏輯功能是將輸入的4位BCD碼翻譯成對應的輸出信號,因此輸入信號有4個,輸出信號有10個。圖8.6是十進制譯碼器的邏輯符號,其真值表如表8.4所示。圖8.6十進制譯碼器的邏輯符號

【代碼8.4】二—十進制譯碼器模塊。

其功能仿真結果見圖8.7。圖8.7二—十進制譯碼功能仿真結果8.2.3七段譯碼器

實際應用中往往需要顯示數字,常用最簡單的顯示器件是七段數碼管。它是由多個發光二極管LED分段封裝制成的。LED數碼管有共陰型和共陽型兩種形式,圖8.8是七段數碼顯示器件的外形圖、共陰極和共陽極LED電路連接圖。圖8.8七段LED數碼管圖8.9所示是常用七段譯碼器的輸出與顯示字形的對應關系。

七段譯碼器的功能就是給出輸入信號對應的段碼輸出,例如對共陰極譯碼器而言,當輸入為“0”時,為了顯示“0”就需要a~g七個段中只有g段是滅的,其余段都應點亮,因此輸出為abcdefg=11111110,即“0”的段碼。輸入為“6”時,只有b段是滅的,其余段都應點亮,因此輸出為abcdefg=10111111,即“6”的段碼。七段譯碼器的邏輯符號見圖8.10。圖8.9常用七段譯碼器字形圖8.10七段譯碼器的邏輯符號

【代碼8.5】共陰、共陽極輸出可選七段譯碼器模塊。

其功能仿真結果見圖8.11。圖8.11七段譯碼器的功能仿真結果

8.3數據選擇器和數據分配器

8.3.1數據選擇器

在實際應用中,往往需要在多路輸入數據中根據需要選擇其中一路,完成這樣功能的電路稱為數據選擇器或多路選擇器。數據選擇器的作用可以用如圖8.12所示的多路開關來描述。根據輸入信號A1A0的狀態,從輸入的四路數據D3~D0中選擇一個作為輸出,圖中,A1A0=11,所以輸出的數據是D3。其對應的真值表如表8.5所示。圖8.13是4選1數據選擇器的邏輯符號,圖中的控制信號=0時,實現表8.5的功能;當

=1時,Y不受A1A0的控制,輸出為0。圖8.12數據選擇器的工作原理示意圖

【代碼8.6】4選1數據選擇器模塊。

其功能仿真結果見圖8.14。圖8.144選1數據選擇器功能仿真結果8.3.2數據分配器

數據分配器實現與數據選擇器相反的功能,是將某一路數據分配到不同的數據通道上,因此也稱為多路分配器。

圖8.15是一個4路數據分配器的功能示意圖。圖中,S相當于一個由信號A1A0控制的單刀多擲輸出開關,輸入數據D在地址輸入信號A1A0的控制下,傳送到輸出Y0~Y3的不同數據通道上。

表8.6是4路數據分配器的真值表。圖8.154路數據分配器的功能示意圖

【代碼8.7】8路數據分配器模塊。

其功能仿真結果見圖8.16。圖8.168路數據分配器的功能仿真結果

8.4數?據?比?較?器

數據比較器是能夠對兩個數值數據進行比較并給出比較結果的邏輯電路。

設數據比較器的兩個待比較的輸入分別為A、B,比較結果可能出現大于、等于、小于三種情況,分別用變量FA>B、FA=B,FA<B表示比較的結果。若A>B,則FA>B=1;若A=B,則FA=B=1;若A<B,則FA<B=1。一位數據比較器的真值表如表8.7所示。

圖8.17是數據比較器的邏輯符號。圖中,信號A、B是兩個需要比較的數據,FA<B、FA=B、FA>B是比較的結果,輸入信號中的A=B、A>B和A<B是在比較位數進行擴展時需要考慮的來自低位的比較結果。圖8.17數據比較器的邏輯符號

【代碼8.8】8位數值比較器模塊。

其功能仿真結果見圖8.18。圖8.188位數據比較器的功能仿真結果

8.5奇偶產生/校驗器

1.奇偶產生/校驗電路的工作原理

奇(偶)校驗碼具有一位的檢錯能力,其基本思想是通過在原數據信息后增加一位奇校驗位(偶校驗位),形成奇(偶)校驗碼。發送端發送奇(偶)校驗碼,接收端對收到的奇(偶)校驗碼中的數據位采用同樣的方法產生新的校驗位,并將該校驗位與收到的校驗位進行比較,若一致則數據正確,否則數據錯誤。具有產生檢驗碼和奇偶檢驗功能的電路稱為奇偶產生/校驗器。奇偶校驗碼包含n位數據位和1位校驗位,對于奇校驗碼而言,其數據位加校驗位后,“1”的總個數是奇數;對于偶校驗碼而言,數據位加校驗位后“1”的總個數是偶數。

下面設計一個采用偶校驗的4位二進制(奇)偶產生/校驗器。表8.8列出了偶校驗的真值表,由此可寫出校驗位P的邏輯表達式:實現校驗位P的電路如圖8.19所示。為了檢驗所傳送的數據位及偶校驗位是否正確,還應設計偶校驗檢測器。在接收端根據接收的數據位生成校驗位P'?與收到的校驗位P進行比較就實現了校驗功能,電路如圖8.20所示。其中,E是輸出的校驗結果,若P'?=?P,則E?=?0,表示校驗正確;若P'≠P,則E=1,表示校驗錯誤。圖8.19偶校驗位產生電路

圖8.20偶校驗電路圖8.21是常用奇偶產生/校驗器CT74180的邏輯符號,其輸入、輸出信號的含義分別描述如下:圖8.21CT74180的邏輯符號

CT74180的邏輯功能真值表見表8.9。

2.奇偶產生/校驗電路的VerilogHDL設計與仿真

代碼8.9是一個奇偶產生/校驗模塊的VerilogHDL程序,當該模塊的數據位寬度參數選擇8時可以實現CT74180器件的功能,其數據位的寬度可以用參數n進行設置。

【代碼8.9】奇偶校驗/產生模塊。

代碼8.9的功能仿真結果見圖8.22。圖8.22奇偶產生/校驗器的功能仿真結果圖8.22中的數據為二進制顯示結果,與表8.9所示功能一致。圖中,當even=1、odd=0時,若數據data中的1為奇數個(如圖中的data為00000001和00111011),則校驗位Fev=1、Fod=0;若數據dat

溫馨提示

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

評論

0/150

提交評論