專用集成電路教學課件第五章_第1頁
專用集成電路教學課件第五章_第2頁
專用集成電路教學課件第五章_第3頁
專用集成電路教學課件第五章_第4頁
專用集成電路教學課件第五章_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第五章:數字電路系統設計

5.1二進制加法器(Adder)——加法器是數字運算系統中最基本的單元電路,任何復雜的二進制算術運算一般都是按照一定的規則通過基本的加法操作來實現的。5.1.11位加法器——半加器與全加器半加器(HalfAdder)ABSumCarry0000011010101101一位半加器邏輯表達式圖:一位半加器真值表

5.1二進制加法器(Adder)

5.1.11位加法器——半加器與全加器全加器(FullAdder)

全加器真值表和邏輯表達式ABCinSumCout0000001010100101100100110011011010111111

5.1二進制加法器(Adder)

5.1.11位加法器——半加器與全加器全加器(FullAdder)

一位全加器邏輯電路圖

5.1二進制加法器(Adder)5.1.11位加法器——半加器與全加器全加器(FullAdder)一位全加器MOS管電路圖

5.1二進制加法器(Adder)5.1.11位加法器——半加器與全加器全加器(FullAdder)一位全加器集成電路版圖

5.1二進制加法器(Adder)

5.1.2

n位并行加法器并行相加是指n位被加數中的每一位與n位加數中的各個對應位同時相加。n位并行加法器由n個一位全加器相互連接構成,其連接方式決定了該加法器的電路復雜程度和運算速度。行波進位加法器(RippleCarryAdder)

5.1二進制加法器(Adder)

5.1.2n位并行加法器行波進位加法器(RippleCarryAdder)結構特點

該加法器每一位的進位輸入均由相鄰的低位送來,在最高位(n-1)得到最后的進位輸出Carry,輸出的“和”SUM則從各個相應位取得。性能特點:延遲計算Ta=nTc?電路簡單、規則,易于IC版圖的設計與實現;?主要缺點:進位信號是從最低位向最高位逐級傳遞的(就是所謂的行波),只有這樣才能獲得正確的結果;

5.1二進制加法器(Adder)

5.1.2n位并行加法器選擇進位加法器(CarrySelectAdder)結構特點?將n位操作數分成相同位數(p位)的m組;?每一組由兩個p位的行波進位加法器和一個多路數據選擇器(MUX)構成;?兩個加法器的進位輸入分別是“1”和“0”;?MUX用于從兩個加法器的“和”中選擇一個作為最終的結果;

5.1二進制加法器(Adder)5.1.2n位并行加法器選擇進位加法器(CarrySelectAdder)性能特點延遲計算Tc:一位全加器的進位延遲;Tmux:MUX的延遲時間;Tsel:MUX數據選擇信號的生成延遲;?m個分組的數據以完全并行的方式相加;?分組內的p位數據則按行波進位的方式相加;

5.1二進制加法器(Adder)5.1.2n位并行加法器超前進位加法器(CarryLookaheadAdder)

設計高速并行加法器的關鍵在于如何設計出延遲時間最小的進位信號處理電路。超前進位是在對多位加法運算算法進行深入研究的基礎上,依據低位的加數和被加數的狀態來判斷本位是否有進位,而不必等待低位送來的實際進位信號,從而大大提高多位加法的運算速度。超前進位算法的研究?N位加法運算中,某一位數的相加是否產生進位的條件是:?N位加法運算中,其進位輸入直接傳遞到該位進位輸出的條件是:

5.1二進制加法器(Adder)

5.1.2n位并行加法器超前進位加法器(CarryLookaheadAdder)?進行第i位加法運算方法:首先進行進位產生和進位傳遞函數的計算:

然后根據Gi與Pi的結果計算該位的和與進位:將Ci+1的計算公式向下遞歸使用,可得:

5.1二進制加法器(Adder)

5.1.2n位并行加法器超前進位加法器(CarryLookaheadAdder)四位超前進位加法運算算法:?根據上頁介紹的方法可以推導出四位超前進位算法如下:上面公式可以看出,每一特定位的進位信號可以直接從本位以及比它低的各位加數、被加數和C0的狀態來作出判斷,而不需要等待低位實際送來的進位信號。這樣一來,任意一位所需的進位信號只要各個相關信號輸入后經過兩級門延遲即可獲得,加法的運算速度與參與運算操作數的位數無關。

5.1二進制加法器(Adder)

5.1.2

n位并行加法器超前進位加法器(CarryLookaheadAdder)

根據上頁公式,可以獲得四位超前進位加法器的電路結構

5.1二進制加法器(Adder)

5.1.2

n位并行加法器超前進位加法器(CarryLookaheadAdder)

超前進位產生電路模塊的邏輯電路如下:由上圖可以看出,每一位的進位信號都要包含所有比它低各位的P和G兩個函數,當參與運算的位數較多時,低位所產生的P和G函數所要驅動的負載會過重,而且整個超前進位形成邏輯電路會非常復雜難以實現,因此一般超前進位形成邏輯電路均以四位為基礎構成。

5.1二進制加法器(Adder)

5.1.2

n位并行加法器超前進位加法器(CarryLookaheadAdder)四位超前進位加法器電路(74×283)

5.1二進制加法器(Adder)

5.1.2

n位并行加法器超前進位加法器(CarryLookaheadAdder)超前進位形成邏輯的遞歸使用圖:16位超前進位加法器電路

5.1二進制加法器(Adder)5.1.3浮點數加法器(FloatingPointAdder)浮點數的表示方法在浮點數中小數點的位置可以左右移動,其表示方法為:式中:

M(Mantissa):浮點數的尾數;R(Radix):浮點數中階的基數;E(Exponent):浮點數中階的階碼;

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數的格浮點數的表示方法計算機中浮點數的表示方法——計算機中規定浮點數的基數R為一般2、8或16,在實際應用中主要為2,由于該R為固定值,所以不需要在浮點數中明確地表示出來。因此要表示浮點數,必須:

?給出尾數M:通常使用定點小數形式表示(用純小數原碼),其位數決定了浮點數的精度。

?給出階碼E:通常用整數形式表示(整數形式移碼),用其指示小數點在數據中的位置,其位數決定了浮點數的表示范圍。

?浮點數的符號位Ms:0—正數,1—負數。?浮點數的格式

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數的表示方法

為了進一步統一浮點數的表示與運算方法,IEEE對浮點數的表示方法規定了一個標準的格式。IEEE標準浮點數的表示方法如下:

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數加/減法的運算規則浮點數加、減法的運算規則是在保證參與運算兩數的階碼大小一致的情況下,進行尾數的相加或相減操作。

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)

浮點數加/減法的運算步驟?階碼相減(ES):計算2個數階碼之差的絕對值|Ea–Eb|=d。?對階(Alignment)操作(Align):將較小操作數的尾數右移d位,并將較大操作數的階碼記為Ef。?尾數相加/減(SA):依據符號位,對兩個操作數進行加法或減法操作。?數據轉換(Conv):若尾數相加/減的結果為負數,需將結果轉換成符號—數值表示方式,結果記為Sf。?尾數首位“1”檢測(LOD):計算規格化時尾數需要左/右移動的位數,并標記其為En。若En為正,則為右移(僅右移1位,對應于尾數結果溢出的情況),否則為左移。?規格化(Normalization)處理(Norm):尾數移位En位,同時將En加到階碼Ef上。?舍入操作(Roud):執行IEEE舍入操作,即在需要時在尾數S的最低位加1,這可能導致溢出,此時須將尾數右移1位,同時階碼Ef加1。

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數加/減法的運算步驟

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數加/減法的運算電路結構的改進

原有算法的缺點?對階操作和計算結果規格化處理時需要兩個全長度的移位器;?尾數運算、數據轉換和舍入操作時需要三個尾數加法器;

5.1二進制加法器(Adder)

5.1.3浮點數加法器(FloatingPointAdder)浮點數加/減法的運算電路結構的改進

算法的改進?數據轉換操作僅在尾數操作的結果為負值(實際上是在做減法)時才需要,而且此操作可以通過交換尾數相減時的減數和被減數來得以避免(但在階碼相等時例外,但此時不需要進行舍入操作)——有尾數交換的算法中,舍入和數據轉換操作是相互排斥的;?在僅有加法的情況下,尾數操作結束后只可能使結果增加,于是只有全長度的對階移位器是必須的。對于減法操作,分成兩種情況:一種情況是階碼的差值d>1(記為FAR),此時需要一個全長度的對階移位器,但所得結果規格化時,最多只需要進行1位左移操作。另一種情況是d≤1(記為CLOSE),這時不需要全長度的對階移位器,但是必須要有全長度的規格化移位器。由此可見,全長度的對階移位器和規格化移位器是互斥的;?通過對尾數操作結果中高位打頭“0”的個數的預測,在操作數輸入后就進行LOD操作,此時的操作稱為LOP(Leading-One-Prediction)。浮點數加/減法的運算電路結構的改進—雙路徑浮點數加/減法電路階碼差值:d>1階碼差值:d≦1d=1d>1

5.2二進制乘法器(Multiplier)

5.2.1二進制乘法運算的步驟第一步:從輸入數據中依照乘數的狀態產生部分積(如何產生部分積使乘法運算速度加快是設計乘法器電路的主要問題之一);第二步:將各個部分積沿垂直方向加起來產生最終的結果(要采用某種運算策略,將所有的部分積最終合并(化簡)成部分積和(Sum)與部分積進位(Carry)兩部分。由于該運算策略與電路的實現結構關系緊密,所以它也是乘法器電路研究的一個重要問題);第三步:將上一步驟獲得的部分積和(Sum)與部分積進位(Carry)相加獲得最終的乘積;

5.2二進制乘法器(Multiplier)

5.2.1二進制乘法運算的步驟

用“點圖(DotDiagram)”來表示二進制乘法運算的步驟

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構——數字乘法器有多種電路實現方式,其結構有的簡單有的復雜。簡單的電路結構運算速度慢,復雜的電路結構則可以獲得很高的運算速度。○移位式數字乘法器電路構成?部分積產生電路?加法器電路?乘積移位電路(右移)

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構線性陣列(LinearArray)數字乘法器

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構并行數字乘法器——并行數字乘法器完全采用組合邏輯電路,其工作過程與上面所述的乘法運算步驟相類似,即:通過部分積產生電路同時產生所有的部分積,運用某種運算策略,將所有的部分積最終合并(化減)成部分積和(Sum)與部分積進位(Carry)兩部分,然后將這兩部分通過多位并行加法器相加得到最終的結果。根據部分積化簡策略的不同,并行數字乘法器具有不同的電路結構形式。

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生①產生部分積的簡單方法——乘法運算中的第一步就是以一定的算法產生部分積。最為簡單產生部分積的方法可以用下面的點圖及例子說明:乘數(低高)被乘數

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生?部分積的產生——實例

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生?部分積的產生電路

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生?使用該方法的特點

由此方法產生部分積與手工計算完全一致,用于生成部分積的電路非常簡單,如圖上所示。但該方法的缺點是顯而易見的,即:對于任意一位的乘數,都要產生相應的部分積,若參與運算的操作數的位數為N,就要產生N個部分積。要將所有的部分積全部加起來需要使用數量很大(與部分積個數成正比)的加法器電路,而且部分積級數越多,其求和速度越慢。如果能夠減少計算中生成部分積的個數,就能夠有效地提高乘法的運算速度并降低電路規模。

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生

②采用加速Booth算法產生部分積?Booth算法產生部分積的基本思想

上面的方法中,對于乘數中的每一位,都要產生與其對應的部分積。而修正Booth算法按照乘數每2位的取值情況,一次求出對應于該2位的部分積,以此來減少部分積的個數。在運算中,每2位乘數有四種可能的組合,每種組合所對應的操作如下:?00—部分積相當于0?M,同時左移2位;?01—部分積相當于1?M,同時左移2位;?10—部分積相當于2?M(被乘數左移1位后即可獲得)同時左移2位;?11—部分積相當于3?M,同時左移2位;

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生

②采用加速Booth算法產生部分積

?Booth算法產生部分積時部分積的計算2M的計算:采用將M算術左移1位的方法獲得;3M的計算:3?M的計算比較復雜,解決方法是用4?M-M來替代。通常的作法是本次運算中只執行-M操作,而+4?M則歸并到下一個部分積生成時執行。因為下一個部分積已經左移了2位,所以上次欠下的+4?M在此刻變成了+M(與移位后的部分積正好對齊)。同樣也可以將-M歸并至上一個部分積中運算,此時其變成-4?M;-M的計算:負數部分積用2的補碼表示,具體做法是將相應正數值各個位分別求反,并在最低位加1后得到;

5.2二進制乘法器(Multiplier)

5.2.2數字乘法器的電路結構部分積的產生

③部分積的求和與化簡

?部分積的求和

通常的做法:將部分積沿點圖的縱向相加;

問題:需要使用多位加法器,存在進位延遲問題;

解決的辦法:改變加法器進位端的連接方式,即采用保留進位加法器(CarrySaveAdder—CSA,亦稱為3-2計數器),用所謂“斜加”的方式將進位信號推遲到后一級中相對應的較高位上去相加。圖:CSA電路5.3桶型移位器(BarrelShifter)電路說明:上圖所示是一個8-bit輸入左移7-bit桶形移位器的電路,從上至下每一級的移位位數分別是4,2和1。由shmat線上的狀態控制移位的位數。5.4可編程邏輯器件——可編程邏輯器件PLD(ProgrammableLogicDevice)作為通用器件進行生產,包括其靈活可變的連線層。該連線層的連接方式可以由使用者通過特殊手段進行編程來自行設定,而連接方式就決定了該PLD器件的邏輯功能。5.4.1可編程邏輯器件的基本構成基本電路結構輸入控制電路:將輸入變量及其反變量輸入到可編程與陣列;

可編程與—或陣列:先由可編程與陣列進行與邏輯運算,結果形成K個乘積項(ProductTerm),將結果再輸入至可編程或陣列,得到所要求的乘積項之和(SumTerm);

輸出控制電路和反饋回路:控制運算結果的輸出與反饋;

5.4可編程邏輯器件

5.4.1可編程邏輯器件的基本構成可編程與—或陣列——可編程與—或陣列是除現場可編程門陣列(FPGA)外大部分PLD器件實現各種邏輯功能的基礎。其邏輯功能主要由二極管開關電路實現。編程的方法?由用戶編程器控制熔斷的熔絲技術—一次性編程(OTP:OneTimeProgramble);?用場效應管作為編程開關,編程控制數據則存儲于諸如EPROM、EEPROM、FLASHRAM等可重復擦寫的存儲器中。

5.4可編程邏輯器件

5.4.1可編程邏輯器件的基本構成

可編程與—或陣列——可編程與陣列輸出的乘積項接至可編程或陣列的輸入,就構成能夠實現復雜邏輯功能(與—或邏輯)的可編程與—或陣列。

5.4可編程邏輯器件

5.4.2可編程邏輯器件的輸出結構——PLD的輸出部分主要作用是提供輸出信號的極性選擇、三態輸入/輸出控制、輸出信號PLD器件輸出極性選擇電路——同相輸出、反相輸出、互補輸出和可編程極性的寄存與反饋等。

5.4可編程邏輯器件

5.4.3幾種典型的可編程邏輯器件可編程陣列邏輯(PAL)器件特點

PAL器件可以采用多種典型的輸出級結構,可以用來設計各種組合與時序邏輯電路。在使用PAL器件進行電路設計時,最主要的制約因素是其能夠有效實現的電路規模。?只具有一個可編程的與陣列和一個固定的或陣列;?固定的或陣列中,對于每一根輸出線,其相應的或邏輯輸入固定接至特定的一組乘積項;

5.4可編程邏輯器件

5.4.3幾種典型的可編程邏輯器件通用邏輯陣列(GAL)器件GAL器件區別于PAL器件的兩個主要方面?GAL器件具有一種靈活的、可編程的稱之為輸出邏輯宏單元(OLMC—OutputLogicMicroCell)的輸出級結構;?GAL器件普遍采用了EEPROM的浮柵工藝技術作為編程部件,具有可擦除、可重新編程的能力;

5.4可編程邏輯器件

5.4.3幾種典型的可編程邏輯器件復雜可編程邏輯(CPLD)器件CPLD的組成結構?通用邏輯塊(GLB—GenericLogicBlock);?可編程全局布線區(GRP—GlobalRoutingPool);?輸入/輸出單元(IOC—Input/OutputCell);?輸出布線區(ORP—OutputRoutingPool);?時鐘信號分配網絡

5.4可編程邏輯器件

5.4.3幾種典型的可編程邏輯器件現場可編程門陣列(FPGA)器件FPGA簡介——FPGA是目前最為先進的可編程邏輯器件,它兼有半定制門陣列和普通PLD兩者的優點,因而獲得了廣泛的使用。?FPGA在結構上有許多相同的、基本的、功能可配置的邏輯模塊(CLB)組成一個電路矩陣,用戶通過對CLB的編程實現所需要的各種復雜的邏輯功能。在CLB矩陣四周有可配置的I/O模塊(IOB)和外部引腳相連。芯片內的各類連線是用戶可編程的,它按照用戶的設計連接各個CLB和IOB.FPGA的優點?無NRE費用;?用戶可編程實現設計要求;?不需要生產所需要的測試適量;?設計實現方法簡單,設計周期短;

5.5半導體存儲器

5.5.1半導體存儲器的分類ROM—只讀存儲器(Read-OnlyMemory)RAM—隨機存取存儲器(RandomAccessMemory)特殊種類存儲器:多端口RAM,先進先出存儲器FIFO固態ROM可編程ROM(PROM)可擦除ROM(EPROM)電可擦除可編程ROM(E2PROM)SRAM—靜態存儲器(StaticRandomAccessMemory)DRAM—動態存儲器(DynamicRandomAccessMemory)

5.5半導體存儲器

5.5.2隨機存取存儲器RAM——RAM按工作方式可以分成異步Async-RAM和同步Sync-RAM兩類。異步RAM的電路簡單,時序關系清晰,但速度較慢;同步RAM必須在系統時鐘信號的同步下才能正常工作,應用較為復雜,但存取速度極快;——RAM按存儲單元的結構不同,可以分成靜態SRAM和動態DRAM兩類。SRAM的特點是集成度高,存取速度快、功耗極低;DRAM則具有存儲單元結構簡單,集成度遠大于SRAM的優點,但其應用較復雜,存取速度相對較慢。

5.5半導體存儲器

5.5.2隨機存取存儲器RAMRAM的基本組成結構——RAM一般由地址譯碼器、存儲矩陣、讀/寫控制邏輯和三態雙向緩沖電路等部分組成,其結構圖如下:

5.5半導體存儲器

5.5.2隨機存取存儲器RAMRAM的基本組成結構——由于RAM存儲矩陣的單元數極多,為了便于電路實現,其地址譯碼電路一般均采用行、列雙譯碼結構,在兩者的共同作用下,選中特定的存儲單元。這樣做的好處在于譯碼電路易于設計實現,用于選擇存儲單元的信號線數目少。

5.5半導體存儲器

5.5.2隨機存取存儲器RAM靜態RAM的基本存儲單元

——靜態基本存儲單元的實際上是一個雙穩態觸發器。

5.5半導體存儲器

5.5.2隨機存取存儲器RAM靜態RAM的基本存儲單元

電路說明?M1與M5、M2與M6構成兩個CMOS反向器;?兩個反向器交叉耦合連接,構成R-S觸發

溫馨提示

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

評論

0/150

提交評論