版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1.1 EDA技術(shù)的發(fā)展歷程 1.2 EDA技術(shù)的應(yīng)用 1.3 EDA技術(shù)的發(fā)展趨勢習(xí)題 1.1 EDA技術(shù)的發(fā)展歷程120世紀(jì)70年代的計(jì)算機(jī)輔助設(shè)計(jì)階段早期的電子系統(tǒng)硬件設(shè)計(jì)采用分立元件。隨著集成電路的出現(xiàn)和應(yīng)用,硬件設(shè)計(jì)進(jìn)入到大量選用中小規(guī)模標(biāo)準(zhǔn)集成電路階段。人們將這些器件焊接在電路板上,做成初級(jí)的電子系統(tǒng)。對電子系統(tǒng)的調(diào)試是在組裝好的印刷電路板(Printed Circuit Board,PCB)上進(jìn)行的。由于傳統(tǒng)的手工布圖方法無法滿足產(chǎn)品復(fù)雜性的要求,更不能滿足工作效率的要求,因而人們開始將產(chǎn)品設(shè)計(jì)過程中具有高度代表性的繁雜勞動(dòng)(如布圖布線工作)用二維圖形編輯與分析CAD工具替代,其
2、中最具代表性的產(chǎn)品就是美國ACCEL公司開發(fā)的Tango布線軟件。PCB布圖布線工具受到計(jì)算機(jī)工作平臺(tái)的制約,因此其支持的設(shè)計(jì)工作有限,且性能比較差。220世紀(jì)80年代的計(jì)算機(jī)輔助工程設(shè)計(jì)階段隨著微電子工藝的發(fā)展,相繼出現(xiàn)了集成上萬只晶體管的微處理器、集成幾十萬門到上百萬門儲(chǔ)存單元的隨機(jī)存儲(chǔ)器和只讀存儲(chǔ)器。此外,支持定制單元電路設(shè)計(jì)的硅編程、掩膜編程的門陣列,如標(biāo)準(zhǔn)單元的半定制設(shè)計(jì)方法以及可編程邏輯器件(PAL和GAL)等一系列微結(jié)構(gòu)和微電子學(xué)的研究成果,這些都為電子系統(tǒng)的設(shè)計(jì)開辟了新天地,使得可以用少數(shù)幾種通用的標(biāo)準(zhǔn)芯片實(shí)現(xiàn)電子系統(tǒng)的設(shè)計(jì)。伴隨著計(jì)算機(jī)和集成電路的發(fā)展,EDA技術(shù)進(jìn)入到計(jì)算機(jī)
3、輔助工程設(shè)計(jì)階段。20世紀(jì)80年代初推出的EDA工具以邏輯模擬、定時(shí)分析、故障仿真、自動(dòng)布局和布線為核心,重點(diǎn)解決電路設(shè)計(jì)完成之前的功能檢測等問題。利用這些工具,設(shè)計(jì)師能在產(chǎn)品制作之前預(yù)知產(chǎn)品的功能與性能,能生成產(chǎn)品制造文件。如果說20世紀(jì)70年代的自動(dòng)布局布線的CAD工具代替了設(shè)計(jì)工作中的繪圖和重復(fù)勞動(dòng),那么20世紀(jì)80年代出現(xiàn)的具有自動(dòng)綜合能力的CAED工具則替代了設(shè)計(jì)師的部分工作,對保證電子系統(tǒng)的設(shè)計(jì)、制造出最佳的電子產(chǎn)品起著關(guān)鍵的作用。到了20世紀(jì)80年代后期,EDA工具已經(jīng)可以進(jìn)行設(shè)計(jì)描述、綜合與優(yōu)化和設(shè)計(jì)結(jié)果驗(yàn)證。CAED階段的EDA工具不僅為成功開發(fā)電子產(chǎn)品創(chuàng)造了有利的條件,而且
4、為高級(jí)設(shè)計(jì)人員的創(chuàng)造性勞動(dòng)提供了方便。但此時(shí),大部分從原理圖出發(fā)的EDA工具仍然不能適應(yīng)復(fù)雜電子系統(tǒng)的設(shè)計(jì)要求,而具體化的元件圖形仍制約著對設(shè)計(jì)的優(yōu)化。320世紀(jì)90年代電子系統(tǒng)設(shè)計(jì)自動(dòng)化(EDA)階段為了滿足千差萬別的系統(tǒng)用戶提出的設(shè)計(jì)要求,最好的辦法是由用戶自己設(shè)計(jì)芯片,讓他們把所需的電路直接設(shè)計(jì)在自己的專用芯片上。微電子技術(shù)的發(fā)展,特別是可編程邏輯器件的發(fā)展,使得微電子廠家可以為用戶提供各種規(guī)模的可編程邏輯器件,使設(shè)計(jì)者能夠通過設(shè)計(jì)芯片來實(shí)現(xiàn)電子系統(tǒng)功能。EDA工具的發(fā)展,又為設(shè)計(jì)師提供了全線EDA工具。這個(gè)階段發(fā)展起來的EDA工具,目的是在設(shè)計(jì)前期將設(shè)計(jì)師從事的許多高層次設(shè)計(jì)工作由工具
5、來完成,如可以將用戶要求轉(zhuǎn)換為設(shè)計(jì)技術(shù)規(guī)范,有效地處理可用的設(shè)計(jì)資源與理想的設(shè)計(jì)目標(biāo)之間的矛盾,按具體的硬件、軟件和算法分解設(shè)計(jì)等。電子技術(shù)和EDA工具的發(fā)展,使設(shè)計(jì)師可以在不太長的時(shí)間內(nèi)使用EDA工具,通過一些簡單的、標(biāo)準(zhǔn)化的設(shè)計(jì)過程,利用微電子廠家提供的設(shè)計(jì)庫來完成數(shù)萬門ASIC和集成系統(tǒng)的設(shè)計(jì)與驗(yàn)證。20世紀(jì)90年代,設(shè)計(jì)師逐步從使用硬件轉(zhuǎn)向設(shè)計(jì)硬件,從單個(gè)電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級(jí)電子產(chǎn)品SOC(System on a chip,即片上系統(tǒng)集成)開發(fā)。因此,EDA工具是以系統(tǒng)級(jí)設(shè)計(jì)為核心,包括系統(tǒng)行為級(jí)描述與結(jié)構(gòu)綜合、系統(tǒng)仿真與測試驗(yàn)證、系統(tǒng)劃分與指標(biāo)分配、系統(tǒng)決策與文件生成等一整套的電子
6、系統(tǒng)設(shè)計(jì)自動(dòng)化工具。這時(shí)的EDA工具不僅具有電子系統(tǒng)設(shè)計(jì)的能力,而且能提供獨(dú)立于工藝和廠家的系統(tǒng)級(jí)設(shè)計(jì)能力,具有高級(jí)抽象的設(shè)計(jì)構(gòu)思手段,從而使電子系統(tǒng)設(shè)計(jì)更簡單,使電子系統(tǒng)設(shè)計(jì)不再是電子工程師的專利。1.2 EDA技術(shù)的應(yīng)用EDA技術(shù)在教學(xué)、科研、產(chǎn)品設(shè)計(jì)與制造等各方面都發(fā)揮著巨大的作用。在教學(xué)方面,幾乎所有理工科院校的電子信息類專業(yè)都開設(shè)了EDA課程,主要目的是讓學(xué)生了解EDA的基本概念和基本原理,掌握用HDL(Hardware Design Language)語言編寫規(guī)范的程序,掌握邏輯綜合的理論和算法,使用EDA工具進(jìn)行電子電路課程的實(shí)驗(yàn)并進(jìn)行簡單系統(tǒng)的設(shè)計(jì),為今后工作打下基礎(chǔ)。在科研方
7、面,主要利用電路仿真工具(EWB或Pspice)進(jìn)行電路設(shè)計(jì)與仿真,利用虛擬儀器進(jìn)行產(chǎn)品測試,將CPLD/FPGA器件實(shí)際應(yīng)用到儀器設(shè)備中,從事PCB設(shè)計(jì)和ASIC設(shè)計(jì)等。在產(chǎn)品設(shè)計(jì)與制造方面,EDA技術(shù)應(yīng)用于仿真、生產(chǎn)、測試等各個(gè)環(huán)節(jié),如PCB的制作、電子設(shè)備的研制與生產(chǎn)、電路板的焊接、運(yùn)用FPGA/CPLD進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)與制作、ASIC的流片過程,等等。EDA技術(shù)已經(jīng)應(yīng)用于各行各業(yè),在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域都有EDA技術(shù)的應(yīng)用。另外,EDA軟件的功能也日益強(qiáng)大。1.3 EDA技術(shù)的發(fā)展趨勢1.3.1 EDA工具的發(fā)展1設(shè)計(jì)輸入工具的發(fā)展趨勢早
8、期EDA工具的設(shè)計(jì)輸入普遍采用原理圖輸入方式,以文字和圖形作為設(shè)計(jì)載體和文件,將設(shè)計(jì)信息加載后,由后續(xù)的EDA工具完成設(shè)計(jì)分析工作。原理圖輸入方式的優(yōu)點(diǎn)是直觀,能滿足以設(shè)計(jì)分析為主的一般要求,但是原理圖輸入方式不適合用EDA綜合工具。20世紀(jì)80年代末,電子設(shè)計(jì)開始采用新的綜合工具,設(shè)計(jì)描述轉(zhuǎn)向以各種硬件描述語言為主的編程方式。用硬件描述語言描述設(shè)計(jì),更接近系統(tǒng)行為描述,且便于綜合,更適于傳遞、修改和設(shè)計(jì)信息,還可以建立獨(dú)立于工藝的設(shè)計(jì)文件。其不便之處是不太直觀,要求設(shè)計(jì)師學(xué)會(huì)編程。很多電子設(shè)計(jì)師都具有原理圖設(shè)計(jì)的經(jīng)驗(yàn),不具有編程經(jīng)驗(yàn),所以仍然希望繼續(xù)在比較熟悉的符號(hào)與圖形環(huán)境中完成設(shè)計(jì),而不
9、是利用編程完成設(shè)計(jì)。為此,EDA工具軟件公司在20世紀(jì)90年代相繼推出一批圖形化免編程的設(shè)計(jì)輸入工具,允許設(shè)計(jì)師用他們最熟悉的設(shè)計(jì)方式,如框圖、狀態(tài)圖、真值表和邏輯方程建立設(shè)計(jì)文件,然后由EDA工具自動(dòng)生成綜合所需的硬件描述語言文件。2具有混合信號(hào)處理能力的EDA工具目前,數(shù)字電路設(shè)計(jì)的EDA工具比模擬集成電路的EDA工具多。模擬集成電路EDA工具開發(fā)的難度較大,但實(shí)現(xiàn)高性能復(fù)雜電子系統(tǒng)的設(shè)計(jì)還離不開模擬信號(hào),因此,20世紀(jì)90年代以來,EDA工具廠商都比較重視數(shù)/?;旌闲盘?hào)設(shè)計(jì)工具的開發(fā)。具有混合信號(hào)設(shè)計(jì)能力的EDA工具能處理含有數(shù)字信號(hào)處理、專用集成電路宏單元、數(shù)/模變換模塊、各種壓控振蕩
10、器在內(nèi)的混合系統(tǒng)設(shè)計(jì)。美國Cadence、Synopsys等公司開發(fā)的EDA工具軟件就具有這種混合系統(tǒng)設(shè)計(jì)能力。3仿真工具的發(fā)展在整個(gè)電子設(shè)計(jì)過程中,仿真是花費(fèi)時(shí)間最多,同時(shí)也是占用EDA工具資源最多的一個(gè)環(huán)節(jié)。通常,設(shè)計(jì)的大量工作都是在進(jìn)行仿真,如驗(yàn)證設(shè)計(jì)的有效性、測試設(shè)計(jì)的精度和保證設(shè)計(jì)的要求等。提高仿真的有效性一方面應(yīng)建立合理的仿真算法,另一方面應(yīng)在系統(tǒng)級(jí)仿真中建立系統(tǒng)級(jí)模型,在電路級(jí)仿真中建立電路級(jí)模型。預(yù)計(jì)在下一代的EDA工具中,仿真工具還會(huì)有較大的發(fā)展。4綜合工具的開發(fā)隨著電子系統(tǒng)和電路的集成規(guī)模越來越大,已不可能直接面向版圖做設(shè)計(jì),且要找出設(shè)計(jì)中的錯(cuò)誤也更加困難。將設(shè)計(jì)者從繁瑣的
11、版圖設(shè)計(jì)和分析工作中轉(zhuǎn)移到設(shè)計(jì)前期的算法開發(fā)和功能驗(yàn)證上,這是設(shè)計(jì)綜合工具要達(dá)到的目的。高層次綜合工具可以將低層次的硬件設(shè)計(jì)一起轉(zhuǎn)換到物理級(jí)的設(shè)計(jì),實(shí)現(xiàn)不同層次、不同形式的設(shè)計(jì)描述轉(zhuǎn)換,通過各種綜合算法實(shí)現(xiàn)設(shè)計(jì)目標(biāo)所規(guī)定的優(yōu)化設(shè)計(jì)。設(shè)計(jì)者的經(jīng)驗(yàn)在設(shè)計(jì)綜合中起重要作用,自動(dòng)綜合工具將有效地提高優(yōu)化設(shè)計(jì)效率。綜合工具由最初的只能實(shí)現(xiàn)邏輯綜合,逐步發(fā)展到可以實(shí)現(xiàn)設(shè)計(jì)前端的綜合,直到設(shè)計(jì)后端的版圖綜合以及測試綜合的理想且完整的綜合工具。設(shè)計(jì)前端的綜合工具可以實(shí)現(xiàn)從算法級(jí)的行為描述到寄存器傳輸級(jí)結(jié)構(gòu)描述的轉(zhuǎn)換,給出滿足約束條件的硬件結(jié)構(gòu)。在確定寄存器傳輸結(jié)構(gòu)描述后,由邏輯綜合工具完成硬件門級(jí)結(jié)構(gòu)的描述,
12、邏輯綜合后的結(jié)果作為版圖綜合的輸入數(shù)據(jù),進(jìn)行版圖綜合。版圖綜合將門級(jí)和電路級(jí)的結(jié)構(gòu)描述轉(zhuǎn)換成物理版圖的描述,通過自動(dòng)交互的設(shè)計(jì)環(huán)境,實(shí)現(xiàn)按面積、速度和功率完成布局布線的優(yōu)化,實(shí)現(xiàn)最佳的版圖設(shè)計(jì)。將設(shè)計(jì)測試工作提前到設(shè)計(jì)前期,可以縮短設(shè)計(jì)周期,減少測試費(fèi)用。測試綜合貫穿整個(gè)設(shè)計(jì)過程,可以消除設(shè)計(jì)小的冗余邏輯,診斷不可測的邏輯結(jié)構(gòu),自動(dòng)插入可測性結(jié)構(gòu),生成測試向量。隨著電子產(chǎn)品市場的飛速發(fā)展,電子設(shè)計(jì)人員需要更加實(shí)用、快捷的EDA工具,使用統(tǒng)一的集成化設(shè)計(jì)環(huán)境,改變傳統(tǒng)設(shè)計(jì)思路,即優(yōu)先考慮具體物理實(shí)現(xiàn)方式,將精力集中到設(shè)計(jì)構(gòu)思、方案比較和尋找優(yōu)化設(shè)計(jì)等方面,以最快的速度開發(fā)出性能好、質(zhì)量高的電子產(chǎn)
13、品。1.3.2 EDA硬件載體的發(fā)展方向EDA技術(shù)的硬件載體在本書中指的是可編程邏輯器件,它已經(jīng)成為當(dāng)今世界最具吸引力的半導(dǎo)體器件,在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中扮演著越來越重要的角色。其未來的發(fā)展方向包括以下幾個(gè)方面:(1) 向密度更高、速度更快、頻帶更寬的百萬門方向發(fā)展。例如,Xilinx的XC4036XV系統(tǒng)的產(chǎn)品其工作速度可以達(dá)到1 GHz,Virtex FPGA是100萬門的系統(tǒng)級(jí)器件,ALTERA也已經(jīng)推出250萬門以上的可編輯邏輯芯片。(2) 向系統(tǒng)內(nèi)可重構(gòu)的方向發(fā)展。系統(tǒng)內(nèi)可重構(gòu)是指可編輯芯片在置入用戶系統(tǒng)后仍具有改變其內(nèi)部功能的能力。采用系統(tǒng)內(nèi)可重構(gòu)技術(shù),使得系統(tǒng)內(nèi)硬件的功能可以像軟件
14、那樣通過編程來配置,從而在電子系統(tǒng)中引入“軟硬件”的全新概念,不僅使電子系統(tǒng)的設(shè)計(jì)和產(chǎn)品性能的改進(jìn)擴(kuò)充變得十分簡便,還使新一代電子系統(tǒng)具有極強(qiáng)的靈活性和適應(yīng)性,為許多復(fù)雜信號(hào)的處理及信息加工的實(shí)現(xiàn)提供了新的思路和方法。(3) 向混合可編程器件技術(shù)發(fā)展。目前運(yùn)用EDA技術(shù)設(shè)計(jì)的電路主要是數(shù)字電路,在未來幾年內(nèi)這一局面將會(huì)有所改變,模擬電路及數(shù)模混合電路的可編程技術(shù)將有所發(fā)展。比如美國Lattice于1999年底推出的ispPAC,就允許設(shè)計(jì)者使用開發(fā)軟件在計(jì)算機(jī)中設(shè)計(jì)、修改模擬電路,進(jìn)行電路特性模擬仿真,最后通過編程電纜將設(shè)計(jì)方案下載至芯片中。ispPAC可以實(shí)現(xiàn)三種功能:信號(hào)調(diào)理(對信號(hào)放大、
15、衰減、濾波),信號(hào)處理(對信號(hào)進(jìn)行求和、求差、積分運(yùn)算),信號(hào)轉(zhuǎn)換(將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào))。(4) 向低電壓、低功耗的綠色元件發(fā)展。集成技術(shù)的發(fā)展,工藝水平的不斷提高,也使得可編輯芯片的工作電壓正在逐漸降低,功耗在不斷減少。Philips的XPLA1系列CPLD芯片,其功耗就是普通芯片的1/1000??偟膩碚f,EDA的發(fā)展趨勢表現(xiàn)在如下幾個(gè)方面:(1) 超大規(guī)模集成電路的集成度和工藝水平不斷提高,深亞微米工藝走向成熟,使片上系統(tǒng)設(shè)計(jì)成為可能。(2) 市場對電子產(chǎn)品提出更高的要求,如降低電子系統(tǒng)的成本、減小系統(tǒng)的體積等,從而對系統(tǒng)的集成度不斷提出更高的要求。(3) 高性能的EDA工具得到長足
16、發(fā)展,自動(dòng)化和智能化程度不斷提高,為嵌入式系統(tǒng)設(shè)計(jì)提供功能強(qiáng)大的開發(fā)環(huán)境。(4) 計(jì)算機(jī)硬件設(shè)計(jì)平臺(tái)性能大幅度提高,為復(fù)雜的片上系統(tǒng)提供了物理基礎(chǔ)。習(xí) 題1.1 一般把EDA技術(shù)的發(fā)展分為哪幾個(gè)階段?1.2 簡述EDA技術(shù)的應(yīng)用。1.3 簡述EDA技術(shù)的發(fā)展趨勢。1.4 簡述EDA工具的發(fā)展。1.5 敘述可編輯邏輯器件的發(fā)展方向。2.1 傳統(tǒng)的設(shè)計(jì)方法 2.2 現(xiàn)代的設(shè)計(jì)方法 2.3 EDA設(shè)計(jì)過程 2.4 在系統(tǒng)編程技術(shù) 2.5 EDA工具軟件介紹 2.6 實(shí)訓(xùn):運(yùn)用圖形法設(shè)計(jì)3-8譯碼器 習(xí)題 2.1 傳統(tǒng)的設(shè)計(jì)方法由底向上的設(shè)計(jì)方法其主要步驟是:根據(jù)系統(tǒng)對硬件的要求詳細(xì)編制技術(shù)規(guī)格書,畫
17、出系統(tǒng)控制流程圖,對系統(tǒng)的功能進(jìn)行細(xì)化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;進(jìn)行各功能模塊的細(xì)化和電路設(shè)計(jì);各功能模塊設(shè)計(jì)、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進(jìn)行系統(tǒng)的調(diào)試,最后完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。其設(shè)計(jì)過程大致如圖2-1所示。圖2-1 由底向上的設(shè)計(jì)方法流程圖由底向上的硬件設(shè)計(jì)方法有如下幾個(gè)特征:(1) 設(shè)計(jì)的方向是自底至上,先設(shè)計(jì)最小的單元電路。使用該方法進(jìn)行硬件設(shè)計(jì)首先要選擇具體的元器件,并用這些元器件進(jìn)行邏輯電路設(shè)計(jì),從而完成系統(tǒng)的硬件設(shè)計(jì),然后再將各功能模塊連接起來,完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。(2) 采用通用邏輯元器件,通常采用74系列或CMOS4000系列的產(chǎn)品進(jìn)
18、行設(shè)計(jì)。(3) 在系統(tǒng)硬件設(shè)計(jì)的后期進(jìn)行調(diào)試和仿真。只有在部分或全部硬件電路連接完成后,才可以進(jìn)行電路調(diào)試,一旦考慮不周到,系統(tǒng)設(shè)計(jì)存在較大缺陷,則要重新設(shè)計(jì),使設(shè)計(jì)周期延長。(4) 設(shè)計(jì)結(jié)果是多張電路圖。設(shè)計(jì)調(diào)試完畢形成電路原理圖,該圖包括元器件型號(hào)和信號(hào)之間的互連關(guān)系等。由底向上的設(shè)計(jì)方法是傳統(tǒng)的IC和PCB的設(shè)計(jì)方法。采用由底向上的設(shè)計(jì)方法需要設(shè)計(jì)者先定義和設(shè)計(jì)每個(gè)基本模塊,然后對這些模塊進(jìn)行連線以完成整體設(shè)計(jì)。在IC設(shè)計(jì)復(fù)雜程度低于10 000門時(shí),常采用這種設(shè)計(jì)方法,但是隨著設(shè)計(jì)復(fù)雜程度的增加,該方法會(huì)產(chǎn)生產(chǎn)品生產(chǎn)周期長、可靠性低、開發(fā)費(fèi)用高等問題。2.2 現(xiàn)代的設(shè)計(jì)方法EDA技術(shù)采
19、用現(xiàn)代的設(shè)計(jì)方法自頂向下的設(shè)計(jì)方法。這種設(shè)計(jì)方法綜合運(yùn)用各方面的知識(shí),設(shè)計(jì)者必須從系統(tǒng)的角度來分析每個(gè)設(shè)計(jì),同時(shí)還要對數(shù)字電路結(jié)構(gòu)、EDA工具、微電子等有關(guān)知識(shí)有比較全面的了解,這樣才能發(fā)揮自頂向下設(shè)計(jì)的優(yōu)勢,提高電路設(shè)計(jì)的質(zhì)量和效率。在進(jìn)行自頂向下的設(shè)計(jì)時(shí),仿真和綜合只是系統(tǒng)實(shí)現(xiàn)的手段,要成功完成一個(gè)復(fù)雜系統(tǒng)的設(shè)計(jì),不僅要熟練使用先進(jìn)的高層次設(shè)計(jì)工具,還要對系統(tǒng)本身有正確理解。采用自頂向下技術(shù)進(jìn)行設(shè)計(jì)可分為三個(gè)主要階段:系統(tǒng)設(shè)計(jì)、系統(tǒng)的綜合優(yōu)化和系統(tǒng)實(shí)現(xiàn),各個(gè)階段之間并沒有絕對的界限。圖2-2是一個(gè)完整的自頂向下的設(shè)計(jì)流程。圖2-2 自頂向下設(shè)計(jì)流程2.2.1 系統(tǒng)設(shè)計(jì)1系統(tǒng)功能分析進(jìn)行系統(tǒng)
20、功能分析的目的是在進(jìn)行系統(tǒng)設(shè)計(jì)之前明確系統(tǒng)的需求,也就是確定系統(tǒng)所要完成的功能、系統(tǒng)的輸入輸出以及輸入輸出之間的關(guān)系等,并且要確定系統(tǒng)的時(shí)序要求。系統(tǒng)功能分析的另外一個(gè)目的就是進(jìn)行系統(tǒng)的模塊劃分。在系統(tǒng)分析時(shí),應(yīng)根據(jù)功能的耦合程度,將系統(tǒng)劃分為不同的功能模塊,每一個(gè)功能都映射到一個(gè)模塊,同時(shí)還需要確定模塊之間的相互關(guān)系,這是模塊化設(shè)計(jì)的基本要求。2體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)階段最重要的工作,它的首要任務(wù)就是數(shù)據(jù)通路和控制通路的設(shè)計(jì)。在數(shù)字系統(tǒng)設(shè)計(jì)中,系統(tǒng)的控制是建立在數(shù)據(jù)通路基礎(chǔ)之上的,不同的數(shù)據(jù)通路對應(yīng)了不同的控制通路。數(shù)據(jù)通路的設(shè)計(jì)包括被處理數(shù)據(jù)的類型分析、處理單元的劃分以及處
21、理單元之間的關(guān)聯(lián)程度等??刂仆肥菙?shù)據(jù)通路上數(shù)據(jù)傳輸?shù)目刂茊卧糜趨f(xié)調(diào)數(shù)據(jù)處理單元之間的關(guān)系。控制通路的設(shè)計(jì)主要包括數(shù)據(jù)的調(diào)度、數(shù)據(jù)的處理算法和正確的時(shí)序安排。數(shù)據(jù)通路和控制通路的設(shè)計(jì)并不是截然分開的,有時(shí)在確定好數(shù)據(jù)通路后,由于時(shí)序或數(shù)據(jù)調(diào)度等問題,而不得不重新修改數(shù)據(jù)通路。一般來說,數(shù)據(jù)通路與控制通路的設(shè)計(jì)往往要經(jīng)過多次反復(fù)才能達(dá)到最優(yōu)效果。3系統(tǒng)描述所謂系統(tǒng)描述,也就是使用HDL語言對系統(tǒng)進(jìn)行編碼。在進(jìn)行大型軟件的開發(fā)時(shí),編碼與前面所進(jìn)行的系統(tǒng)劃分工作相比就顯得不那么重要了,但在使用硬件描述語言進(jìn)行數(shù)字電路描述時(shí),情況則完全不同,因?yàn)檎Z言的描述直接決定著電路的性能,不好的編碼將無法反映
22、所確定的體系結(jié)構(gòu),可能導(dǎo)致前面所做的工作完全被浪費(fèi)。4系統(tǒng)功能仿真系統(tǒng)功能仿真用于檢查設(shè)計(jì)者所編寫的硬件描述語言代碼是否完成了預(yù)定的功能。幾乎所有的高層設(shè)計(jì)軟件都支持語言級(jí)的系統(tǒng)仿真,這樣在系統(tǒng)綜合前就可以通過系統(tǒng)功能仿真來驗(yàn)證所設(shè)計(jì)系統(tǒng)的功能正確與否。2.2.2 系統(tǒng)綜合優(yōu)化1系統(tǒng)的綜合優(yōu)化綜合器對系統(tǒng)的綜合優(yōu)化主要分為兩步:第一步將硬件描述語言翻譯成門電路;第二步對產(chǎn)生的電路進(jìn)行優(yōu)化。綜合優(yōu)化的主要工作是在第二步進(jìn)行的,判斷一個(gè)綜合器性能的標(biāo)準(zhǔn)也基于這一步。系統(tǒng)優(yōu)化的目的就是花費(fèi)最少的硬件資源滿足最大的時(shí)序要求,所以系統(tǒng)優(yōu)化就是在系統(tǒng)的速度和面積之間找到一個(gè)最佳方案。系統(tǒng)優(yōu)化的關(guān)鍵在于系統(tǒng)
23、約束條件的設(shè)定,施加到系統(tǒng)的約束條件將使綜合器對系統(tǒng)的優(yōu)化按照設(shè)計(jì)者期望的目標(biāo)進(jìn)行。2門級(jí)仿真綜合工具可以從綜合優(yōu)化后的電路中提取出系統(tǒng)門級(jí)描述的硬件描述語言文件,該文件內(nèi)不僅包含了完成系統(tǒng)功能所需的元件信息,而且也包含了電路元件的一些時(shí)序信息,但不包含元件之間的連線信息。門級(jí)仿真比功能仿真可以更精確地反映電路的時(shí)序特性,經(jīng)過門級(jí)仿真的電路通過布局布線后仿真的可能性增大。進(jìn)行ASIC設(shè)計(jì)時(shí),在生產(chǎn)廠家的工藝庫上布局布線的流程較為繁瑣,進(jìn)行門級(jí)仿真可以在進(jìn)行布局布線之前最大限度地發(fā)現(xiàn)問題而節(jié)省時(shí)間。如果進(jìn)行布局布線后時(shí)序仿真的條件便利,很多情況下就不需要進(jìn)行門級(jí)仿真工作了。比如在使用可編程器件(
24、FPGA或CPLD)實(shí)現(xiàn)電路時(shí),設(shè)計(jì)者可以相對地獲得布局布線后提取出的延時(shí)信息文件,這樣就不需要再進(jìn)行門級(jí)仿真了。2.2.3 系統(tǒng)實(shí)現(xiàn)如果系統(tǒng)綜合優(yōu)化的結(jié)果滿足設(shè)計(jì)者的要求,就可以進(jìn)行系統(tǒng)實(shí)現(xiàn)了,設(shè)計(jì)者可以將綜合后的電路的網(wǎng)表文件和設(shè)計(jì)者的時(shí)序要求交給IC生產(chǎn)廠家進(jìn)行下一步的工作,也可以通過EDA工具軟件對FPGA/CPLD芯片進(jìn)行配置與編程。2.3 EDA設(shè)計(jì)過程上一節(jié)介紹了現(xiàn)代電路設(shè)計(jì)的流程,這一節(jié)介紹運(yùn)用EDA技術(shù)進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)的過程。完整地了解EDA技術(shù)進(jìn)行設(shè)計(jì)開發(fā)的流程對于正確選擇和使用EDA軟件、優(yōu)化設(shè)計(jì)項(xiàng)目、提高設(shè)計(jì)效率十分有益。一個(gè)完整的、典型的EDA設(shè)計(jì)流程既是自頂向下設(shè)計(jì)
25、方法的具體實(shí)施途徑,也是EDA工具軟件本身的組成結(jié)構(gòu)。在實(shí)踐中進(jìn)一步了解這一設(shè)計(jì)流程的諸多設(shè)計(jì)工具,有利于有效地排除設(shè)計(jì)中出現(xiàn)的問題,提高設(shè)計(jì)質(zhì)量和總結(jié)設(shè)計(jì)經(jīng)驗(yàn)。圖2-3是運(yùn)用EDA技術(shù)進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)的流程圖。由圖2-3知,可以把EDA設(shè)計(jì)流程分為:設(shè)計(jì)輸入、時(shí)序與功能仿真、綜合、適配與下載。圖2-3 EDA設(shè)計(jì)流程圖2.3.1 設(shè)計(jì)輸入1圖形輸入圖形輸入通常包括原理圖輸入、狀態(tài)圖輸入和波形圖輸入三種方法。狀態(tài)圖輸入方法根據(jù)電路的控制條件和不同的轉(zhuǎn)換方式,用繪圖的方式在EDA工具的狀態(tài)圖編輯器上繪出狀態(tài)圖,然后由EDA編譯器和綜合器將此狀態(tài)變化流程圖編輯綜合成電路網(wǎng)表。波形圖輸入方法則將待設(shè)
26、計(jì)的電路看成是一個(gè)黑盒子,該黑盒子電路的輸入和輸出是時(shí)序波形圖,EDA工具能據(jù)此完成黑盒子電路的設(shè)計(jì)。原理圖輸入是EDA設(shè)計(jì)中最常用的方式,類似于傳統(tǒng)電子設(shè)計(jì)的原理圖輸入方法,即在EDA軟件的圖形編輯界面中繪制能完成特定功能的電路原理圖。原理圖由邏輯器件(符號(hào))和連線構(gòu)成,圖中的邏輯器件可以是EDA軟件庫中預(yù)制的功能模塊,如與門、非門、或門、觸發(fā)器以及各種74系列器件功能的宏功能塊,也可以調(diào)用由HDL語言編寫的程序電路,把該程序電路看成一個(gè)電路符號(hào)進(jìn)行調(diào)用。原理圖編輯繪制完成后,原理圖編輯器將對輸入的圖形文件進(jìn)行排錯(cuò),之后再將其編譯成適用于邏輯綜合的網(wǎng)表文件。用原理圖輸入的優(yōu)點(diǎn)是顯而易見的:(
27、1) 設(shè)計(jì)者進(jìn)行電子線路設(shè)計(jì)不需要增加新的相關(guān)知識(shí),如HDL語言等。(2) 方法與Protel作圖相似,設(shè)計(jì)過程形象直觀,適用于初學(xué)與演示。(3) 對于較小的電路模型,其結(jié)構(gòu)與實(shí)際電路十分接近,設(shè)計(jì)者易于把握電路全局。(4) 由于設(shè)計(jì)方式接近于底層電路布局,因而易于控制邏輯資源的使用,節(jié)省面積。然而,使用原理圖輸入也存在以下缺點(diǎn):(1) 圖形設(shè)計(jì)方式并沒有得到標(biāo)準(zhǔn)化,不同的EDA軟件中的圖形文件兼容性差,難以交換與管理。(2) 隨著電路設(shè)計(jì)規(guī)模的擴(kuò)大,原理圖輸入描述方式必然引起一系列難以克服的困難,如電路功能原理的易讀性下降,錯(cuò)誤排查困難,整體調(diào)整和結(jié)構(gòu)升級(jí)困難等。(3) 由于圖形文件的不兼容
28、性,使性能優(yōu)秀的電路模塊的再利用十分困難,這是圖形輸入應(yīng)用的最大障礙。一般在數(shù)字電子系統(tǒng)設(shè)計(jì)中采用原理圖與硬件描述語言共同輸入的方式,頂層系統(tǒng)文件采用原理圖輸入,而各個(gè)子模塊采用硬件描述語言輸入。2硬件描述語言(HDL)輸入隨著EDA技術(shù)的發(fā)展,使用硬件語言設(shè)計(jì)CPLD/FPGA成為一種趨勢。目前最主要的硬件描述語言是VHDL和Verilog HDL。VHDL發(fā)展較早,語法嚴(yán)格,而Verilog HDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由。VHDL和Verilog HDL兩者相比,VHDL的書寫規(guī)則比Verilog煩瑣一些,但Verilog HDL自由的語法也容易讓少數(shù)初學(xué)
29、者出錯(cuò)。國外電子專業(yè)很多會(huì)在本科階段教授VHDL,在研究生階段教授Verilog HDL。國內(nèi)VHDL的參考書很多,便于查找資料,而Verilog HDL的參考書相對較少,這給學(xué)習(xí)Verilog HDL帶來一些困難。從EDA技術(shù)的發(fā)展上看,已出現(xiàn)用于CPLD/FPGA設(shè)計(jì)的硬件C語言編譯軟件,雖然還不成熟,應(yīng)用極少,但它有可能會(huì)成為繼VHDL和Verilog HDL之后,設(shè)計(jì)大規(guī)模CPLD/FPGA的又一種手段。HDL輸入方式與傳統(tǒng)的計(jì)算機(jī)軟件語言編輯輸入基本一致,它使用了某種硬件描述語言的電路設(shè)計(jì)文本(如VHDL、Verilog HDL及AHDL)進(jìn)行編輯輸入??梢哉f,HDL輸入方法克服了原
30、理圖輸入法存在的所有弊端,為EDA技術(shù)的應(yīng)用和發(fā)展打開一個(gè)廣闊的天地。目前有些EDA輸入工具可以把圖形輸入與HDL輸入的優(yōu)勢結(jié)合起來,如狀態(tài)圖輸入編輯方式即用圖形化狀態(tài)機(jī)輸入工具,用圖形的方式表示狀態(tài)圖,在填好時(shí)鐘信號(hào)名、狀態(tài)轉(zhuǎn)換條件、狀態(tài)機(jī)類型等要素后,就可自動(dòng)生成VHDL/Verilog HDL程序。又如,在原理圖輸入方式中,先用VHDL描述的各個(gè)電路模塊,直觀地表示系統(tǒng)的總體框架,再用自動(dòng)HDL生成工具生成相應(yīng)的VHDL或Verilog HDL程序,但總體上看,純粹的HDL輸入仍然是最基本、最有效和最通用的輸入方法。1) VHDL輸入VHDL(Very-high-speed Integr
31、ated Circuit Hardware Description Language)誕生于1982年,1987年底被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。此后,VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的應(yīng)用,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本(簡稱93版)?,F(xiàn)在,VHDL和Ver
32、ilog HDL作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,同樣得到眾多EDA公司的支持,在電子工程領(lǐng)域已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL與Verilog HDL語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì)(或稱設(shè)計(jì)實(shí)體,可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分及端口)和內(nèi)部(或稱不可視部分),即涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一
33、旦其內(nèi)部開發(fā)完成,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)、外兩部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基礎(chǔ)。2) Verilog HDL輸入早期的硬件描述語言是以一種高級(jí)語言為基礎(chǔ),加上一些特殊的約定而產(chǎn)生的,目的是為了實(shí)現(xiàn)RTL級(jí)仿真,用以驗(yàn)證設(shè)計(jì)的正確性,而不必像傳統(tǒng)的手工設(shè)計(jì)過程那樣,必須等到完成樣機(jī)后才能進(jìn)行實(shí)測和調(diào)試。Verilog HDL是在使用最廣泛的C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分
34、析工具。1985年,Moorby推出它的第三個(gè)商用仿真器Verilog-XL,獲得了巨大的成功,從而使得Verilog HDL迅速得到推廣應(yīng)用。1989年,Cadence公司收購了GDA公司,使得Verilog HDL成為了該公司的獨(dú)家專利。1990年,Cadence公司公開發(fā)表了Verilog HDL,并成立了LVI組織以促進(jìn)Verilog HDL成為IEEE標(biāo)準(zhǔn),即IEEE Standard 1364-1995。Verilog HDL的最大特點(diǎn)就是易學(xué)易用,如果有C語言的編程經(jīng)驗(yàn),設(shè)計(jì)者可以在較短的時(shí)間內(nèi)學(xué)習(xí)和掌握Verilog HDL,因而可以把Verilog HDL安排在與ASIC設(shè)計(jì)
35、等相關(guān)的課程內(nèi)進(jìn)行講授。由于HDL語言本身是專門面向硬件與系統(tǒng)設(shè)計(jì)的,因而這樣的安排可以使學(xué)習(xí)者同時(shí)獲得設(shè)計(jì)實(shí)際電路的經(jīng)驗(yàn)。與之相比,VHDL的學(xué)習(xí)要困難一些。3) ABEL-HDL輸入這是一種早期的硬件描述語言,在可編程邏輯器件的設(shè)計(jì)中可以方便、準(zhǔn)確地描述所設(shè)計(jì)電路的邏輯功能。ABEL-HDL支持邏輯電路的多種表達(dá)形式,其中包括邏輯方程、真值表和狀態(tài)圖。ABEL語言和Verilog語言同屬一種描述級(jí)別,但ABEL語言的特性受支持的程度遠(yuǎn)遠(yuǎn)不如 Verilog。Verilog是從集成電路設(shè)計(jì)發(fā)展而來的,語言較為成熟,支持的EDA工具很多,而ABEL語言從早期可編程邏輯器件(PLD)的設(shè)計(jì)中發(fā)展
36、而來。ABEL-HDL被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計(jì),由于其語言描述的獨(dú)立性,因而適用于各種不同規(guī)模的可編程器的設(shè)計(jì)。 如DOS版的ABEL3.0軟件可對包括GAL進(jìn)行全方位的邏輯描述和設(shè)計(jì),而在諸如Lattice的ispEXPERT、DATAIO的Synario、Vantis的Design-Direct、Xilinx的Foundation和WebPack等EDA軟件中,ABEL-HDL同樣可用于較大規(guī)模的FPGA/CPLD器件功能設(shè)計(jì)。ABEL-HDL還能對所設(shè)計(jì)的邏輯系統(tǒng)進(jìn)行功能仿真。ABEL-HDL設(shè)計(jì)也能通過標(biāo)準(zhǔn)格式轉(zhuǎn)換文件轉(zhuǎn)換至其他設(shè)計(jì)環(huán)境,如VHDL、Verilog-H
37、DL等。從長遠(yuǎn)來看,ABEL-HDL只會(huì)在較小的范圍內(nèi)繼續(xù)存在。4) AHDL輸入AHDL(ALTERA HDL)是ALTERA公司發(fā)明的硬件描述語言,特點(diǎn)是非常易學(xué)易用,學(xué)過高級(jí)語言的人可以在很短的時(shí)間(如幾周)內(nèi)掌握AHDL。它的缺點(diǎn)是移植性不好,通常只用于ALTERA自己的開發(fā)系統(tǒng)中。2.3.2 綜合過程一般來說,綜合過程是僅對于HDL而言的。利用HDL綜合器對設(shè)計(jì)進(jìn)行綜合是十分重要的一步,因?yàn)榫C合過程是連接軟件設(shè)計(jì)的HDL描述與硬件實(shí)現(xiàn)的一座橋梁。綜合就是將電路的高級(jí)語言(如行為描述)轉(zhuǎn)換成低級(jí)的、可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序。當(dāng)輸入的HDL文件在EDA工具中
38、檢測無誤后,首先面臨的是邏輯綜合,因此要求HDL源文件中的語句都是可綜合的。在綜合之后,HDL綜合器一般都可以生成一種或多種文件格式網(wǎng)表文件,如有EDIF、VHDL、Verilog等標(biāo)準(zhǔn)格式,在這種網(wǎng)表文件中用各自的格式描述電路的結(jié)構(gòu),如在VHDL網(wǎng)表文件中采用VHDL的語法,用結(jié)構(gòu)描述的風(fēng)格重新詮釋綜合后的電路結(jié)構(gòu)。整個(gè)綜合過程就是將設(shè)計(jì)者在EDA平臺(tái)上編輯輸入的HDL文本、原理圖或狀態(tài)圖形描述,依據(jù)給定的硬件結(jié)構(gòu)組件和約束控制條件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門級(jí)電路甚至更底層的電路描述網(wǎng)表文件。由此可見,綜合器工作前,必須給定最后實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬
39、件結(jié)構(gòu)用某種網(wǎng)表文件的方式對應(yīng)起來,成為相應(yīng)的映射關(guān)系。如果把綜合理解為映射過程,那么顯然這種映射不是惟一的,并且綜合也不是單純的或一個(gè)方向的。為達(dá)到速度、面積、性能的要求,往往需要對綜合加以約束,稱為綜合約束。2.3.3 適配器適配器也稱結(jié)構(gòu)綜合器,它的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件,如JEDEC、Jam格式的文件。適配器所選定的目標(biāo)器件(FPGA/ CPLD芯片)必須屬于原綜合器指定的目標(biāo)器件系列。通常,EDA軟件中的綜合器可由專業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應(yīng)商提供,因?yàn)檫m配器的適配對象直接與器件的結(jié)構(gòu)細(xì)節(jié)相對應(yīng)
40、。邏輯綜合通過后必須利用適配器將綜合后的網(wǎng)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯布局布線操作。適配完成后可以利用適配所產(chǎn)生的仿真文件進(jìn)行精確的時(shí)序仿真,同時(shí)產(chǎn)生可用于編程的文件。2.3.4 時(shí)序仿真與功能仿真在編程下載前必須利用EDA工具對適配生成的結(jié)果進(jìn)行模擬測試,這就是仿真。仿真就是讓計(jì)算機(jī)根據(jù)一定的算法和一定的仿真庫對EDA設(shè)計(jì)進(jìn)行模擬,以驗(yàn)證設(shè)計(jì),排除錯(cuò)誤。仿真是EDA設(shè)計(jì)過程中的重要步驟。時(shí)序與功能仿真通常由PLD公司的EDA開發(fā)工具直接提供,也可以選用第三方的專業(yè)仿真工具。1時(shí)序仿真時(shí)序仿真是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件
41、的硬件特性參數(shù),因此仿真精度高。但時(shí)序仿真的仿真文件必須來自針對具體器件的綜合器與適配器。綜合后所得到的EDIF等網(wǎng)表文件通常作為FPGA適配器的輸入文件,產(chǎn)生的仿真網(wǎng)表文件中包含了精確的硬件延遲信息。2功能仿真功能仿真是指直接對VHDL、原理圖描述或其他描述形式的邏輯功能進(jìn)行功能模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)要求,仿真過程不涉及任何具體器件的硬件,不經(jīng)歷綜合與適配階段,在設(shè)計(jì)項(xiàng)目編輯編譯后即可進(jìn)入門級(jí)仿真器進(jìn)行模擬測試。直接進(jìn)行功能仿真的好處是設(shè)計(jì)耗時(shí)短,對硬件庫、綜合器等沒有任何要求。對于規(guī)模比較大的設(shè)計(jì)項(xiàng)目,綜合與適配是非常耗時(shí)的,比如每一次修改后的模擬都必須進(jìn)行時(shí)序仿真,顯然極
42、大地降低開發(fā)效率。因此,通常的做法是:首先進(jìn)行功能仿真,待確認(rèn)設(shè)計(jì)文件所表達(dá)的功能滿足設(shè)計(jì)者原有意圖,即邏輯功能滿足要求后,再進(jìn)行綜合、適配和時(shí)序仿真,以便把握設(shè)計(jì)項(xiàng)目在硬件條件下的運(yùn)行情況。2.3.5 編程下載適配后生成的下載或配置文件通過編程器或編程電纜向FPGA或CPLD進(jìn)行下載,以便進(jìn)行硬件調(diào)試和驗(yàn)證(Hardware Debugging)。通常,將對CPLD的下載稱為編程(Program),對FPGA中的SRAM進(jìn)行直接下載稱為配置(Configure),但對于OTP FPGA的下載和對FPGA專用ROM的下載仍稱為編程。FPGA與CPLD的辨別和分類主要依據(jù)其結(jié)構(gòu)特點(diǎn)和工作原理。通
43、常的分類方法是:(1) 將以乘積項(xiàng)結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為CPLD,如Lattice公司的ispLSI系列、Xilinx公司的XC9500系列、ALTERA公司的MAX7000S系列和Lattice(原Vantis)的Mach系列等。(2) 將以查表法結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為FPGA,如Xilinx的Spartan系列、ALTERA公司的FLEX10K或ACEX1K系列等。另外應(yīng)該注意,從目前EDA技術(shù)相關(guān)概念的稱謂上看,“FPGA”而非“CPLD”具有更廣泛的含義。例如,Synopsys公司為ALTERA和Xilinx推出的FPGA/CPLD綜合器是FPGA Compiler和F
44、PGA Express;Mentor公司的綜合器是FPGA Advantage。本書中我們將利用EDA技術(shù)開發(fā)FPGA/CPLD統(tǒng)稱為“FPGA開發(fā)技術(shù)”。2.3.6 硬件測試最后對載入了設(shè)計(jì)的FPGA或CPLD的硬件系統(tǒng)進(jìn)行統(tǒng)一測試,以便最終驗(yàn)證設(shè)計(jì)項(xiàng)目在目標(biāo)系統(tǒng)上的實(shí)際工作情況,以排除錯(cuò)誤,改進(jìn)設(shè)計(jì)。在學(xué)習(xí)EDA技術(shù)時(shí),讀者可以準(zhǔn)備一個(gè)EDA實(shí)驗(yàn)開發(fā)系統(tǒng),現(xiàn)在市場上用于教學(xué)與開發(fā)的EDA實(shí)驗(yàn)開發(fā)系統(tǒng)很多,可以買一套,或自己做一套,當(dāng)然如果數(shù)量不多的話,自己開發(fā)成本可能很大。無論使用那種EDA實(shí)驗(yàn)開發(fā)系統(tǒng),其基本原理都是一樣的。用戶設(shè)計(jì)的電路(包括原理圖輸入與HDL輸入)經(jīng)過編譯后生成相應(yīng)的
45、程序(對于FPGA芯片為.sof文件,對于CPLD芯片為.pof文件),這些文件通過下載配置電路下載配置到芯片中;在開發(fā)系統(tǒng)中還要包括晶振電路,用于產(chǎn)生脈沖信號(hào);其他電路還包括基本輸入電路(如鍵盤電路、傳感器電路、A/D轉(zhuǎn)換電路等)、基本輸出電路(如數(shù)碼管電路、LED發(fā)光管電路、電機(jī)驅(qū)動(dòng)電路、蜂鳴器電路、D/A轉(zhuǎn)換電路等)、擴(kuò)展口電路;為了便于用戶設(shè)計(jì)開發(fā),EDA實(shí)驗(yàn)開發(fā)系統(tǒng)往往還留有部分?jǐn)U展口以供用戶擴(kuò)展開發(fā)使用;此外,系統(tǒng)中還包括一些通信接口電路(如RS232、USB接口電路等)、功能復(fù)雜的多媒體電路、無線發(fā)送接收電路,等等。2.4 在系統(tǒng)編程技術(shù)采用EEPROM編程下載技術(shù)的可編程邏輯器
46、件具有可反復(fù)編程且能長期保存的優(yōu)點(diǎn),但編程時(shí)需用昂貴的專用編程器,編程效率低,使用不便,特別是對于目前常用的引腳多且具有諸如PLCC、TQFP、PQFP、BGA等封裝的器件,采用專用編程器下載幾乎無法進(jìn)行實(shí)用,因?yàn)樾酒诰幊唐魃系牟灏芜^程會(huì)損傷引腳,以致于要經(jīng)修正后才能上貼裝機(jī),生產(chǎn)效率極低,不能進(jìn)行大規(guī)模生產(chǎn)。由Lattice公司發(fā)明的在系統(tǒng)可編程ISP(In-System Programmability)技術(shù),很好地解決了可編程器件在編程下載方面的諸多問題。這一編程方式已被其他PLD公司廣泛采用,甚至許多單片機(jī)的編程下載方式也都采用了ISP技術(shù),比如AVR單片機(jī)現(xiàn)在普遍使用ISP技術(shù)。在系
47、統(tǒng)可編程器件是一種無需將器件從電路板上取下、無需專門的編程高壓即可編程的芯片。它通過45根編程連線與計(jì)算機(jī)的并口相連,在專門的燒錄軟件的幫助下,可非常方便地實(shí)現(xiàn)編程下載。使用這種技術(shù)可以免去以往PLD插拔芯片的麻煩。ISP器件的編程方法多種多樣,可利用PC或工作站編程,還可用微處理器進(jìn)行編程,ISP還允許通過紅外線、電話線或互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程編程等,因此可適用于各種不同的需要。采用ISP技術(shù)的CPLD/FPGA系統(tǒng)可以在裝配后進(jìn)行邏輯設(shè)計(jì)和編程下載,并能根據(jù)需要對系統(tǒng)硬件功能實(shí)時(shí)地加以修改或按預(yù)定程序改變邏輯組態(tài),從而使整個(gè)硬件系統(tǒng)變得像軟件那樣靈活且易于修改。因此,可利用ISP技術(shù),在不改變硬件
48、電路和結(jié)構(gòu)的情況下重構(gòu)邏輯,或進(jìn)行硬件升級(jí),甚至在系統(tǒng)不停止工作的條件下進(jìn)行遠(yuǎn)程硬件升級(jí)。顯然,ISP技術(shù)使現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的面貌為之一新,有力地促進(jìn)了EDA技術(shù)的發(fā)展。其編程過程大致如下:(1) 編程前先焊接安裝芯片,以減少對器件的觸摸和損傷,可使用任意封裝形式的器件,如圖2-4所示。(2) 設(shè)計(jì)相關(guān)的下載配置電路,使由計(jì)算機(jī)并口(或其它接口)輸出的下載數(shù)據(jù)通過相關(guān)的電路配置到芯片或其它存儲(chǔ)器中。ISP器件允許帶有一般的存儲(chǔ)電路,而且樣機(jī)制造方便,支持生產(chǎn)和測試流程中的修改,如圖2-5所示。圖2-4 未編程前先焊接安裝芯片 圖2-5 系統(tǒng)可編程器件 (3) 如果修改設(shè)計(jì),可隨時(shí)通過計(jì)算機(jī)對芯
49、片內(nèi)部的電路進(jìn)行修改,允許現(xiàn)場硬件升級(jí),縮短了研發(fā)周期與調(diào)試時(shí)間,如圖2-6所示。圖2-7是使用ALTERA公司的Quartus軟件進(jìn)行下載配置的示意圖,通過計(jì)算機(jī)并口傳輸數(shù)據(jù),其下載方式有JTAG、PS、AS、In-S等。圖2-6 在系統(tǒng)現(xiàn)場修改設(shè)計(jì) 圖2-7 ISP下載配置示意圖2.5 EDA工具軟件介紹目前,ALTERA公司是可編程邏輯器件的主要供應(yīng)商之一,其主要產(chǎn)品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、Stratix、Cyclone等,其所開發(fā)的軟件有MAX +plus和Quartus。Xilixn公司是FPGA的發(fā)明者,也是可編程邏輯器件的主要供
50、應(yīng)商之一,其產(chǎn)品種類較全,主要有:XC9500、Coolrunner、Spartan、Virtex等,所開發(fā)的軟件有Foundation和ISE。Lattice是ISP技術(shù)的發(fā)明者,ISP技術(shù)極大地促進(jìn)了PLD產(chǎn)品的發(fā)展,與ALTERA和Xilinx相比,其開發(fā)工具略遜一籌。Lattice公司的中小規(guī)模PLD比較有特色,1999年推出了可編程模擬器件,1999年收購Vantis(原AMD子公司)后成為第三大可編程邏輯器件供應(yīng)商,2001年12月又收購了Agere公司(原Lucent微電子部)的FPGA部門,其主要產(chǎn)品有ispMACH4000、EC/ECP、XO、XP以及可編程模擬器件等。另外,
51、常見的EDA工具軟件生產(chǎn)廠家還有ACTEL公司、Cypress公司、QuickLogic公司、ATMEL公司等。下面將介紹典型的常用EDA工具軟件。2.5.1 ISE軟件介紹Xilinx公司早期的EDA工具軟件為Foundation,它支持的Xilinx公司的芯片有XC9500、XC9500XL、XPLA3、Spartan、SpartanXL、Spartan、XC3000A/L、XC4000E/L/EX/XL /XV/XLA、XC5200、Virtex和Virtex-5等。運(yùn)行Foundation時(shí),首先進(jìn)入項(xiàng)目管理器(Project Manager)窗口,所有的設(shè)計(jì)輸入、實(shí)現(xiàn)和仿真都必須在項(xiàng)
52、目管理器中完成。項(xiàng)目管理器可以對FPGAExpress綜合工具和設(shè)計(jì)實(shí)現(xiàn)工具進(jìn)行初始化,利用合適的用戶界面,在項(xiàng)目管理器中就可以對整個(gè)設(shè)計(jì)開發(fā)過程進(jìn)行管理。它是Xilinx公司上一代的PLD開發(fā)軟件,目前Xilinx已經(jīng)停止開發(fā)升級(jí)Foundation,而轉(zhuǎn)向ISE軟件平臺(tái)。ISE軟件引入獨(dú)有的ISE Fmax技術(shù),達(dá)到業(yè)界最快的邏輯性能,可對Virtex-5設(shè)計(jì)進(jìn)行布線前和布線后優(yōu)化,對新的Express Fabric技術(shù)的增強(qiáng)布線支持減少了邏輯層次和信號(hào)延遲,并可更高效地壓縮設(shè)計(jì)。ISE軟件提供一種改進(jìn)的時(shí)序收斂環(huán)境,為邏輯和物理設(shè)計(jì)域提供更緊密的關(guān)聯(lián);時(shí)序分析、布局規(guī)劃和實(shí)現(xiàn)報(bào)告之間的自
53、動(dòng)交叉探測功能,為布線和調(diào)試設(shè)計(jì)提供了更大的可視性和更高效的方法;將Xplorer集成到設(shè)計(jì)流程中,為設(shè)計(jì)者提供了自動(dòng)搜索各種設(shè)置和約束的能力,從而大大提高了用戶設(shè)計(jì)的性能。此外,ISE軟件還支持Virtex-5 FPGA中的第二代稀疏鋸齒 (Sparse Chevron)技術(shù),極大地簡化了PCB設(shè)計(jì)?;诖罅康腣irtex-5器件特性,ISE軟件中的新型Xpower Estimator工具確保了準(zhǔn)確的功耗估計(jì),從而允許設(shè)計(jì)者預(yù)先規(guī)劃功耗預(yù)算。2.5.2 ispLEVER軟件介紹ispLEVER是Lattice公司最新推出的一套EDA軟件,提供設(shè)計(jì)輸入、HDL綜合、驗(yàn)證、器件適配、布局布線、編
54、程和在系統(tǒng)設(shè)計(jì)調(diào)試等功能。設(shè)計(jì)輸入可采用原理圖、硬件描述語言、混合輸入三種方式。ispLEVER能對所設(shè)計(jì)的數(shù)字電子系統(tǒng)進(jìn)行功能仿真和時(shí)序仿真,其軟件中含有不同的工具,適用于各個(gè)設(shè)計(jì)階段,如ispLEVER軟件中包含Synplicity公司的“Synplify”、Exemplar Logic公司的“Leonado”綜合工具和Lattice的ispVM器件編程工具。ispLEVER軟件提供給開發(fā)者一個(gè)有力的工具,用于設(shè)計(jì)所有Lattice可編程邏輯產(chǎn)品。這使得ispLEVER的用戶能夠設(shè)計(jì)所有Lattice公司的FPGA、FPSC、CPLD產(chǎn)品,而不必學(xué)習(xí)新的設(shè)計(jì)工具。2.5.3 MAX+plu
55、s 介紹MAX+plus (或?qū)懗蒑axplus 2、MP2)是ALTERA公司推出的第三代PLD開發(fā)系統(tǒng),使用MAX+plus 的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語言)建立設(shè)計(jì),MAX+plus 把這些設(shè)計(jì)自動(dòng)換成最終所需的格式,其設(shè)計(jì)速度非常快。對于一般幾千門的電路設(shè)計(jì),使用MAX+plus ,從設(shè)計(jì)輸入到器件編程完畢、用戶拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時(shí),設(shè)計(jì)處理一般在數(shù)分鐘內(nèi)完成。特別是在原理圖輸入等方面,Maxplus 2被公認(rèn)為是最易使用、人機(jī)界面最友善的PLD開發(fā)軟件,特別適合初學(xué)者使用。其設(shè)計(jì)過程如下:(1) 設(shè)計(jì)輸入。早期
56、,設(shè)計(jì)人員采用傳統(tǒng)的原理圖輸入方法來開始設(shè)計(jì),自90年代初,Verilog HDL、VHDL、AHDL等硬件描述語言輸入方法在大規(guī)模設(shè)計(jì)中得到了廣泛應(yīng)用。(2) 前仿真(功能仿真)。所設(shè)計(jì)的電路必須在布局布線前驗(yàn)證其功能是否有效。ASCI設(shè)計(jì)中,這一步稱為第一次Sign-off;PLD設(shè)計(jì)中,有時(shí)跳過這一步。(3) 設(shè)計(jì)編譯。設(shè)計(jì)輸入后有一個(gè)從高層次系統(tǒng)行為設(shè)計(jì)向門級(jí)邏輯電路設(shè)計(jì)轉(zhuǎn)化、翻譯的過程,即把設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識(shí)別的某種數(shù)據(jù)格式(網(wǎng)表)。(4) 優(yōu)化。對于綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小、更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫映
57、射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。(5) 布局布線。在PLD設(shè)計(jì)中,第(3)(5)步可以用PLD廠家提供的開發(fā)軟件(如 Maxplus 2)自動(dòng)一次完成。(6) 后仿真(時(shí)序仿真)。此時(shí)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序。ASCI設(shè)計(jì)中,這一步驟稱為第二次Sign-off。(7) 生產(chǎn)。布線和后仿真完成之后,ASCI或PLD芯片就可以投產(chǎn)了。2.5.4 Quartus 介紹Quartus是MAX+plus的升級(jí)版本,是ALTERA公司的第四代開發(fā)軟件。Quartus提供了方便的設(shè)計(jì)輸入方式,編譯快速,器件編程直接、易懂,它能夠支持邏輯門數(shù)在百萬門以上的邏輯器件的
58、開發(fā),并且為第三方工具提供了無縫接口。Quartus支持的器件有:Stratix、Stratix GX、Stratix、Mercury、MAX3000A、MAX7000B、MAX7000S、MAX7000AE、MAX、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone、APEX、APEX20KC、APEX20KE和ACEX1K系列。Quartus軟件包的編程器是系統(tǒng)的核心,提供強(qiáng)大的設(shè)計(jì)處理功能,設(shè)計(jì)者可以通過添加特定的約束條件來提高芯片的利用率。ALTERA公司是世界上最大的EDA硬件芯片生產(chǎn)廠商之一,但其Quartus的安裝需要計(jì)算機(jī)具有較
59、高的硬件配置,為了方便一些用戶的需要,本書在介紹Quartus應(yīng)用的同時(shí)也介紹了MAX+plus的應(yīng)用,其它EDA工具軟件的使用請參考相關(guān)的書籍。2.6 實(shí)訓(xùn):運(yùn)用圖形法設(shè)計(jì)3-8譯碼器一、實(shí)訓(xùn)目的(1) 學(xué)會(huì)運(yùn)用MAX+plus軟件的圖形法輸入設(shè)計(jì)數(shù)字電路。(2) 掌握MAX+plus軟件的使用步驟。(3) 掌握3-8譯碼器的原理圖輸入設(shè)計(jì)。二、實(shí)訓(xùn)原理138為3-8譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)形式,其主要特性如下:當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(NG2A和NG2B)為低電平時(shí),可將地址端(A0、A1、A2)的二進(jìn)制譯碼在一個(gè)對應(yīng)的輸出端
60、以低電平譯出。利用G1、NG2A和NG2B級(jí)聯(lián)可將3-8譯碼器擴(kuò)展成24線譯碼器;若外接一個(gè)反相器,則還可級(jí)聯(lián)擴(kuò)展成32線譯碼器。3-8譯碼器的真值表如表2-1所示。MAX+plus原理圖輸入的基本操作包括編輯原理圖、編譯設(shè)計(jì)文件、生成元件符號(hào)以及功能仿真、引腳鎖定、時(shí)序仿真、編程下載和硬件調(diào)試等(有時(shí)功能仿真與時(shí)序仿真也可以同時(shí)進(jìn)行),如圖2-8所示。用MAX+plus設(shè)計(jì)的原理圖如圖2-9所示。其中G1、NG2A、NG2B表示控制輸入信號(hào),A0、A1、A2表示地址輸入信號(hào),NY0、NY1、NY2、NY3、NY4、NY5、NY6、NY7表示二進(jìn)制譯碼輸出信號(hào)(在信號(hào)名稱前面加上一個(gè)“N”表示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年戶外野營基地租賃與維護(hù)服務(wù)合同
- 二零二四年塔吊司機(jī)聘用合同及風(fēng)險(xiǎn)管理協(xié)議3篇
- 2025年國際貿(mào)易貨物運(yùn)輸合同標(biāo)準(zhǔn)范本
- 2025年度會(huì)議現(xiàn)場音視頻設(shè)備租賃合同
- 2025年度國內(nèi)餐飲業(yè)應(yīng)收賬款保理業(yè)務(wù)合同范本
- 2025年度華陽公寓老舊小區(qū)改造項(xiàng)目管理合同
- 二零二四年度個(gè)人教育培訓(xùn)課程外包服務(wù)合同模板3篇
- 2025年度人工智能技術(shù)研發(fā)合同補(bǔ)充模板
- 2025年度鍋爐爐墻維修保養(yǎng)專業(yè)承包合同書(升級(jí)版)
- 2025年度航空航天器研發(fā)合作經(jīng)營合同范本
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測數(shù)學(xué)三年級(jí)第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- DB31∕731-2020 船舶修正總噸單位產(chǎn)品能源消耗限額
- 2024年衛(wèi)生專業(yè)技術(shù)資格考試衛(wèi)生檢驗(yàn)技術(shù)(初級(jí)(師)211)相關(guān)專業(yè)知識(shí)試題及答案指導(dǎo)
- 江蘇省南京鼓樓區(qū)2024年中考聯(lián)考英語試題含答案
- 兒科護(hù)理學(xué)試題及答案解析-神經(jīng)系統(tǒng)疾病患兒的護(hù)理(二)
- 15篇文章包含英語四級(jí)所有詞匯
- 王陽明心學(xué)完整版本
- 四年級(jí)上冊豎式計(jì)算300題及答案
- 課題研究實(shí)施方案 范例及課題研究方法及技術(shù)路線圖模板
- 牙髓炎中牙髓干細(xì)胞與神經(jīng)支配的相互作用
- 【2022屆高考英語讀后續(xù)寫】主題升華積累講義及高級(jí)句型積累
評(píng)論
0/150
提交評(píng)論