版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 數(shù)字電子基礎(chǔ)31.1 導讀31.2 數(shù)字電路概述31.2.1 數(shù)字信號與數(shù)字電路31.2邏輯函數(shù)及其表示方法41.2.1邏輯代數(shù)41.2.2邏輯函數(shù)的表示方法及相互轉(zhuǎn)換41.3邏輯函數(shù)的公式化簡法61.3.1邏輯函數(shù)的不同表達方式61.3.2邏輯函數(shù)的公式化簡法61.4邏輯函數(shù)的卡諾圖化簡法61.4.1邏輯函數(shù)的最小項及其表達式61.4.2邏輯函數(shù)的卡諾圖表示法71.4.3用卡諾圖化簡邏輯函數(shù)82邏輯門電路102.1 導讀102.1邏輯門電路102.1.1三種基本門電路102.1.2 DTL與非門122.2 TTL邏輯門電路132.2.1 TTL與非門的電路結(jié)構(gòu)132.2.2 TTL與非門
2、的工作原理132.3 其他類型的TTL門電路142.3.1集電極開路與非門(OC門)142.3.2三態(tài)門(TSL門)152.4多余輸入端的處理173組合邏輯193.1 導讀193.2組合邏輯電路基礎(chǔ)193.2.1組合邏輯電路的基本概念193.2.2組合邏輯電路的分析方法203.2.3組合邏輯電路的設(shè)計方法203.3常用組合邏輯建模213.3.1編碼器213.3.2 譯碼器和數(shù)據(jù)分配器243.3.3數(shù)據(jù)選擇器293.3.4數(shù)值比較器303.3.5加法器(減法器)323.3.6乘法器343.3.7除法器364觸發(fā)器384.1導讀384.2觸發(fā)器的電路結(jié)構(gòu)及工作原理384.2.1基本RS觸發(fā)器(異步
3、)384.2.2同步RS觸發(fā)器394.2.3主從觸發(fā)器和邊沿觸發(fā)器424.3觸發(fā)器的功能分類及相互轉(zhuǎn)換444.3.1觸發(fā)器的功能分類444.3.2不同類型時鐘觸發(fā)器的相互轉(zhuǎn)換455時序邏輯電路475.1導讀475.2時序邏輯電路的基本概念475.2.1時序邏輯電路的結(jié)構(gòu)及特點475.3 時序邏輯的設(shè)計485.3.1同步時序邏輯電路的設(shè)計步驟485.3.2時序電路通用設(shè)計方法485.3時序邏輯建模495.3.1數(shù)碼寄存器495.3.2移位寄存器505.3.3鎖存器505.3.4寄存器集成電路介紹515.3.5計數(shù)器536總結(jié)601 數(shù)字電子基礎(chǔ)1.1 導讀個人認為,現(xiàn)代信息技術(shù)就是,把現(xiàn)實世界,
4、利用強大的計算機技術(shù)處理和變換。而數(shù)字電路技術(shù)是整個信息技術(shù)的一個橋梁。現(xiàn)代計算機是基于是微電體系的,至少現(xiàn)階段計算機只能做“電計算”。所以我們需要一門技術(shù)把豐富多彩的現(xiàn)實世界,用電信號表示出來讓計算機也能理解,數(shù)字電路就是起這個作用。他能夠把現(xiàn)實世界中的各種信息,轉(zhuǎn)換到計算機的物理的電世界。本章介紹了把現(xiàn)實世界用物理的電信號表示出來的基本技術(shù)。本章主要討論數(shù)字電子技術(shù)的基礎(chǔ)理論知識。同時,還給出了邏輯函數(shù)的概念、表示方法及相互轉(zhuǎn)換。1.2 數(shù)字電路概述1.2.1 數(shù)字信號與數(shù)字電路電子電路中的信號可分為兩類,一類在時間和幅度上都是連續(xù)的,稱為模擬信號,如圖1.1所示,例如電壓、電流、溫度、聲
5、音等信號。傳送和處理模擬信號的電路稱為模擬電路; 圖1.1 模擬信號另一類在時間和幅度上都是離散的,稱為數(shù)字信號,如圖1.2所示,例如計時裝置的時基信號、燈光閃爍等信號都屬于數(shù)字信號。傳送和處理數(shù)字信號的電路稱為數(shù)字電路。圖1.2 數(shù)字信號數(shù)字電路的特點l 信號是離散的數(shù)字信號。數(shù)字信號常用0、1二元數(shù)值表示。l 半導體器件均工作在開關(guān)狀態(tài),即工作在截止區(qū)和飽和區(qū)。l 研究的主要問題是輸入、輸出之間的邏輯關(guān)系。l 主要分析工具是邏輯代數(shù)。1.2邏輯函數(shù)及其表示方法1.2.1邏輯代數(shù)邏輯代數(shù)又叫布爾代數(shù)或開關(guān)代數(shù),是由英國數(shù)學家喬治布爾于1847年創(chuàng)立的。邏輯代數(shù)與普通代數(shù)都由字母來代替變量,但
6、邏輯代數(shù)與普通代數(shù)的概念不同,它不表示數(shù)量大小之間的關(guān)系,而是描述客觀事物一般邏輯關(guān)系的一種數(shù)學方法。 邏輯變量的取值只有兩種,即邏輯0和邏輯1,它們并不表示數(shù)量的大小,而是表示兩種對立的邏輯狀態(tài),如開關(guān)的通與斷、電位的高與低、燈的亮與滅等。0和1稱為邏輯常量。例如,在圖1.3所示的指示燈控制電路中,我們用字母Y表示指示燈,用A、B表示兩個開關(guān)。指示燈Y的亮與滅兩種狀態(tài)取決于開關(guān)A、B的通斷狀態(tài)。我們將A、B稱為輸入邏輯變量,將Y稱為輸出邏輯變量。圖1.3 指示燈控制電路邏輯代數(shù)有兩種邏輯體制,其中,正邏輯體制規(guī)定,高電平為邏輯1,低電平為邏輯0;負邏輯體制規(guī)定,低電平為邏輯1,高電平為邏輯0
7、。1.2.2邏輯函數(shù)的表示方法及相互轉(zhuǎn)換邏輯函數(shù)常用的表示方法有5種:邏輯真值表,邏輯函數(shù)表達式,邏輯圖,波形圖和卡諾圖。1. 邏輯真值表邏輯真值表是將輸入變量的各種可能取值和相應的函數(shù)值排列在一起組成的表格,一個確定的邏輯函數(shù)只有一個邏輯真值表,具有惟一性。邏輯真值表能夠直觀明了地反映變量取值和函數(shù)值的對應關(guān)系,但輸入變量較多時,列寫起來比較繁瑣,它是將實際問題抽象為邏輯問題的首選描述方法。2. 邏輯函數(shù)表達式實際在FPGA設(shè)計中此方法較常用。函數(shù)表達式是面向人類的,易于人類理解,實際設(shè)計時我們主要工作就是把邏輯函數(shù)轉(zhuǎn)換為RTL代碼。而邏輯函數(shù)表達式的獲得就是算法設(shè)計。邏輯函數(shù)的表達式不是惟
8、一的,可以有多種形式,并且能互相轉(zhuǎn)換。邏輯函數(shù)的特點是:簡潔、抽象,便于化簡和轉(zhuǎn)換。 3. 邏輯圖與、或、非等運算關(guān)系用相應的邏輯符號表示出來,就是函數(shù)的邏輯圖。例如,異或邏輯關(guān)系也可用如圖1.14所示的邏輯圖來表示。優(yōu)點是:邏輯圖與數(shù)字電路的器件有明顯的對應關(guān)系,便于制作實際電路。缺點是不能直接進行邏輯推演和變換。 圖1.14 異或邏輯關(guān)系的邏輯圖4. 波形圖實際在FPGA分析中此方法最常用。當然如果要做時序分析(提高系統(tǒng)性能,達到使用標準的必然分析)波形不會是如此陡峭,必須把上升沿和下降沿也表現(xiàn)出來,這樣才能精確地分析電路的最高頻率。反映輸入和輸出波形變化規(guī)律的圖形,稱為波形圖,也稱為時序
9、圖。異或邏輯關(guān)系中,當給定A、B的輸入波形后,可畫出函數(shù)Y的波形,如圖1.15所示。圖1.15 異或邏輯關(guān)系的波形圖波形圖的優(yōu)點是,能直觀反映變量與時間的關(guān)系和函數(shù)值變化的規(guī)律,它與實際電路中的電壓波形相對應。5. 各種表示方法之間的相互轉(zhuǎn)換同一邏輯函數(shù)可以用幾種不同的方式來表示,這幾種表示方法之間必然可以相互轉(zhuǎn)換 。由真值表寫出邏輯函數(shù)的一般步驟如下。(1) 找出真值表中使輸出Y=1的那些輸入變量的組合。(2)每組輸入變量的取值組合對應一個乘積項,其中變量取值為1的用原變量表示,取值為0的用反變量表示。(3)將這些乘積項相加,得到的即為真值表對應的邏輯函數(shù)表達式。1.3邏輯函數(shù)的公式化簡法現(xiàn)
10、代EDA工具基本可以優(yōu)化邏輯函數(shù),所以化簡不是必需的。但是現(xiàn)在的EDA并不是非常的成熟,有些情況下,化簡是減少電路的競爭和冒險的唯一手段,具體情況見兩本數(shù)電教材。1.3.1邏輯函數(shù)的不同表達方式同一邏輯函數(shù)可以有多種不同的表達方式,它們之間能互相轉(zhuǎn)換。1.3.2邏輯函數(shù)的公式化簡法在邏輯電路設(shè)計中,對邏輯函數(shù)化簡具有十分重要的意義。邏輯函數(shù)表達式越簡單,實現(xiàn)該函數(shù)所用的邏輯元件就越少,電路的可靠性就越高。一般情況下,都將邏輯函數(shù)化為最簡與或表達式。最簡與或表達式應遵循乘積項最少,且每個乘積項的變量數(shù)最少的原則。 1.4邏輯函數(shù)的卡諾圖化簡法在應用公式法對邏輯函數(shù)進行化簡時,不僅要求對公式能熟練
11、應用,而且對最后結(jié)果是不是最簡要進行判斷,遇到較復雜的邏輯函數(shù)時,此方法有一定難度。下面介紹的卡諾圖化簡法,只要掌握了其要領(lǐng),化簡邏輯函數(shù)非常方便。1.4.1邏輯函數(shù)的最小項及其表達式1. 最小項的定義與性質(zhì)在n變量的邏輯函數(shù)中,若其與或表達式的每個乘積項都包含有n個因子,而且每個因子僅以原變量或反變量的形式在該乘積項中出現(xiàn)一次,這樣的乘積項稱為n變量邏輯函數(shù)的最小項。每個乘積項都是最小項形式的表達式稱為邏輯函數(shù)的最小項表達式。最小項的性質(zhì):(1) 對于輸入變量的任何一組取值,有且只有一個最小項的值為1。(2) 對于變量的任一組取值,任意兩個最小項的乘積為0。(3) 全體最小項之和為1。注意:
12、不說明變量數(shù)目的最小項是沒有意義的 。2. 邏輯函數(shù)的最小項表達式任何一個邏輯函數(shù)表達式都可以轉(zhuǎn)化為最小項之和的形式。方法是,先將邏輯函數(shù)寫成與或表達式,然后在不是最小項的乘積項中乘以(X+X)補齊所缺變量因子即可。 1.4.2邏輯函數(shù)的卡諾圖表示法1. 最小項的卡諾圖圖1.20 三變量的卡諾圖圖1.21 四變量的卡諾圖注意:為了確??ㄖZ圖中小方格所表示的最小項在幾何上相鄰時,在邏輯上也有相鄰性,兩側(cè)標注的數(shù)碼不能從小到大依次排列。除幾何相鄰的最小項有邏輯相鄰的性質(zhì)外,圖中每一行或每一列兩端的最小項也具有邏輯相鄰性,因此,卡諾圖可看成是一個上下左右閉合的圖形。卡諾圖形象、直觀地反映了最小項之間
13、的邏輯相鄰關(guān)系,但變量增多時,卡諾圖會變得更為復雜。當變量的個數(shù)在5個或5個以上時,就不能僅用二維空間的幾何相鄰來代表其邏輯相鄰,故一般較少使用。2. 邏輯函數(shù)的卡諾圖表示既然任何邏輯函數(shù)式都可以表達成最小項形式,而最小項又可以表示在卡諾圖中,故邏輯函數(shù)可用卡諾圖表示。方法是:把邏輯函數(shù)式轉(zhuǎn)換成最小項表達式,然后在卡諾圖上與這些最小項對應的方格內(nèi)填1,其余填0(也可以不填),就得到了表示這個邏輯函數(shù)的卡諾圖。任一邏輯函數(shù)的卡諾圖是惟一的。1.4.3用卡諾圖化簡邏輯函數(shù)1. 化簡依據(jù)相鄰最小項的合并規(guī)律是:兩個相鄰的最小項可合并為一項,消去一個變量;4個相鄰的最小項可合并為一項,消去兩個變量;8
14、個相鄰的最小項可合并為一項,并消去3個變量。消去的是包圍圈中發(fā)生過變化的變量,而保留下的是包圍圈內(nèi)保持不變的變量,如圖1.23所示。圖1.23 最小項的合并規(guī)律2. 化簡步驟用卡諾圖化簡邏輯函數(shù)的步驟如下。(1) 將邏輯函數(shù)化成最小項之和的形式(有時可以跳過)。(2)用卡諾圖表示邏輯函數(shù)。(3) 對可以合并的相鄰最小項(填1的方格)畫出包圍圈。(4) 消去互補因子,保留公共因子,寫出每個包圍圈合并后所得的乘積項。用卡諾圖化簡時,為了保證結(jié)果的最簡化和正確性,在選取可合并的最小項即畫包圍圈時,應遵循以下幾個原則。(1)每個包圍圈只能包含2n個填1的小方格,而且必須是矩形或正方形。(2) 包圍圈能
15、大勿小。包圍圈越大,消去的變量就越多,對應乘積項的因子就越少,化簡的結(jié)果越簡單。(3) 包圍圈個數(shù)越少越好。因個數(shù)越少,乘積項就越少,化簡后的結(jié)果就越簡單。(4) 畫包圍圈時,最小項可以被重復包圍,但每個包圍圈中至少應有一個最小項是單獨屬于自己的,以保證該化簡項的獨立性。(5) 包圍圈應把函數(shù)的所有最小項都圈完。2邏輯門電路 2.1 導讀如果是做基于FPGA的設(shè)計應該是不用考慮到三極管、二極管這么低層的電路結(jié)構(gòu)吧?開始我也是這么認為的,但是做了一個項目之后,隨著學習的升入發(fā)現(xiàn),邏輯門電路內(nèi)部的結(jié)構(gòu)必須要十分清楚。至少我們要有重視它的意識,因為,我們設(shè)計的系統(tǒng)式在硬件上運行,限制硬件運行頻率的就
16、是二極管、三極管的組裝結(jié)構(gòu),雖然隨著工藝的發(fā)展,工作速度可以越來越快,但是電路始終還是有頻率的上限的,只要上限存在我們就必須做時序分析。在設(shè)計達不到設(shè)計要求時,做靜態(tài)時序分,依據(jù)分析結(jié)果添加相關(guān)約束或修改電路的關(guān)鍵路徑,改善電路時序是通用的做法。而如果在RTL級設(shè)計時我們就可以預估電路的延時,然后精確地加入延時參數(shù),這時多么美妙的事情?。∧軌蜃龅竭@一點我們的布局布線后仿真就是“走走形式”,功能仿真通過的電路就可以下載運行,免去了無數(shù)的排錯,約束設(shè)計等等。但是,冰凍三尺,非一日之寒。達到這種境界是需要時間的。所以,還猶豫什么?開始好好學習這個咋看咋像模電的東西吧。2.1邏輯門電路在數(shù)字系統(tǒng)中,大
17、量地運用著執(zhí)行基本邏輯操作的電路,這些電路稱為基本邏輯電路或門電路。早期的門電路主要由繼電器的觸點構(gòu)成,后來采用二極管、三極管,目前則廣泛應用集成電路。2.1.1三種基本門電路1. 二極管與門電路實現(xiàn)“與”邏輯關(guān)系的電路叫做與門電路。由二極管組成的與門電路如圖2.1(a)所示,圖2.1所示(b)為其邏輯符號。圖中A、B為信號的輸入端,Y為信號的輸出端。圖2.1 二極管與門對二極管組成的與門電路分析如下。(1) A、B都是低電平UY0V(2) A是低電平,B是高電平UY0V(3) A是高電平,B是低電平UY0V(4) A、B都是高電平UY5V從上述分析可知,該電路實現(xiàn)的是與邏輯關(guān)系,即“輸入有低
18、,輸出為低;輸入全高,輸出為高”,所以,它是一種與門。2. 二極管或門電路實現(xiàn)或邏輯關(guān)系的電路叫做或門電路。由二極管組成的或門電路如圖2.2所示,其功能分析如下。圖2.2 二極管或門(1) A、B都是低電平UY=0V(2) A是低電平,B是高電平UY5V(3) A是高電平,B是低電平UY5V(4) A、B都是高電平UY5V通過上述分析,該電路實現(xiàn)的是或邏輯關(guān)系,即“輸入有高,輸出為高;輸入全低,輸出為低”,所以,它是一種或門。3. 三極管非門實現(xiàn)非邏輯關(guān)系的電路叫做非門電路。因為它的輸入與輸出之間是反相關(guān)系,故又稱為反相器,其電路如圖2.3所示。圖2.3 三極管反相器2.1.2 DTL與非門采
19、用二極管門電路和三極管反相器,可組成與非門和或非門擴大邏輯功能,這種電路應用非常廣泛。 DTL與非門電路是由二極管與門和三極管反相器串聯(lián)而成的,其電路圖及邏輯符號分別如圖2.4(a)和圖2.4(b)所示。圖2.4 DTL與非門當輸入端A、B都是高電平時,VD1、VD2均截止,而VD3、VD4和三極管導通,注入三極管的基極電流足夠大,三極管飽和導通,輸出低電平,UY=0V,在兩個輸入端A、B中有一個為低電平時,VD3、VD4和三極管均截止,輸出高電平,UY=VCC??梢姶诉壿嬮T能實現(xiàn)與非邏輯關(guān)系。2.2 TTL邏輯門電路TTL門電路是晶體管-晶體管邏輯(Transistor-Transistor
20、 Logic)門電路的簡稱,這種電路由于其輸入級和輸出級均采用晶體三極管而得名。按照國際通用標準,根據(jù)工作溫度不同,TTL電路分為54系列(-55125)和74系列(070);根據(jù)工作速度和功耗不同,TTL電路又分為標準系列、高速(H)系列、肖特基(S)系列和低功耗肖特基(LS)系列。2.2.1 TTL與非門的電路結(jié)構(gòu)TTL與非門的基本電路如圖2.5(a)所示,它由輸入級、中間級和輸出級三部分組成。 圖2.5 基本TTL與非門電路及V1管的等效電路2.2.2 TTL與非門的工作原理(1) 當A、B兩端有一個輸入為低電平0.3V時,V1的發(fā)射結(jié)導通,其基極電壓等于輸入低電壓加上發(fā)射結(jié)正向壓降 。
21、V2、V5都截止V3和V4導通UY3.6V實現(xiàn)了“輸入有低,輸出為高”的邏輯關(guān)系。2) 當A、B兩端均輸入高電平3.6V時,V2、V5飽和導通,V3和V4均截止。輸出為低電平,即UY0.3V 此時,電路實現(xiàn)了“輸入全高,輸出為低”的邏輯關(guān)系。2.3 其他類型的TTL門電路將兩個門的輸出端并聯(lián)以實現(xiàn)與邏輯的功能,把這種連接方式稱為“線與”。如果將兩個門電路的輸出端連接在一起,如圖2.6所示。當一個門的輸出處于高電平,而另一個門的輸出為低電平時,將會產(chǎn)生很大的電流,有可能導致器件損壞,無法形成有用的線與邏輯關(guān)系。圖2.6 推拉式輸出級并聯(lián)的情況2.3.1集電極開路與非門(OC門)集電極開路與非門是
22、將推拉式輸出級改為集電極開路的三極管結(jié)構(gòu),做成集電極開路輸出的門電路(Open Collector Gate),簡稱為OC門,其電路如圖2.7(a)所示。圖2.7 OC與非門的電路和圖形符號將OC門輸出連在一起時,再通過一個電阻接外電源,這樣可以實現(xiàn)“線與”邏輯關(guān)系。只要電阻的阻值和外電源電壓的數(shù)值選擇得當,就能做到既保證輸出的高、低電平符合要求,而且輸出三極管的負載電流又不至于過大。 而且輸出三極管的負載電流又不至于過大。兩個OC門并聯(lián)時的連接方式如圖2.8所示。圖2.8 OC門輸出并聯(lián)的接法及邏輯圖在圖2.9中表示出“線與”電路中OC門輸出高電平的情況,假定n個OC門連接成“線與”邏輯,帶
23、m個與非門負載。當所有OC門都處于截止狀態(tài)時,“線與”后輸出為高電平。 圖2.9“線與”電路中OC門輸出高電平的情況OC門除了可以實現(xiàn)多門的線與邏輯關(guān)系外,還可用于直接驅(qū)動較大電流的負載,如繼電器、脈沖變壓器、指示燈等,也可以用來改變TTL電路輸出的邏輯電平,以便與邏輯電平不同的其他邏輯電路相連接。OC門可以“線與”,但需要上拉電阻。2.3.2三態(tài)門(TSL門)三態(tài)門應用廣泛,在FPGA的設(shè)計中可以直接用代碼寫出三態(tài)門,比較方便。關(guān)于Verilog建模技巧的資料中有建模方法,有興趣自己查。為保持推拉式輸出級的優(yōu)點,還能作線與連接,人們又開發(fā)了一種三態(tài)與非門,它的輸出除了具有一般與非門的兩種狀態(tài)
24、外,還可以呈現(xiàn)高阻狀態(tài),或稱開路狀態(tài)、禁止狀態(tài)。一個簡單的三態(tài)門的電路如圖2.10(a)所示,圖2.11(b)所示為它的邏輯符號,它是由一個與非門和一個二極管構(gòu)成的,EN為控制端,A、B為數(shù)據(jù)輸入端。圖2.10 三態(tài)與非門電路圖2.10所示電路中,當EN=1時電路為工作狀態(tài),所以稱為控制端高電平有效。三態(tài)門的控制端也可以是低電平有效,即EN為低電平時,三態(tài)門為工作狀態(tài);EN為高電平時,三態(tài)門為高阻狀態(tài)。其電路圖及邏輯符號如圖2.11所示。圖2.11 控制端為低電平有效的三態(tài)門三態(tài)門的應用比較廣泛,下面舉例說明三態(tài)門的3種應用:l 作多路開關(guān)l 信號雙向傳輸l 構(gòu)成數(shù)據(jù)總線電路圖如圖2.12所示
25、。圖2.12 三態(tài)門三種應用的連接方式2.4多余輸入端的處理FPGA多余角的處理沒有看到相關(guān)介紹,個人估計會出現(xiàn)在FPGA 的PCB設(shè)計資料上,如果哪位查到,謝謝分享。在使用集成門電路時,如果輸入信號數(shù)小于門的輸入端數(shù),就有多余輸入端。一般不讓多余的輸入端懸空,以防止干擾信號引入。對多余輸入端的處理,以不改變電路工作狀態(tài)及穩(wěn)定可靠為原則。對于TTL與非門,通常將多余輸入端通過1k的電阻R與電源+VCC相連;也可以將多余輸入端與另一接有輸入信號的輸入端連接。這兩種方法如圖2.34所示。TTL與門多余輸入端的處理方法和與非門完全相同。圖2.13 TTL與非門多余輸入端的處理方法對于TTL或非門,則
26、應該把多余輸入端接地,或把多余輸入端與另一個接有輸入信號的輸入端相接。這兩種方法如圖2.14所示。TTL或門多余輸入端的處理方法和或非門完全相同。 圖2.14 TTL或非門多余輸入端的處理方法對于CMOS電路,多余的輸入端必須依據(jù)相應電路的邏輯功能決定是接在正電源VDD上(與門、與非門)或是與地相接(或門、或非門)。一般不宜與使用的輸入端并聯(lián)使用,因為輸入端并聯(lián)時將使前級的負載電容增加,工作速度下降,動態(tài)功耗增加。這里對基本門電路的介紹很簡單,我認為這是不太夠用的,有興趣大家可以查閱模電教材。另外,如果要設(shè)計除具有實用價值的電路,必須學習時序分析和約束設(shè)計。本章內(nèi)容重在一個概念的建立,不要過多
27、的糾纏細節(jié)。3組合邏輯3.1 導讀筆者認為,組合邏輯是數(shù)電路中的兩大核心部分之一(另一部分是時序邏輯)。組合邏輯的任務(wù)就是完成從輸入到輸出的變換,它是一種處理型的器件。各種處理任務(wù)都是他完成的。數(shù)電教材上說,沒有組合邏輯,就算電路規(guī)模再大(例如RAM)也稱不上是電路系統(tǒng)。我認為還是說得很貼切的。在FPGA的設(shè)計中,組合邏輯是一部信號產(chǎn)生的根源之一。組合邏輯的競爭冒險也加劇了電路的不穩(wěn)定性,在進行FPGA的數(shù)字系統(tǒng)設(shè)計時應該注意。本章后面有一部分是ALU設(shè)計,ALU有些設(shè)計方法設(shè)計出的電路不是純組合邏輯,在這里對此做一個說明。本章后一部分主要分類介紹了組合邏輯的建模,其中主要注重建模方式的介紹,
28、由于所有的數(shù)點資料基本都是基于傳統(tǒng)的電路圖設(shè)計方式分析的。這里借鑒了分析方法,列出了許多引腳圖,這在我們自己建模時是由參考意義的。借鑒千人的引腳圖,模塊化設(shè)計時我們可以直接寫出端口,然后再做詳細的RTL級設(shè)計。本章后一部分給出的ALU建模方法并不限于介紹的幾種(尤其是除法器),筆者盡量把ALU的建模寫全,但是由于水平、精力、時間都有限并未寫完整。其中的乘法器和除法器更是復雜,每一個ALU器件的設(shè)計方法都可以寫本書,內(nèi)容非常之多。ALU是現(xiàn)代CPU的一個核心電路,發(fā)展已經(jīng)很成熟了,如果有興趣,各位可以繼續(xù)升入學習。3.2組合邏輯電路基礎(chǔ)3.2.1組合邏輯電路的基本概念1. 組合邏輯電路的定義組合
29、邏輯電路是指在任一時刻,電路的輸出狀態(tài)僅取決于該時刻各輸入狀態(tài)的組合,而與電路的原狀態(tài)無關(guān)的邏輯電路。其特點是輸出狀態(tài)與輸入狀態(tài)呈即時性,電路無記憶功能。2. 組合邏輯電路的描述方法組合邏輯電路模型如圖3.1所示。 圖3.1 組合邏輯電路的一般框圖3、競爭冒險參考數(shù)電教材。3.2.2組合邏輯電路的分析方法組合邏輯電路的分析一般是根據(jù)已知邏輯電路圖求出其邏輯功能的過程,實際上就是根據(jù)邏輯圖寫出其邏輯表達式、真值表,并歸納出其邏輯功能。1. 組合邏輯電路的分析步驟(1) 寫出邏輯函數(shù)表達式(2) 化簡邏輯函數(shù)式(3) 列真值表(4) 說明功能3.2.3組合邏輯電路的設(shè)計方法組合邏輯電路設(shè)計主要是將
30、客戶的具體設(shè)計要求用邏輯函數(shù)加以描述,再用具體的電路加以實現(xiàn)的過程。組合邏輯電路的設(shè)計可分為小規(guī)模集成電路、中規(guī)模集成電路、定制或半定制集成電路的設(shè)計,這里主要講解用小規(guī)模集成電路(即用邏輯門電路)來實現(xiàn)組合邏輯電路的功能。1. 組合邏輯電路設(shè)計步驟(1) 列真值表。根據(jù)電路功能的文字描述,將其輸入與輸出的邏輯關(guān)系用真值表的形式列出。(2) 寫表達式,并化簡。通過邏輯化簡,根據(jù)真值表寫出最簡的邏輯函數(shù)表達式。(3) 選擇合適的門器件,把最簡的表達式轉(zhuǎn)換為相應的表達式。(4) 根據(jù)表達式畫出該電路的邏輯電路圖。(5) 根據(jù)邏輯函數(shù)寫出RTL級代碼。3.3常用組合邏輯建模3.3.1編碼器l 編碼器
31、的定義把若干位二進制數(shù)碼0和1,按一定的規(guī)律進行編排,組成不同的代碼,并且賦予每組代碼以特定的含義,叫做編碼。實現(xiàn)編碼操作的電路稱為編碼器。二進制編碼器實現(xiàn)用n位二進制數(shù)碼對N(N=2n)個輸入信號進行編碼的電路叫做二進制編碼電路。其特點是,任一時刻只能對一個輸入信號進行編碼,即只允許一個輸入信號為有效電平,而其余信號均為無效電平。圖3.1所示電路是實現(xiàn)由3位二進制代碼對8個輸入信號進行編碼的二進制編碼器,這種編碼器有8根輸入線,3根輸出線,常稱為8/3線編碼器。 圖3.2 3位二進制編碼器邏輯圖二-十進制編碼器實現(xiàn)用四位二進制代碼對一位十進制數(shù)碼進行編碼的數(shù)字電路叫做二-十進制編碼器,簡稱為
32、BCD碼編碼器。最常見的BCD碼編碼器是8421BCD碼編碼器,它有10根輸入線,4根輸出線,常稱為10/4線編碼器。其特點也是任一時刻只允許對一個輸入信號進行編碼。優(yōu)先編碼器優(yōu)先編碼器在多個信息同時輸入時只對輸入中優(yōu)先級別最高的信號進行編碼,編碼具有惟一性。優(yōu)先級別是由編碼者事先規(guī)定好的。顯然,優(yōu)先編碼器改變了上述兩種編碼器任一時刻只允許一個輸入有效的輸入方式,而采用了允許多個輸入同時有效的輸入方式,這正是優(yōu)先編碼器的特點,也是它的優(yōu)點所在。圖3.8為3位二進制優(yōu)先編碼器的邏輯圖。圖3.3 3位二進制優(yōu)先編碼器的邏輯圖集成編碼器集成3位二進制優(yōu)先編碼器(8/3線)148148主要包括TTL系
33、列中的54/74148、54/74LS148、54/74F148和CMOS系列中的54/74HC148、40H148等。其外引腳排列圖如圖3.4所示。圖3.4 74LS148引腳S為使能輸入端,低電平有效,即只有當S=0時,編碼器才工作。YS為使能輸出端,當S=0允許工作時,如果YS=0則表示無輸入信號,YS=1表示有輸入信號,有編碼輸出。YEX為擴展輸出端,當S=0時,只要有編碼信號,則YEX=0,說明有編碼信號輸入,輸出信號是編碼輸出;YEX=1表示不是編碼輸出。YS和S配合可以實現(xiàn)多級編碼器之間優(yōu)先級別的控制。圖3.5是利用2片集成3位二進制優(yōu)先編碼器74LS148實現(xiàn)一個16/4線優(yōu)先
34、編碼器的接線圖。圖3.5 有限編碼器應用集成二-十進制優(yōu)先編碼器(10/4線)147147主要包括TTL系列中的54/74147、54/74LS147和CMOS系列中的54/74HC147、54/74HCT147和40H147等。其外引腳排列圖如圖3.6所示。 圖3.6 74LS147引腳圖其他編碼器個人認為編碼方式分類還可分為,其他兩種編碼器以下兩種,常用與工控系統(tǒng),我們微電系統(tǒng)也可以借鑒其設(shè)計思想增量式編碼器:根據(jù)前一時刻的編碼值,計算出當前編碼相對值。1、 百度百科2、 通信原理(5版) 樊昌信 P215差分編碼。絕對式編碼器:計算當前編碼絕對值,與前一時刻碼值無關(guān)。1、 百度百科2、
35、通信原理(5版) 樊昌信 P206脈沖編碼調(diào)制。最后,我們還可以把比較大型的編碼器歸為一類。例如Turbo碼 編碼器、JPEG2000編碼器、mp3編碼器等等。這類編碼器一般都有專門的IP核供應商。3.3.2 譯碼器和數(shù)據(jù)分配器將每一組輸入的二進制代碼“翻譯”成為一個特定的輸出信號,用來表示該組代碼原來所代表的信息的過程(編碼的逆過程)稱為譯碼。實現(xiàn)譯碼功能的數(shù)字電路稱為譯碼器。二進制譯碼器將輸入的二進制代碼翻譯成為原來對應信息的組合邏輯電路,稱為二進制譯碼器。它具有n個輸入端,2n個輸出端,故稱之為n/2n線譯碼器。 圖3.7為3/8線譯碼器的邏輯電路圖圖3.7 3/8線譯碼器的電路圖二-十
36、進制譯碼器二-十進制譯碼器(又稱為BCD碼譯碼器)是將輸入的每一組4位二進制碼翻譯成對應的1位十進制數(shù)。因編碼過程不同,即編碼時采用的BCD碼不同,所以相應的譯碼過程也不同,故BCD碼譯碼器有多種。但此種譯碼器都有4個輸入端,10個輸出端,常稱之為4/10線譯碼器。8421BCD碼譯碼器是最常用的BCD碼譯碼器,圖3.8所示是其邏輯圖。圖3.8 8421BCD碼譯碼器應當注意的是,BCD碼譯碼器的輸入狀態(tài)組合中總有6個偽碼狀態(tài)存在。所用BCD碼不同,則相應的6個偽碼狀態(tài)也不同,8421BCD碼譯碼器的6個偽碼狀態(tài)組合為10101111。在設(shè)計BCD碼譯碼器時,應使電路具有拒絕偽碼的功能,即當輸
37、入端出現(xiàn)不應被翻譯的偽碼狀態(tài)時,輸出均呈無效電平。上面的8421BCD碼譯碼器便具有拒絕偽碼的功能。數(shù)字顯示譯碼器用來驅(qū)動各種顯示器件,從而將用二進制代碼表示的數(shù)字、文字、符號翻譯成人們習慣的形式直觀的顯示出來的電路,稱為顯示譯碼器。(1)顯示器件 數(shù)字顯示器件的種類很多,按發(fā)光物質(zhì)的不同分為半導體(發(fā)光二極管)顯示器、液晶顯示器、熒光顯示器和輝光顯示器等;按組成數(shù)字的方式不同,又可分為分段式顯示器、點陣式顯示器和字型重疊式顯示器等。點陣式顯示器主要用于大屏幕顯示器,通常要有計算機控制其顯示過程。目前使用較多的是分段式顯示器,其顯示方式是通過七段顯示器完成09字符的顯示過程。七段顯示器主要有輝
38、光數(shù)碼管和半導體顯示器。半導體顯示器使用最多,它有共陰極和共陽極兩種接法,如圖3.9所示。 圖3.9 七段顯示器(2)七段顯示譯碼器字型重疊式顯示器適用于BCD碼譯碼器;而分段式顯示器顯然不適合于前面所述任何一種譯碼器,需要另外設(shè)計合適的譯碼電路來與分段顯示器配合使用。七段顯示譯碼器的輸入信號為8421BCD碼,輸出信號應該能夠驅(qū)動半導體七段顯示器相應段發(fā)光。對于共陰極七段顯示器,待點亮的段應給予高電平驅(qū)動信號,對于共陽極七段顯示器,待點亮的段應給予低電平驅(qū)動信號。 集成譯碼器(1) 3位二進制譯碼器(3/8線)138138包括TTL系列中的54/74LS138、54/74S138、54/74
39、ALS138、54/74F138和54/74AS138,CMOS系列中的54/74HC138、54/74HCT138和40H138等。138為3位二進制譯碼器,其外引腳排列如圖3.10所示。 圖3.10 74LS138應注意的是,138的輸入采用原碼的形式;而輸出采用的卻是反碼形式。 (2) 8421BCD碼譯碼器(4/10線)42此種譯碼器包含有TTL系列的54/7442、54/74LS42和CMOS中的54/74HC42、54/74HCT42及40HC42等。其外引腳排列圖如圖3.11示。 圖3.11 74LS42(3) 七段顯示譯碼器4848主要有TTL系列中的74LS48等。其引腳排列
40、圖如圖3.18所示。邏輯功能表如表3.15所示。圖3.12 七段顯示譯碼器七段顯示譯碼器48與共陰極七段數(shù)碼管顯示器BS201A的連接方法如圖3.13所示。圖3.13七段顯示譯碼器應用數(shù)據(jù)分配器(1) 數(shù)據(jù)分配器的原理數(shù)據(jù)分配器的邏輯功能是,將1個輸入數(shù)據(jù)傳送到多個輸出端中的1個輸出端,具體傳送到哪一個輸出端,也是由一組選擇控制信號確定。數(shù)據(jù)分配器的邏輯框圖及等效電路如圖3.14所示。圖3.14 數(shù)據(jù)分配器的邏輯框圖及等效電路通道地址選擇碼的位數(shù)n與數(shù)據(jù)輸出端的數(shù)目m有如下關(guān)系m=2n(2)數(shù)據(jù)分配器的實現(xiàn)電路數(shù)據(jù)分配器實際上是譯碼器(分段顯示譯碼器除外)的一種特殊應用。譯碼器必須具有“使能端
41、”,且“使能端”要作為數(shù)據(jù)輸入端使用,而譯碼器的輸入端要作為通道選擇地址碼輸入端,譯碼器的輸出端就是分配器的輸出端。作為數(shù)據(jù)分配器使用的譯碼器通常是二進制譯碼器。圖3.15是將2/4線譯碼器作為數(shù)據(jù)分配器使用的邏輯圖。圖3.15 2/4線譯碼器作為數(shù)據(jù)分配器其他譯碼器與編碼器對應,我們可以把比較大型的譯碼器歸為一類。例如Turbo碼譯碼器、JPEG2000譯碼器、mp3譯碼器等等3.3.3數(shù)據(jù)選擇器數(shù)據(jù)選擇器1. 數(shù)據(jù)選擇器的邏輯功能數(shù)據(jù)選擇器的邏輯功能恰好與數(shù)據(jù)分配器的邏輯功能相反,即能從多個輸入數(shù)據(jù)中選出一個送到輸出端。數(shù)據(jù)選擇器的邏輯框圖及等效電路如圖3.16所示。圖3.16 數(shù)據(jù)選擇器
42、的邏輯框圖及等效電路2. 數(shù)據(jù)選擇器的實現(xiàn)電路數(shù)據(jù)選擇器的主體電路一定是與或門陣列。數(shù)據(jù)選擇器還有一個十分重要的用途,即可以用來作為函數(shù)發(fā)生器實現(xiàn)任意組合的邏輯函數(shù)。圖3.17 數(shù)據(jù)選擇器 用來實現(xiàn)同一邏輯函數(shù)的選擇器不同,會使電路的輸入部分不同。在可能的情況下,應盡量選用通道地址碼變量個數(shù)與所要實現(xiàn)的邏輯函數(shù)輸入變量的個數(shù)相等或減少一個,從而使實現(xiàn)函數(shù)的電路簡化。3.集成數(shù)據(jù)選擇器(1) 集成雙4選1數(shù)據(jù)選擇器153集成雙4選1數(shù)據(jù)選擇器包含有TTL系列的54/74153、54/74LS153、54/74S153、54/74153和CMOS中的54/74HC153、54/74HCT153及4
43、0H153等。其外引腳排列圖如圖3.18所示。圖3.18集成數(shù)據(jù)選擇器153(2) 集成8選1數(shù)據(jù)選擇器151集成8選1數(shù)據(jù)選擇器包含有TTL系列的54/74151、54/74LS151、54/74S151、54/74151和CMOS中的54/74HC151、54/74HCT151及40H151等。其外引腳排列圖如圖3.27所示。圖3.19 74LS151再利用FPGA實現(xiàn)數(shù)據(jù)選擇器是常用的是ifelse語句和case語句,兩者分別對應優(yōu)先數(shù)據(jù)選擇器和普通數(shù)據(jù)選擇器3.3.4數(shù)值比較器數(shù)值比較器定義具有實現(xiàn)兩個二進制數(shù)大小的比較,并把比較結(jié)果作為輸出的數(shù)字電路稱為數(shù)值比較器。1位數(shù)值比較器數(shù)值
44、比較器的真值表:A BL1(AB) L2(AB、AB、AB接低電平、A=B接高電平。若需擴大比較器的位數(shù)時,可用多片連接。圖3.20 用3片85組成12位數(shù)值比較器的邏輯電路3.3.5加法器(減法器)注意:在硬件設(shè)計中減法器是用加法器實現(xiàn)的具體分析參見康華光教材4.4.5節(jié)P167。半加器能對兩個1位二進制數(shù)進行相加而求得和及進位的邏輯電路稱為半加器。 全加器能對兩個1位二進制數(shù)進行相加并考慮低位來的進位,即相當于對3個1位二進制數(shù)相加,求得和及進位的邏輯電路稱為全加器。 如果要進行多位的加法需要多個全加器構(gòu)成多為全加器,構(gòu)成多為全加器的方法很多,現(xiàn)在介紹如下級連加法器級連加法器又叫行波進位加
45、法器,由1位全加器串聯(lián)構(gòu)成,本級的進位輸出作為下一級的進位輸入。這種加法器結(jié)構(gòu)簡單,但速度慢,字長為N的加法運算需要N一1級門延時,延時主要是進位信號級連造成的。所以在需要高性能的設(shè)計中,一般不用這種結(jié)構(gòu)的加法器。但是在用可編程邏輯器件實現(xiàn)這種加法器時,Xillnx和Altera的器件都為這種進位邏輯設(shè)置了專門的進位鏈。如果能充分利用這些專有資源,這種加法器在可編程邏輯器件中也能達到比較高的性能。并行加法器又稱查找表型加法器,可采用硬件描述語言的運算符直接描述。這種結(jié)構(gòu)預先將N位加法表放在一個查找表中,使用操作數(shù)作為地址去訪問查找表,得到的輸出數(shù)據(jù)就是加法值。例如,一個4位+4位的加法器可以放
46、到一個的查找表中。查找表一般由RAM或ROM構(gòu)成,也可由邏輯結(jié)構(gòu)實現(xiàn)。雖然這種結(jié)構(gòu)的加法器實現(xiàn)起來很容易,并且運算速度快,但耗用資源多,尤其是當加法運算的位數(shù)較寬時,其耗用的資源將會非常大。超前進位加法器級連加法器的延時主要是由進位的延時造成的,因此要加快加法器的運算速度,就必須減小進位延遲,超前進位鏈能有效減小進位的延遲。超前進位加法器的特點是各級進位信號同時產(chǎn)生,大大減少了進位產(chǎn)生的時間。下面以4位超前進位鏈的推導為例,簡要介紹超前進位的概念。首先對1位全加器其本位值和與進位輸出表示如下:在這里,我們令G=ab,P =a+b,則有:由此,可用G和P來寫出4位超前進位鏈如下(設(shè)定4位被加數(shù)和
47、加數(shù)為A和B,進位輸入為,進位輸出為,進位產(chǎn)生,進位傳輸為):由上面的超前進位鏈可以看出:各個進位彼此獨立產(chǎn)生,將進位級連傳播給去掉了,因此,減小了進位產(chǎn)生的延遲時間。但是,隨著加法器位數(shù)的增加,進位的表達式會越來越長,這樣電路結(jié)構(gòu)就會變得越來越復雜。而且受到器件扇入系數(shù)的限制,電路的性能就會下降,所以完全采用并行進位是不可能的。為此,通??梢圆捎梅纸M的方法來解決該問題,即把N位字長的加法器分成若干小組(例如4hit一組,充分利用FPGA四輸入LUT結(jié)構(gòu))。在組內(nèi)實現(xiàn)超前進位,組間既可以用行波進位,也可以采用超前進位。一般情況下,把組內(nèi)采用超前進位,組間采用行波進位的加法器稱為單級超前進位加法
48、器,把組內(nèi)組間都采用超前進位的加法器稱為多級超前進位加法器。跳躍進位加法器參考:1、 二級進位跳躍加法器的優(yōu)化方塊分配.pdf2、 快速靜態(tài)進位跳躍加法器.pdf3、 基于方塊超前進位的快速進位跳躍加法器.pdf4、 精通Verilog HDL語言編程15.3 P438流水線加法器并行加法器速度快,只有一級門延時,對于實現(xiàn)4位以下的加法器比較合適。但隨著加法器位數(shù)的增加,在CPLD中受到邏輯宏單元輸入信號數(shù)和乘積項資源的限制,在FPGA中也受到查找表容量的限制(呈指數(shù)級增長),所以我們可以采用流水線結(jié)構(gòu)來設(shè)計加法器。因為FPGA器件的觸發(fā)器非常豐富,所以充分利用觸發(fā)器資源可大大提高加法器的工作
49、速度。下面將以一個八位加法器為例,討論如何進行流水線設(shè)計。設(shè)S=A+B。其中,A=(AI,AII),其中AI和AII分別代表A的高四位和低四位,同樣的方式B和S也可被表示為B=(BI,BII),S=(SI,SII),所以加法可分解為:按上述式子,8位+8位加法可以分為下列步驟進行:1)分別求出部分SI和SII2)高位部分和SI加上低位進位。經(jīng)過改進,實現(xiàn)8位+8位加法運算只需2個4位加法器。用FPGA實現(xiàn)時,查找表的規(guī)模減少到。在FPGA中由于查找表輸入線少,往往需要將運算分解為更小的規(guī)模進行。在CPLD中實現(xiàn)4位+4位加法器比較容易。圖3.21 8位+8位2級流水線加法器實現(xiàn)加法運算的方法有
50、很多。從資源耗費和速度性能等多方面綜合考慮,查找表加法器比較適合于實現(xiàn)規(guī)模較小的加法器,而規(guī)模較大的加法器可以使用流水線加法器來實現(xiàn)。從速度的角度來講,流水線結(jié)構(gòu)加法器最優(yōu),從資源占用的角度來講,級連加法器(又稱串行進位加法器)占用資源最少??梢钥闯觯俣?性能)和資源消耗(開銷)始終是一對矛盾體。對于流水線加法器,流水深度同運算速度在一定程度上是成正比的,然而隨著流水深度的增加,連線延遲在總的延遲中所占的比重越來越大,邏輯延遲所占比重逐漸變小,總的延遲不一定減小,而資源耗費卻直線上升。所以具體要分成幾級流水結(jié)構(gòu)來實現(xiàn),要根據(jù)實際項目的需要進行綜合分析。3.3.6乘法器乘法器是運算處理運算中最
51、基本的設(shè)計單元之一。實現(xiàn)硬件乘法運算主要可以采用以下幾種方法:移位相加、查找表與邏輯樹、加法器樹和混合乘法器等。下面以一個8位乘法器為例,討論幾種乘法器的優(yōu)缺點。(1)基本乘法器(移位相加)移位相加乘法器實現(xiàn)起來相對較簡單,大多數(shù)的單片機和微處理器的乘法運算都采用這種方法。8位的乘法器只需一個16位移位寄存器和一個16位加法器即可實現(xiàn)。移位相加乘法器的最大缺點是速度慢,8位乘法需要8個時鐘周期才能得到結(jié)果。(2)查找表與邏輯樹乘法器把乘積放在存儲器中,使用操作數(shù)作為地址訪問存儲器,得到的輸出數(shù)據(jù)就是乘法運算的結(jié)果。查找表方式的乘法器的速度只局限于所使用的存儲器的速度,小型乘法器使用這種技術(shù)則非
52、常合適。但是隨著操作數(shù)精度的提高,查詢表變得非常龐大,因此不宜用于位數(shù)高的乘法操作。例如,一個4位x4位的乘法運算就需要一個的查找表來實現(xiàn)。但查找表的規(guī)模隨著操作數(shù)的精度提高而迅速擴大,例如一個8位x8位的乘法就需要一個位的查找表來實現(xiàn),可見這是個比較龐大的數(shù)據(jù)。邏輯樹的輸出數(shù)據(jù)的每一位都可以寫成所有操作數(shù)的邏輯函數(shù)。這種方法的速度和查找表一樣快,但實現(xiàn)起來比較困難,因為乘法器需要很多輸入線和乘積項資源,而邏輯器件的資源不一定能滿足乘法器運算的需要。為此,有些研究者設(shè)計了許多種非常復雜的使用乘積項共享的邏輯樹來實現(xiàn)乘法器。邏輯樹也可視為一種精簡的查詢表,8位乘法器設(shè)計需要16個輸入。(3)加法
53、器樹乘法器加法器樹乘法器(Adder-tree)實際上是由移位相加器和查詢表組成,如圖3.22所示。圖3.22 加法器樹乘法器圖中的8位xl位乘法器可以用8個與門實現(xiàn),最終的移位相加是通過一個并行的加法器來實現(xiàn)的。加法器樹需要的加法器數(shù)目等于操作數(shù)位數(shù)減1,加法器精度為操作數(shù)位數(shù)的2倍,需要的與門數(shù)等于操作數(shù)的平方。8位乘法器需要7個16位加法器和64個與門。如果采用流水線技術(shù),加法器樹乘法運算需要的時間僅為1個時鐘周期。不過,通過仔細觀察上面的結(jié)構(gòu)可以發(fā)現(xiàn),其實在進行累加結(jié)果時,后面的幾個16位加法器還可以進一步減小規(guī)模,由此可以得到如圖3的改進結(jié)構(gòu)。圖3.23改進后的加法器樹乘法器我們可以
54、用FPGA內(nèi)部閑置的片內(nèi)RAM實現(xiàn)高速的乘法器,但對于大型乘法器來說,直接進行并不現(xiàn)實。因此,我們需要對它進行變形,以滿足我們的要求,混合乘法器就是一種比較好的方法。(4)混合型乘法器混合乘法器就是利用查找表做小型乘法器,然后再利用權(quán)值相加做大型乘法器,結(jié)合了“查找表”和“移位相加”兩者的優(yōu)點。例如,8位乘法器Y=a*b可以分解成兩個半字節(jié)。其中,。因此,乘式可以寫成:這樣就把一個8x8乘法運算轉(zhuǎn)化成4個4x4乘法運算,相對而言,減小了查找表的尺寸。需要注意的是,這種乘法器最后進行相加運算時,必須對高位乘積進行加權(quán),對低位乘積高位補0。另外,可以根據(jù)運算精度的要求,舍去最無效的部分,以節(jié)省硬件資源的消耗。從速度的角度來講,采用流水線技術(shù)的加法器樹乘法器最優(yōu),從資源占用的角度來講,移位累加乘法器占用資源最少。綜合考慮,實現(xiàn)規(guī)模較小的乘法運算可以使用查找表乘法器,規(guī)模較大的乘法運算可以使用采用了流水線技術(shù)的加法器樹結(jié)構(gòu)乘法器來實現(xiàn)。但要注意,雖然流水深度同運算速度在一定程度上是成正比的,但是隨著流水深度的增加,布線延遲在總的延遲中所占的比重越來越大,邏輯延遲所占比重逐漸變小,總的延遲不一定減小,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《微波技術(shù)總結(jié)》課件
- 2022年浙江省嘉興市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年黑龍江省鶴崗市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年黑龍江省齊齊哈爾市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年內(nèi)蒙古自治區(qū)烏海市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 《夢想學堂使用手冊》課件
- 經(jīng)典搞笑句子
- 英語請假條的格式
- 遼寧省本溪市(2024年-2025年小學六年級語文)統(tǒng)編版小升初模擬(上學期)試卷及答案
- 2025年電池化學品項目規(guī)劃申請報告模板
- 【期末試題】河西區(qū)2018-2019學年度第一學期六年級數(shù)學期末試題
- 2022年總經(jīng)理年會發(fā)言稿致辭二
- 警綜平臺運行管理制度
- 立法學完整版教學課件全套ppt教程
- 簡約中國風水墨山水工作總結(jié)通用PPT模板
- 礦山測量課程設(shè)計
- 藥廠生產(chǎn)車間現(xiàn)場管理-PPT課件
- 軸與孔標準公差表
- 防火門施工方案
- 人教PEP版2022-2023六年級英語上冊期末試卷及答案(含聽力材料)
- 高速公路瀝青路面設(shè)計計算書(Word)
評論
0/150
提交評論