版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
6.1數(shù)字電路系統(tǒng)設計的層次化描述方法
6.2典型電路設計
6.3總線控制器設計6.1數(shù)字電路系統(tǒng)設計的層次化描述方法集成電路設計中大量采用的是結構性的描述方法,歸納起來主要有兩種:自下而上(Bottom-Up)的設計方法與自上而下(Top-Down)的設計方法。在實際運用中,可以根據(jù)實際設計情況選擇這兩種方法相結合的設計方法,即混合設計方法。Top-Down方法主要是從系統(tǒng)設計的角度進行,系統(tǒng)工程師往往會在項目的規(guī)劃階段將數(shù)字電路系統(tǒng)進行劃分,明確主要單元模塊的功能、時序和接口參數(shù)等系統(tǒng)方案,這種方法可以有效協(xié)調ULSI和VLSI芯片設計中眾多開發(fā)人員的工作。Bottom-Up方法主要是在實際系統(tǒng)執(zhí)行過程中,底層設計人員提出底層功能模塊的優(yōu)化方案,系統(tǒng)設計人員分析這些優(yōu)化對系統(tǒng)的影響,通過調整系統(tǒng)結構,提高芯片整體性能。1.?Bottom-Up設計方法Bottom-Up設計方法是一種傳統(tǒng)的設計方法,它要求電路設計者將系統(tǒng)進行模塊劃分,從底層模塊設計開始,運用各底層模塊搭建一個完整的系統(tǒng)。在這種設計方法中,首先根據(jù)系統(tǒng)設計的要求,定義并建立所需要的葉子模塊,通過模塊連接方式建成較大的模塊,然后把這些較大的模塊組合成具有一定功能的模塊,最后將這些功能模塊組合,直到完成整個系統(tǒng)。這就如同搭積木,用小的模塊不斷組合,最后完成系統(tǒng)的設計。其設計方法示意圖如圖6.1-1所示。一個典型的Bottom-Up設計例子是在第4章中提到的串行加法器的設計。一個4位串行加法器由4個全加器構成,如圖6.1-2所示。全加器是串行加法器的子模塊,而全加器是由基本的邏輯門構成的,如圖6.1-3所示,這些基本的邏輯門就是所說的葉子模塊。這個設計中運用葉子模塊(基本邏輯門)搭建成子模塊(全加器),再用子模塊搭建成所需要的電路(串行加法器)。顯然,Bottom-Up設計方法沒有明顯的規(guī)律可循,主要依靠設計者的實踐經(jīng)驗和熟練的設計技巧,用逐步試探的方法最后設計出一個完整的數(shù)字系統(tǒng)。系統(tǒng)的各項性能指標只有在系統(tǒng)構成后才能分析測試。Bottom-Up設計方法常用于原理圖的設計中,相比于其他方法,該方法對于實現(xiàn)各子模塊電路所需的時間較短。但是該方法仍存在著許多不足之處,例如采用該設計方法容易對系統(tǒng)的整體功能把握不足,整個系統(tǒng)的設計周期比較長、效率低、設計質量難以保證等。因此,這種方法只適用于小規(guī)模電路的設計。2.?Top-Down設計方法隨著電子技術的快速發(fā)展,傳統(tǒng)的設計方法已經(jīng)不能滿足日益增長的系統(tǒng)要求,Top-Down設計方法成為數(shù)字系統(tǒng)設計的主流設計方法。在這種設計方法中,首先從系統(tǒng)級入手,把系統(tǒng)劃分為若干個子功能單元,并編制出相應的行為或結構模型;再將這些子功能單元進一步拆分,就這樣不斷地拆分,直到整個系統(tǒng)中各模塊的邏輯關系合理,便于邏輯電路級的設計和實現(xiàn);這種最底層的功能模塊被稱為葉子模塊。其設計方法示意圖如圖6.1-4所示。例如,使用Top-Down設計方法對一個典型的CPU進行設計,如圖6.1-5所示。根據(jù)CPU的功能將CPU分為控制單元、邏輯運算單元、存儲單元。控制單元主要控制整個CPU的工作,用于調控整個CPU按照指令執(zhí)行規(guī)定的動作,控制單元又由指令控制器、時序控制器、總線控制器和中斷控制器構成。邏輯運算單元可以分為算術邏輯運算單元ALU和浮點運算單元FPU。存儲單元可以分為通用寄存器和專用寄存器。這樣通過功能的不斷細化,將大模塊劃分成了更小的模塊,當劃分到指令控制器這一級時,就可以通過各種邏輯電路來實現(xiàn)了。Top-Down設計方法的優(yōu)點是顯而易見的,在整個設計過程中主要的仿真和調試過程是在高層次完成的,所以能夠在設計的早期發(fā)現(xiàn)結構設計上的錯誤,及時進行調整,最大限度地不將錯誤帶入到后續(xù)的設計環(huán)節(jié)中;同時方便了從系統(tǒng)進行劃分和管理整個項目,使得大規(guī)模的復雜數(shù)字電路實現(xiàn)成為可能,避免了不必要的重復設計,提高了設計效率。然而這種設計方法仍然存在著不足,即在設計的開始并不能準確地確定最終功能單元的設計,需要根據(jù)具體的設計情況,不斷進行系統(tǒng)設計的修正?,F(xiàn)在的數(shù)字電路設計越來越復雜,單一的設計方法往往很難滿足設計要求,因此通常將這兩種設計方法結合起來,即采用混合的設計方法來進行設計。這樣可以綜合每種方法的優(yōu)點,在高層系統(tǒng)設計時采用Top-Down設計方法,便于系統(tǒng)的劃分;而在底層設計時采用Botton-Up設計方法,這樣可以縮短各模塊的設計時間。
6.2典型電路設計6.2.1加法器樹乘法器加法器樹乘法器的設計思想是“移位后加”,并且加法運算采用加法器樹的形式。乘法運算的過程是,被乘數(shù)與乘數(shù)的每一位相乘并且乘以相應的權值,最后將所得的結果相加,便得到了最終的乘法結果。加法器樹乘法器在計算被乘數(shù)與乘數(shù)及與其權值相乘時采用“判斷移位”的形式,即通過判斷乘數(shù)位是否為1來決定結果為0或者進行移位。當乘數(shù)位為1時被乘數(shù)根據(jù)該位的權值將被乘數(shù)移位,權值為0時不移位,權值為2時左移1位,權值為4時左移2位,權值為8時左移3位,……;當乘數(shù)位為0時直接輸出0。而加法器樹乘法器的加法運算是通過加法器樹來實現(xiàn)的,如圖6.2-1所示。加法器樹所需要的加法器的數(shù)目是操作數(shù)的位數(shù)減1。6.2.2Wallace樹乘法器在乘法器的設計中,采用樹形乘法器可以減少關鍵路徑和所需的加法器單元數(shù)目。Wallace樹乘法器就是其中一種。下面以一個4?×?4位的乘法器為例來介紹Wallace樹乘法器。Wallace樹乘法器原理如圖6.2-5所示,其中FA為全加器,HA為半加器。其基本原理是,加法從數(shù)據(jù)最密集的地方開始,不斷地反復使用全加器、半加器來覆蓋“樹”。這一級全加器是一個3輸入、2輸出的器件,因此全加器又稱為3-2壓縮器。通過全加器將樹的深度不斷縮減,最終縮減為一個深度為2的樹。最后一級則采用一個簡單的2輸入加法器組成。其電路結構如圖6.2-6所示。6.2.3復數(shù)乘法器復數(shù)乘法的算法是:設復數(shù)
則復數(shù)乘法結果為復數(shù)乘法器的電路結構如圖6.2-8所示。將復數(shù)x的實部與復數(shù)y的實部相乘,減去x的虛部與y的虛部的乘積,得到輸出結果的實部。將x的實部與y的虛部相乘,加上x的虛部與y的實部的乘積,得到輸出結果的虛部。6.2.4FIR濾波器的設計濾波器就是對特定的頻率或者特定頻率以外的頻率進行消除的電路,被廣泛用于通信系統(tǒng)和信號處理系統(tǒng)中。從功能角度而言,數(shù)字濾波器對輸入離散信號的數(shù)字代碼進行運算處理,以達到濾除頻帶外信號的目的。有限沖激響應(FIR)濾波器就是一種常用的數(shù)字濾波器,采用對已輸入樣值的加權和來形成它的輸出。其系統(tǒng)函數(shù)為其中,z-1表示延遲一個時鐘周期,z-2表示延遲兩個時鐘周期。對于輸入序列X[n]的FIR濾波器,可用圖6.2-10所示的結構示意圖來表示,其中X[n]是輸入數(shù)據(jù)流。各級的輸入連接和輸出連接稱為抽頭,系數(shù)(b0,b1,…,bn)稱為抽頭系數(shù)。一個M階的FIR濾波器將會有M?+?1個抽頭。通過移位寄存器,用每個時鐘邊沿n(時間下標)處的數(shù)據(jù)流采樣值乘以抽頭系數(shù),并將它們加起來形成輸出Y[n]。6.2.5片內存儲器的設計片內存儲器分為RAM和ROM兩大類。本節(jié)將分別介紹RAM和ROM的VerilogHDL描述方式。1.?RAM的VerilogHDL描述RAM是隨機存儲器,存儲單元的內容可按需隨意取出或存入。這種存儲器在斷電后將丟失所有數(shù)據(jù),因此一般用來存儲一些短時間內使用的程序和數(shù)據(jù)。其內部結構如圖6.2-12所示。根據(jù)地址總線、數(shù)據(jù)總線以及讀/寫控制線的數(shù)目,可以將RAM分為單端口RAM和雙端口RAM兩大類。2.?ROM的VerilogHDL描述ROM即只讀存儲器,是一種只能讀出事先存儲的數(shù)據(jù)的存儲器,其特性是存入的數(shù)據(jù)無法改變,也就是說,這種存儲器只能讀不能寫。由于ROM在斷電之后數(shù)據(jù)不會丟失,所以通常用在不需經(jīng)常變更資料的電子或計算機系統(tǒng)中,資料并不會因為電源的關閉而消失。6.2.6FIFO設計FIFO(FirstInFirstOut)是一種先進先出的數(shù)據(jù)緩存器,通常用于接口電路的數(shù)據(jù)緩存。它與普通存儲器的區(qū)別是,沒有外部讀寫地址線,可以使用兩個時鐘分別進行寫操作和讀操作。FIFO只能順序寫入數(shù)據(jù)和順序讀出數(shù)據(jù),其數(shù)據(jù)地址由內部讀/寫指針自動加1完成,不能像普通存儲器那樣可以由地址線決定讀取或寫入某個指定的地址。FIFO由存儲器塊和對數(shù)據(jù)進出FIFO的通道進行管理的控制器構成,每次只對一個寄存器提供存取操作,而不是對整個寄存器陣列。FIFO有兩個地址指針,一個用于將數(shù)據(jù)寫入下一個可用的存儲單元,一個用于讀取下一個未讀存儲單元的操作。其讀/寫數(shù)據(jù)必須一次進行。其讀/寫過程如圖6.2-16所示。當一個堆棧為空時(圖6.2-16(a)),讀數(shù)據(jù)指針和寫數(shù)據(jù)指針都指向第一個存儲單元;當寫入一個數(shù)據(jù)時(圖6.2-16(b)),寫數(shù)據(jù)指針將指向下一個存儲單元;經(jīng)過七次寫數(shù)據(jù)操作后(圖6.2-16(c)),寫指針將指向最后一個存儲單元;當經(jīng)過連續(xù)八次寫操作之后,寫指針將回到首單元并且顯示堆棧狀態(tài)為滿(圖6.2-16(d))。數(shù)據(jù)的讀操作和寫操作相似,當讀出一個數(shù)據(jù)時,讀數(shù)據(jù)指針將移向下一個存儲單元,直到讀出全部的數(shù)據(jù),此時讀指針回到首單元,堆棧狀態(tài)顯示為空。一個FIFO的組成一般包括兩個部分:地址控制部分和存儲數(shù)據(jù)的RAM部分,如圖6.2-17所示。地址控制部分可以根據(jù)讀/寫指令生成RAM地址。RAM用于存儲堆棧數(shù)據(jù),并根據(jù)控制部分生成的地址信號進行數(shù)據(jù)的存儲和讀取操作。這里的RAM采用的是前面提到的雙端口RAM。6.2.7鍵盤掃描和編碼器鍵盤掃描和編碼器用于在擁有鍵盤的數(shù)字系統(tǒng)中手工輸入數(shù)據(jù),通過檢測按鍵是否按下來產(chǎn)生一個唯一對應此按鍵的掃描碼。6.2.8log函數(shù)的VerilogHDL設計ASIC和FPGA的一個重要功能是實現(xiàn)計算函數(shù)加速器。隨著通信、自動控制和多媒體信號處理計算量的增大,采用VerilogHDL設計計算函數(shù)加速器越來越重要。本小節(jié)將對典型的log計算函數(shù)加速器進行設計。通過這些例子,可了解一些初步的設計方法。log函數(shù)是一種典型的單目計算函數(shù),相應的還有指數(shù)函數(shù)、三角函數(shù)等。對于單目計算函數(shù)的硬件加速器的設計,一般有兩種簡單的方法:一種是查找表的方式;一種是使用泰勒級數(shù)展開成多項式進行近似計算。這兩種方式在設計方法和精確度方面有很大的不同。查找表方式是通過存儲器進行設計,設計方法簡單,但其精度需要通過提高存儲器的深度來實現(xiàn),且在集成電路中所占面積較大,因此這種方式通常在精度要求不高的近似計算中使用。泰勒級數(shù)展開方式采用乘法器和加法器來實現(xiàn),可以通過增加展開級數(shù)來提高計算的精確度。
6.3總線控制器設計6.3.1UART接口控制器串行數(shù)據(jù)接口一般有RS-232、RS-422與RS-485標準,最初都是由電子工業(yè)協(xié)會(EIA)制定并發(fā)布的。目前RS-232是PC與通信業(yè)中應用最廣泛的一種串行數(shù)據(jù)接口。RS-232采取不平衡傳輸方式及單端通信。RS-232共模抑制能力較差,加上信號線上的分布電容,其傳送距離最大約為15m,最高速率為20kb/s。RS-232是點對點的通信方式,其驅動負載為3~7kΩ。因此RS-232適合本地設備之間的通信。RS-232最常見的是9腳接口,其中常用引腳信號定義如圖6.3-1所示。表6.3-1給出了RS-232常用引腳信號的定義。串口也稱作UART(UniversalAsynchronousReceiver/Transmitters),在實際應用中,通常只用TXD和RXD兩個引腳,而其他的引腳都不使用。UART接口時序如圖6.3-2所示。在沒有數(shù)據(jù)的情況下接口處于高電平(Mark),在數(shù)據(jù)發(fā)生前先將電平置低(Space)一個周期,該周期稱為起始比特(Startbit),之后開始發(fā)送第0個到最后一個比特數(shù)據(jù)。UART接口每次可以發(fā)送6位或7位,或8位數(shù)據(jù)。在數(shù)據(jù)位之后可以有選擇地發(fā)送一個校驗位,可以是奇校驗位,也可以是偶校驗位。校驗位后一個比特是一個或多個停止位,此時數(shù)據(jù)線回歸到高電平,可以進行下一個比特的發(fā)送。一個簡單的UART結構如圖6.3-3所示。發(fā)送模塊的功能是將數(shù)據(jù)以串行的形式發(fā)送出去,并且將每一組的串行數(shù)據(jù)加上開始位和停止位。當byte_ready信號有效時,數(shù)據(jù)被載入移位寄存器并添加開始位(低電平)和停止位(高電平);當byte_ready信號無效時,移位寄存器開始移位操作,將數(shù)據(jù)以串行的形式發(fā)送出去。接收模塊的功能是接收發(fā)送模塊輸出的串行數(shù)據(jù),并以并行的方式將數(shù)據(jù)送入存儲器。當接收模塊檢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考復習(圖形的相似)課件
- 關于網(wǎng)絡時代高校德育工作的調查問卷
- 《德育心理》課件
- 《皮膚護理完成》課件
- 《規(guī)避投資風險講稿》課件
- 2021年初級銀行從業(yè)資格《銀行管理》考試歷年真題庫及答案解析
- 2021年化學高考專題復習-專題二十五 有機化學基礎
- 2024-2025學年天津市濱海新區(qū)七年級(上)期末英語試卷(含答案)
- 二年級數(shù)學(上)計算題專項練習匯編
- 安全生產(chǎn)法培訓視頻課件
- T-CEPPC 13-2023 電網(wǎng)區(qū)域電碳因子和電力碳排放量核算規(guī)范
- 《萬以內數(shù)的認識》大單元整體設計
- 監(jiān)控系統(tǒng)調試檢驗批質量驗收記錄(新表)
- 24.教育規(guī)劃綱要(2024-2024)
- 山東省棗莊市滕州市2023-2024學年八年級上學期期末數(shù)學試題(含答案)
- 我的家鄉(xiāng)隴南
- 2023-2024學年蘇州市八年級語文上學期期末考試卷附答案解析
- 政治忠誠、政治定力、政治擔當、政治能力、政治自律情況自我評價
- 壓力鋼管安裝施工方案
- 醫(yī)保按病種分值付費(DIP)院內培訓
- 行業(yè)財務對標分析
評論
0/150
提交評論