VHDL語言 第一章 數(shù)字系統(tǒng)硬件設(shè)計概述_第1頁
VHDL語言 第一章 數(shù)字系統(tǒng)硬件設(shè)計概述_第2頁
VHDL語言 第一章 數(shù)字系統(tǒng)硬件設(shè)計概述_第3頁
VHDL語言 第一章 數(shù)字系統(tǒng)硬件設(shè)計概述_第4頁
VHDL語言 第一章 數(shù)字系統(tǒng)硬件設(shè)計概述_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章

數(shù)字系統(tǒng)硬件設(shè)計概述

自計算機誕生以來,數(shù)字系統(tǒng)設(shè)計歷來存在兩個分枝,即系統(tǒng)硬件設(shè)計和系統(tǒng)軟件設(shè)計。同樣,設(shè)計人員也因工作性質(zhì)不同,被分成兩群:硬件設(shè)計人員和軟件設(shè)計人員。他們各自從事各自的工作,很少涉足對方的領(lǐng)域。特別是軟件設(shè)計人員更是如此。但是,隨著計算機技術(shù)的發(fā)展和硬件描述語言HDL的出現(xiàn),這種界線已經(jīng)被打破。數(shù)字系統(tǒng)的硬件構(gòu)成及其行為完全可以用HDL語言來描述和仿真。這樣,軟件設(shè)計人員也同樣可以借助HDL語言,設(shè)計出符合要求的硬件系統(tǒng)。不僅如此,利用HDL語言來設(shè)計系統(tǒng)硬件與利用傳統(tǒng)方法設(shè)計系統(tǒng)硬件相比,還帶來了許多突出的優(yōu)點。它是硬件設(shè)計領(lǐng)域的一次變革,對系統(tǒng)的硬件設(shè)計將產(chǎn)生巨大的影響。在本章將詳細(xì)介紹這種硬件設(shè)計方法的變化。電子系統(tǒng)所謂電子系統(tǒng),通常是指由若干相互聯(lián)接、相互作用的基本電路組成的具有特定功能的電路整體。電子系統(tǒng)有大有小、大到航天飛機的測控系統(tǒng)、小到出租車計價器,它們都是電子系統(tǒng)??梢愿爬ǖ刂v,凡是可以完成一個特定功能的完整的電子裝置都可稱為電子系統(tǒng)。電子系統(tǒng)組成從組成來看,一個電子系統(tǒng)一般包括模擬系統(tǒng)——傳感、高低頻放大、模/數(shù)、數(shù)/模變換以及執(zhí)行機構(gòu)等;數(shù)字系統(tǒng)——信息處理、決策、控制。但是,對于軟硬結(jié)合的電子系統(tǒng)而言,它的信息處理、決策與控制部分大部分可內(nèi)含有CPU的微處理機(如單片機)的電子系統(tǒng)來實現(xiàn)。所以從組成來講,一般可以把電子系統(tǒng)看成由兩大部分組成:模擬子系統(tǒng)和數(shù)字子系統(tǒng)。數(shù)字系統(tǒng)是對數(shù)字信息進行存儲、傳輸、處理的電子系統(tǒng)一般由若干數(shù)字電路和邏輯功能部件組成,并由一個控制部件統(tǒng)一指揮。邏輯部件擔(dān)負(fù)系統(tǒng)的局部任務(wù),完成子系統(tǒng)的功能。數(shù)字系統(tǒng)可以是一個獨立的實用裝置,如數(shù)字表、數(shù)字計算機等;也可以是一個具有特定性能的邏輯部件,如計算機中的內(nèi)存板,數(shù)字表中的主控板等。不論它們的復(fù)雜程度如何,規(guī)模大小怎樣,其實質(zhì)而言仍是數(shù)字邏輯問題。實際上是對數(shù)字量的存儲、傳輸和處理的過程。數(shù)字系統(tǒng)vs模擬系統(tǒng)數(shù)字系統(tǒng)與模擬系統(tǒng)相比,具有如下特點。①穩(wěn)定性。數(shù)字系統(tǒng)所加工處理的信息是離散的數(shù)字量,對用來構(gòu)成系統(tǒng)的電子元器件要求不高,即能以較低的硬件實現(xiàn)較高的性能。②精確性。數(shù)字系統(tǒng)中可用增加數(shù)據(jù)位數(shù)或長度來達(dá)到數(shù)據(jù)處理和傳輸?shù)木_度。③可靠性。數(shù)字系統(tǒng)中可采用檢錯、糾錯和編碼等信息冗余技術(shù),以及多機并行工作等硬件冗余技術(shù)來提高系統(tǒng)的可靠性。④模塊化。把系統(tǒng)分成不同功能模塊,由相應(yīng)的功能部件來實現(xiàn),從而使系統(tǒng)的設(shè)計、試制、生產(chǎn)、調(diào)試和維護都十分方便?;緮?shù)字系統(tǒng)結(jié)構(gòu)1.1傳統(tǒng)的系統(tǒng)硬件設(shè)計方法

在計算機輔助電子系統(tǒng)設(shè)計出現(xiàn)以前,人們一直采用傳統(tǒng)的硬件電路設(shè)計方法來設(shè)計系統(tǒng)的硬件。這種硬件設(shè)計方法主要有以下幾個主要特征。?采用自下至上(BottomUP)的設(shè)計方法?采用通用的邏輯元、器件?

在系統(tǒng)硬件設(shè)計的后期進行仿真和調(diào)試?主要設(shè)計文件是電原理圖自下至上的硬件電路設(shè)計方法的主要步驟1、根據(jù)系統(tǒng)對硬件的要求,詳細(xì)編制技術(shù)規(guī)格書,并畫出系統(tǒng)控制流圖;2、根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對系統(tǒng)的功能進行細(xì)化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;3、進行各功能模塊的細(xì)化和電路設(shè)計;4、各功能模塊電路設(shè)計、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進行系統(tǒng)的調(diào)試,最后完成整個系統(tǒng)的硬件設(shè)計。

從上述設(shè)計過程我們可以看到,系統(tǒng)硬件的設(shè)計是從選擇具體元、器件開始的,并用這些元、器件進行邏輯電路設(shè)計,完成系統(tǒng)各獨立功能模塊設(shè)計,然后再將各功能模塊連接起來,完成整個系統(tǒng)的硬件設(shè)計。上述過程從最底層開始設(shè)計,直至到最高層設(shè)計完畢,故將這種設(shè)計方法稱為自下至上的設(shè)計方法。用自下至上的設(shè)計方法設(shè)計一個三人表決器第一步,選擇邏輯元、器件。我們選擇與非門。第二步,進行電路設(shè)計。列真值表畫卡諾圖化簡并寫出邏輯函數(shù)表達(dá)式畫邏輯電路圖組合邏輯電路設(shè)計方法(補充)設(shè)計步驟:(1)建立描述邏輯問題的真值表①分析題目所給的條件②找出問題的條件與目的及因果關(guān)系③確定輸入、輸出變量④列出真值表(2)由真值表寫出邏輯函數(shù)表達(dá)式;(如:用最小項積之和的形式)(3)對輸出邏輯函數(shù)進行化簡(4)畫出邏輯電路圖

課本的例子設(shè)計一個六進制計數(shù)器畫出狀態(tài)轉(zhuǎn)換圖系統(tǒng)分析畫出狀態(tài)轉(zhuǎn)換表,發(fā)現(xiàn)Q2當(dāng)前的輸出是Q1前一個狀態(tài)的輸出,而Q1當(dāng)前的輸出就是Q0前一個狀態(tài)的輸出。Q2當(dāng)前的輸出是Q1前一個狀態(tài)的輸出,而Q1當(dāng)前的輸出就是Q0前一個狀態(tài)的輸出。這樣,Q2和Q1采用D觸發(fā)器。選定觸發(fā)器類型Q0的輸出關(guān)系復(fù)雜一些,就必須選用JK觸發(fā)器,并且利用Q1、Q2的輸出作為約束條件,經(jīng)組合邏輯電路作為Q0的J

、K輸入。(選擇JK觸發(fā)器的理由:JK觸發(fā)器具有置0、置1、保持和翻轉(zhuǎn)功能,在各類集成觸發(fā)器中,JK觸發(fā)器的功能最為齊全。實際應(yīng)用中,具有很強的通用性)狀態(tài)方程JK觸發(fā)器設(shè)計1010000000

11狀態(tài)方程驅(qū)動方程JK觸發(fā)器真值表驅(qū)動方程原理圖畫出狀態(tài)轉(zhuǎn)換圖填寫狀態(tài)轉(zhuǎn)換真值表次態(tài)卡諾圖選定觸發(fā)器類型求出輸出方程、狀態(tài)方程和驅(qū)動方程畫電路圖

時序邏輯電路設(shè)計步驟(補充)1.2利用硬件描述語(HDL)的硬件電路設(shè)計方法

代表性的硬件電路描述語言:VHDL語言,VerilogHDL語言。

硬件描述語言:就是可以描述硬件電路的功能,信號連接關(guān)系及定時關(guān)系的語言。它能比電原理圖更有效地表示硬件電路的特性。硬件描述語言HDL,是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語言。利用這種語言,數(shù)字電路系統(tǒng)的設(shè)計可以從上層到下層逐層描述自己的設(shè)計思想,用一系列分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。然后,利用EDA工具,逐層進行仿真驗證,再把其中需要變?yōu)閷嶋H電路的模塊組合,經(jīng)過自動綜合工具轉(zhuǎn)換到門級電路網(wǎng)表。接下去,再用專用集成電路ASIC或可編程邏輯器件自動布局布線工具,把網(wǎng)表轉(zhuǎn)換為要實現(xiàn)的具體電路布線結(jié)構(gòu)。VHDL1980年美國國防部開始開發(fā)1987IEEE標(biāo)準(zhǔn)化IEEE-1076-19871993修訂IEEE-1076-1993提供從門級到系統(tǒng)級的硬件建模VHSIC

HardwareDescriptionLanguageVeryHighSpeedIntegratedCircuitVHDL語言程序的五個組成部分庫說明包集合說明實體說明構(gòu)造體描述配置語句庫存放已編譯的實體、構(gòu)造體、包集合、和配置。相當(dāng)于書庫。包集合存放各設(shè)計模塊能共享的數(shù)據(jù)類型、常數(shù)和子程序。相當(dāng)于書架。實體用于說明所設(shè)計的系統(tǒng)的外部接口信號。構(gòu)造體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為。配置用于從庫中選取所需單元來組成系統(tǒng)設(shè)計的不同版本?;締卧狶IBRARY庫名;USE庫名.包集合名.項目名;ENTITY

實體名

IS

[類屬參數(shù)說明];

[端口說明];END

ENTITY實體名;ARCHITECTURE

構(gòu)造體名

OF實體名

IS

[定義語句]內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;BEGIN

[處理語句];END

ARCHITECTURE構(gòu)造體名;VHDL語言程序書寫基本格式1.2.1電原理圖表示與VHDL語言描述的比較二選一選擇器1.2.2利用HDL語言設(shè)計系統(tǒng)硬件的特點?采用自上至下(TopDown)的設(shè)計方法?系統(tǒng)中可大量采用ASIC芯片?

采用系統(tǒng)早期仿真?降低了硬件電路設(shè)計難度?主要設(shè)計文件是用HDL語言編寫的源程序1.2.3采用自上至下(TopDown)的設(shè)計方法

所謂自上至下的設(shè)計方法,就是從系統(tǒng)總體要求出發(fā),自上至下地逐步將設(shè)計內(nèi)容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計。

在利用HDL的硬件設(shè)計方法中,設(shè)計者將自上至下分成3個層次對系統(tǒng)硬件進行設(shè)計。第一層次:行為描述。第二層次:RTL方式描述。第三層次:邏輯綜合。行為描述(Behaviour)

行為描述,實質(zhì)上就是對整個系統(tǒng)的數(shù)學(xué)模型的描述。對系統(tǒng)進行行為描述的目的是試圖在系統(tǒng)設(shè)計的初始階段,通過對系統(tǒng)行為描述的仿真來發(fā)現(xiàn)設(shè)計中存在的問題。在行為描述階段,并不真正考慮其實際的操作和算法用什么方法來實現(xiàn)??紤]更多的是系統(tǒng)的結(jié)構(gòu)及其工作過程是否能達(dá)到系統(tǒng)設(shè)計規(guī)格書的要求。

下面以六進制計數(shù)器為例,說明一下如何用VHDL語言,以行為方式來描述它的工作特性。命名規(guī)則和注解的標(biāo)記VHDL語句中大小寫是沒有區(qū)別的,所有語句中用大寫字母或小寫字母都可以。但有兩種情況例外,這就是用單引號括起來的字符和用雙引號括起來的字符串,這時大寫字母和小寫字母是有區(qū)別的。

在VHDL語言中所使用的名字(名稱),如信號名、實體名,構(gòu)造體名、變量名等,在命名時應(yīng)遵守如下規(guī)則:

1)名字的最前面應(yīng)該是英文字母;

2)能使用的字符只有英文字母、數(shù)字和短下劃線“_”

3)不能連續(xù)使用“_”符號,在名字的最后也不能使用“_”

。

4)其注釋從兩個短劃線“--”符號開始到該項末尾(回車、換行符)結(jié)束。行為描述舉例

該段VHDL語言程序勾畫出了六進制計數(shù)器的輸入輸出引腳和內(nèi)部計數(shù)過程的計數(shù)狀態(tài)變化時序和關(guān)系。這實際上是計數(shù)器工作模型的描述。當(dāng)該程序仿真通過后,說明六進制計數(shù)器模型是正確的。在此基礎(chǔ)上再改寫該程序,使其語句表達(dá)式易于用邏輯元件來實現(xiàn)。這是第二層次所要做的工作。RTL(RegisterTranslation)方式描述

RTL方式描述稱為寄存器傳輸描述(又稱數(shù)據(jù)流描述)。如前所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽象程度高,是很難直接映射到具體邏輯元件結(jié)構(gòu)的硬件實現(xiàn)的。要想得到硬件的具體實現(xiàn),必須將行為方式描述的VHDL語言程序改寫為RTL方式描述的VHDL語言程序。也就是說,系統(tǒng)采用RTL方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進行邏輯綜合。當(dāng)然,這里所說的“可以”進行邏輯綜合是有條件的,它是針對某一特定的邏輯綜合工具而言的。

下面仍以六進制計數(shù)器為例,說明一下如何用VHDL語言,以RTL方式來描述它的工作特性。

在該例中,JK觸發(fā)器、D觸發(fā)器、與門和或非門都已在庫WORK.NEW.ALL中定義了,這里可以直接引用。例中的構(gòu)造體直接描述了它們之間的連接關(guān)系。與行為描述比較RTL方式描述更趨于實際電路的描述。

在把行為方式描述的程序改寫為RTL方式描述的程序時,編程人員必須深入了解邏輯綜合工具的詳細(xì)說明和具體規(guī)定,這樣才能編寫出合格的RTL方式描述的程序。在完成編寫RTL方式的描述程序以后,再用仿真工具對RTL方式描述的程序進行仿真。如果通過這一步仿真,那么就可以利用邏輯綜合工具進行綜合了。邏輯綜合(LogicSynthesis)

邏輯綜合這一階段是利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件(門級網(wǎng)絡(luò)表)。由邏輯綜合工具產(chǎn)生門級網(wǎng)絡(luò)表后,在最終完成硬件設(shè)計時,還可以有兩種選擇。第一種是由自動布線程序?qū)⒕W(wǎng)絡(luò)表轉(zhuǎn)換成相應(yīng)的ASIC芯片的制造工藝,做出ASIC芯片。第二種是將網(wǎng)絡(luò)表轉(zhuǎn)換成FPGA(現(xiàn)成可編程門陣列)的編程碼點,利用FPGA完成硬件電路設(shè)計。

結(jié)論:在用HDL語言設(shè)計系統(tǒng)硬件時,無論是設(shè)計一個局部電路,還是設(shè)計由多塊插件板組成的復(fù)雜系統(tǒng),上述自上至下的3個層次(的設(shè)計步驟是必不可少的。第一層次:行為描述。第二層次:RTL方式描述。第三層次:邏輯綜合。自上至下設(shè)計系統(tǒng)硬件的過程規(guī)格設(shè)計行為級描述行為級仿真RTL級描述RTL級仿真邏輯綜合、優(yōu)化門級仿真、定時檢查輸出門級網(wǎng)表

由設(shè)計過程可知,從總體行為設(shè)計開始到最終邏輯綜合,形成網(wǎng)絡(luò)表為止,每一步都要進行仿真檢查,這樣有利于盡早發(fā)現(xiàn)系統(tǒng)設(shè)計中存

溫馨提示

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

評論

0/150

提交評論