基于EDA技術(shù)進(jìn)行數(shù)字電路設(shè)計(jì)的研究
關(guān)鍵詞:EDA;數(shù)字電路;特點(diǎn);功能
1 EDA技術(shù)
EDA(電子線路設(shè)計(jì)座自動(dòng)化)是以計(jì)算機(jī)為工作平臺(tái)、以硬件描述語(yǔ)言(VHDL)為設(shè)計(jì)語(yǔ)言、以可編程器件(CPLD/FPGA)為實(shí)驗(yàn)載體、以ASIC/SOC芯片為目標(biāo)器件、進(jìn)行必要的元件建模和系統(tǒng)仿真的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過(guò)程。EDA是電子設(shè)計(jì)領(lǐng)域的一場(chǎng)革命,它源于計(jì)算機(jī)輔助設(shè)計(jì),計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助測(cè)試和計(jì)算機(jī)輔助工程。利用EDA工具,電子設(shè)計(jì)師從概念,算法、協(xié)議開始設(shè)計(jì)電子系統(tǒng),從電路設(shè)計(jì),性能分析直到IC版圖或PCB版圖生成的全過(guò)程均可在計(jì)算機(jī)上自動(dòng)完成。EDA代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,其基本特征是設(shè)計(jì)人員以計(jì)算機(jī)為工具,按照自頂向下的設(shè)計(jì)方法,對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,由硬件描述語(yǔ)言完成系統(tǒng)行為級(jí)設(shè)計(jì),利用先進(jìn)的開發(fā)工具自動(dòng)完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局布線、仿真及特定目標(biāo)芯片的適配編譯和編程下載,這被稱為數(shù)字邏輯電路的高層次設(shè)計(jì)方法。
1.1 EDA軟件簡(jiǎn)介
“EDA”就是Electronic Design Automation(電子設(shè)計(jì)自動(dòng)化),也就是能夠幫助人們?cè)O(shè)計(jì)電子電路或系統(tǒng)的軟件工具,該工具可以使設(shè)計(jì)更復(fù)雜的電路和系統(tǒng)成為可能。目前進(jìn)入我國(guó)并具有廣泛影響的EDA軟件有:muhisim7、OW_AD、Protel、Viewlogio、Mentor、Synopsys、PCBW Id、Cadence、MicmSim等等,這些軟件各具特色,大體分為芯片級(jí)設(shè)計(jì)工具、電路板級(jí)設(shè)計(jì)工具、可編程邏輯器件開發(fā)工具和電路仿真工具等幾類;其中Protel是國(guó)內(nèi)最流行、使用最廣泛的一種印制電路板設(shè)計(jì)的首選軟件,由澳大利亞protd Technology公司出品,過(guò)去只是用來(lái)進(jìn)行原理圖輸入和PCB版圖設(shè)計(jì),從Protel 98開始,加入了模擬數(shù)字混合電路仿真模塊和可編程邏輯器件設(shè)計(jì)模塊,1999年P(guān)rotel推出了功能更加強(qiáng)大的EDA綜合設(shè)計(jì)環(huán)境Protel 99,它將EDA的全部?jī)?nèi)容整合為一體,成為完整的EDA軟件,因而該軟件發(fā)展?jié)摿艽?但它最具特色和最強(qiáng)大的功能仍是原理圖輸人和PCB版圖設(shè)計(jì)。
1.2 EDA技術(shù)的主要內(nèi)容
EDA技術(shù)涉及面很廣,內(nèi)容豐富,從教學(xué)和實(shí)用的角度看,主要應(yīng)掌握如下4個(gè)方面的內(nèi)容:一是大規(guī)模可編程邏輯器件;二是硬件描述語(yǔ)言;三是軟件開發(fā)工具;四是實(shí)驗(yàn)開發(fā)系統(tǒng)。其中,大規(guī)模可編程邏輯器件是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體,硬件描述語(yǔ)言是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要表達(dá)手段,軟件開發(fā)工具是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的智能化的自動(dòng)設(shè)計(jì)工具,實(shí)驗(yàn)開發(fā)系統(tǒng)則是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下載工具及硬件驗(yàn)證工具。
1.3 EDA技術(shù)的主要特征
作為現(xiàn)代電子系統(tǒng)設(shè)計(jì)的主導(dǎo)技術(shù),EDA具有幾個(gè)明顯特征:
1.3.1 用軟件設(shè)計(jì)的方法來(lái)設(shè)計(jì)硬件
硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動(dòng)完成的,設(shè)計(jì)輸入可以是原理圖VHDL語(yǔ)言,通過(guò)軟件設(shè)計(jì)方式的測(cè)試,實(shí)現(xiàn)對(duì)特定功能硬件電路的設(shè)計(jì),而硬件設(shè)計(jì)的修改工作也如同修改軟件程序一樣快捷方便,設(shè)計(jì)的整個(gè)過(guò)程幾乎不涉及任何硬件,可操作性、產(chǎn)品互換性強(qiáng)。
1.3.2 基于芯片的設(shè)計(jì)方法
EDA設(shè)計(jì)方法又稱為基于芯片的設(shè)計(jì)方法,集成化程度更高,可實(shí)現(xiàn)片上系統(tǒng)集成,進(jìn)行更加復(fù)雜的電路芯片化設(shè)計(jì)和專用集成電路設(shè)計(jì),使產(chǎn)品體積小、功耗低、可靠性高;可在系統(tǒng)編程或現(xiàn)場(chǎng)編程,使器件編程、重構(gòu)、修改簡(jiǎn)單便利,可實(shí)現(xiàn)在線升級(jí);可進(jìn)行各種仿真,開發(fā)周期短,設(shè)計(jì)成本低,設(shè)計(jì)靈活性高。
1.3.3 自動(dòng)化程度高
EDA技術(shù)根據(jù)設(shè)計(jì)輸入文件,將電子產(chǎn)品從電路功能仿真、性能分析、優(yōu)化設(shè)計(jì)到結(jié)果測(cè)試的全過(guò)程在計(jì)算機(jī)上自動(dòng)處理完成,自動(dòng)生成目標(biāo)系統(tǒng),使設(shè)計(jì)人員不必學(xué)習(xí)許多深入的專業(yè)知識(shí),也可免除許多推導(dǎo)運(yùn)算即可獲得優(yōu)化的設(shè)計(jì)成果,設(shè)計(jì)自動(dòng)化程度高,減輕了設(shè)計(jì)人員的工作量,開發(fā)效率高。
1.3.4 自動(dòng)進(jìn)行產(chǎn)品直面設(shè)計(jì)
EDA技術(shù)根據(jù)設(shè)計(jì)輸入文件(HDL或電路原理圖),自動(dòng)地進(jìn)行邏輯編譯、化簡(jiǎn)、綜合、仿真、優(yōu)化、布局、布線、適配以及下載編程以生成目標(biāo)系統(tǒng),即將電子產(chǎn)品從電路功能仿真、性能分析、優(yōu)化設(shè)計(jì)到結(jié)果測(cè)試的全過(guò)程在計(jì)算機(jī)上自動(dòng)處理完成;
1.4 EDA的技術(shù)要點(diǎn)
1.4.1 可編程邏輯器件-PLD
數(shù)字邏輯器件的發(fā)展直接反映了從分立元件、中小規(guī)模標(biāo)準(zhǔn)芯片過(guò)渡到可編程邏輯器件的過(guò)程。ISP技術(shù)和HDPLD器件使設(shè)計(jì)人員能夠在實(shí)驗(yàn)室中方便地開發(fā)專用集成數(shù)字電路芯片ASIC。當(dāng)前,國(guó)內(nèi)外許多著名廠商均已開發(fā)出新一代ISP器件以及相應(yīng)的開發(fā)軟件(如Synario、EXPERT、Fundation、MAX+Plus2等)。
1.4.2 “自頂而下”的設(shè)計(jì)方法
10年前,電子設(shè)計(jì)的基本思路還是選擇標(biāo)準(zhǔn)的集成電路“自底向上”(Bottom-Up)地構(gòu)造出一個(gè)新的系統(tǒng)。這樣的設(shè)計(jì)方法如同一磚一瓦建造樓房,不僅效率低、成本高而且容易出錯(cuò),高層次的設(shè)計(jì)給我們提供了一種“自頂向下”(Top-Down)的全新設(shè)計(jì)方法,這種方法首先從系統(tǒng)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò),并用硬件描述語(yǔ)言對(duì)高層的系統(tǒng)進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,然后用綜合優(yōu)化工具生成具體的門電路網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?由于設(shè)計(jì)的主要仿真和調(diào)試過(guò)程是在高層次上完成的,這既有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工時(shí)的浪費(fèi),同時(shí)也減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。
2 數(shù)字的電路設(shè)計(jì)
20世紀(jì)90年代以來(lái),電子信息類產(chǎn)品的開發(fā)明顯出現(xiàn)兩個(gè)特點(diǎn):一是產(chǎn)品的復(fù)雜程度加深;二是產(chǎn)品的上市時(shí)限緊迫。隨著計(jì)算機(jī)性價(jià)比的提高及可編程邏輯器件的出現(xiàn),對(duì)傳統(tǒng)的數(shù)字電子系統(tǒng)設(shè)計(jì)方法進(jìn)行了解放性的革命,現(xiàn)代電子系統(tǒng)設(shè)計(jì)方法是設(shè)計(jì)師自己設(shè)計(jì)芯片來(lái)實(shí)現(xiàn)電子系統(tǒng)的功能,將傳統(tǒng)的固件選用及電路板設(shè)計(jì)工作放在芯片設(shè)計(jì)中進(jìn)行。然而電路設(shè)計(jì)本質(zhì)上是基于門級(jí)描述的單層次設(shè)計(jì)(主要以數(shù)字電路為主),設(shè)計(jì)的所有工作(包括設(shè)計(jì)輸入、仿真和分析、設(shè)計(jì)修改等)都是在基本邏輯門這一層次上進(jìn)行的,顯然這種設(shè)計(jì)方法不能適應(yīng)新的形勢(shì),為此引入一種高層次的電子設(shè)計(jì)方法,也稱為系統(tǒng)的設(shè)計(jì)方法。
數(shù)字電路設(shè)計(jì)性本身就是一種綜合性的設(shè)計(jì),其設(shè)計(jì)電路中一般包含不同類型的電路,在設(shè)計(jì)過(guò)程中,不可避免地存在許多錯(cuò)誤和不足 如果直接按照這一設(shè)計(jì)的電路在電路板上進(jìn)行安裝、調(diào)試,其結(jié)果往往使電路調(diào)試費(fèi)時(shí)費(fèi)力,甚至?xí)鹪骷蛢x器設(shè)備損壞等問(wèn)題,導(dǎo)致設(shè)計(jì)不能達(dá)到預(yù)期效果。應(yīng)用EDA技術(shù)在仿真軟件平臺(tái)上設(shè)計(jì)數(shù)字電路,能幫助熟悉和掌握最先進(jìn)的電路設(shè)計(jì)方法和技能。在電子技術(shù)高速發(fā)展的今天,新器件、新電路不斷涌現(xiàn),而設(shè)計(jì)條件受經(jīng)費(fèi)等因素的制約,一般不能及時(shí)更新。采用軟件仿真的方法,在計(jì)算機(jī)上虛擬一個(gè)先進(jìn)測(cè)試儀器、元器件品種齊全的電子工作臺(tái),可進(jìn)行驗(yàn)證性、測(cè)試性、設(shè)計(jì)性等實(shí)驗(yàn)的針對(duì)性訓(xùn)練,培養(yǎng)使用計(jì)算機(jī)及分析、應(yīng)用和創(chuàng)新電路的能力?!耙苑麓鷮?shí)”, “以軟代硬”應(yīng)該成為當(dāng)代設(shè)計(jì)發(fā)展的潮流之一。
3基于EDA技術(shù)進(jìn)行數(shù)字電路設(shè)計(jì)的研究
EDA技術(shù)在數(shù)字系統(tǒng)中的應(yīng)用以基于Altera的EPM7128SLC84-15芯片和MAX+PlusII 10.0軟件平臺(tái)的數(shù)字鐘的設(shè)計(jì)為例,討論EDA技術(shù)在數(shù)字系統(tǒng)中的具體應(yīng)用。
3.1 EDA技術(shù)設(shè)計(jì)流程
在設(shè)計(jì)方法上,EDA技術(shù)為數(shù)字電子電路設(shè)計(jì)領(lǐng)域帶來(lái)了根本性的變革,將傳統(tǒng)的“電路設(shè)計(jì)硬件搭試調(diào)試焊接”模式轉(zhuǎn)變?yōu)樵谟?jì)算機(jī)上自動(dòng)完成,如圖1所示。
圖1:設(shè)計(jì)流程
3.2 設(shè)計(jì)要求
具有時(shí)、分、秒、計(jì)數(shù)顯示功能,以24小時(shí)循環(huán)計(jì)時(shí)。具有清零和調(diào)節(jié)小時(shí)、分鐘功能。具有整點(diǎn)報(bào)時(shí)功能。
3.3 輸入設(shè)計(jì)源文件
一個(gè)設(shè)計(jì)項(xiàng)目由一個(gè)或多個(gè)源文件組成,它們可以是原理圖文件、硬件描述語(yǔ)言文件、混合輸入文件,點(diǎn)擊Source/New菜單,選擇你所要設(shè)計(jì)源文件的類型,進(jìn)入設(shè)計(jì)狀態(tài),完成源文件設(shè)計(jì),存盤、退出;另在一張?jiān)韴D編輯器窗口中,通過(guò)File/Matching Symbol菜單,建立一張?jiān)韴D符號(hào),生成一個(gè)與原理圖文件相同名、相同功能的邏輯宏元件,它自動(dòng)加到元件列表中,可以在更高層的圖紙中反復(fù)調(diào)用;
3.3 邏輯編譯
邏輯編譯選擇器件EPM7128SLC84―15,使用MAX+PlusⅡ編譯器編譯設(shè)計(jì)項(xiàng)目,通過(guò)編譯器自動(dòng)進(jìn)行錯(cuò)誤檢查、網(wǎng)表提取、邏輯綜合、器件適配,最終產(chǎn)生器件編程文件(.jed)。
3.4 綜合
綜合就是利用EDA軟件系統(tǒng)的綜合器將VHDL的軟件設(shè)計(jì)與硬件的可實(shí)現(xiàn)性掛鉤,這是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合器對(duì)源文件的綜合是針對(duì)某一FPGA/CPI D供應(yīng)商的產(chǎn)品系列的。因此,綜合后的結(jié)果具有硬件可實(shí)現(xiàn)性。EDA提供了良好的邏輯綜合與優(yōu)化功能,它能夠?qū)⒃O(shè)計(jì)人員設(shè)計(jì)的邏輯級(jí)電路圖自動(dòng)地轉(zhuǎn)換為門級(jí)電路,并生成相應(yīng)的網(wǎng)表文件、時(shí)序分析文件和各種報(bào)表,若設(shè)計(jì)沒(méi)有錯(cuò)誤,最終可生成可以編程下載.sof文件。
3.5 器件適配
綜合通過(guò)后必須利用FPGA/CPLD布局/布線適配器將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布局布線等操作。適配后產(chǎn)生時(shí)序仿真用的網(wǎng)表文件和下載文件, 如JED或POF文件。適配對(duì)象直接與器件的結(jié)構(gòu)細(xì)節(jié)相對(duì)應(yīng)。
3.6 功能仿真
通常,在設(shè)計(jì)過(guò)程中每一個(gè)階段都要進(jìn)行仿真驗(yàn)證其正確性。在綜合前,要進(jìn)行行為仿真,將VHDI源程序直接送到VHDI 仿真器中仿真,此時(shí)的仿真只是根據(jù)VHDI 的語(yǔ)義進(jìn)行的,與具體電路沒(méi)有關(guān)系。綜合后,可利用產(chǎn)生的網(wǎng)表文件進(jìn)行功能仿真,以便了解設(shè)計(jì)描述與設(shè)計(jì)意圖的一致性。功能仿真僅對(duì)設(shè)計(jì)描述的邏輯功能進(jìn)行測(cè)試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)的要求,仿真過(guò)程不涉及具體器件的硬件特性,如延遲特性。時(shí)序仿真根據(jù)適配后產(chǎn)生的網(wǎng)表文件進(jìn)行的仿真,是接近真實(shí)器件運(yùn)行的仿真,仿真過(guò)程中已將器件硬件特性考慮進(jìn)去了,因此仿真精度要高得多。時(shí)序仿真的網(wǎng)表文件中包含了較為精確的延遲信息。
3.7 編程下載
通過(guò)仿真確定設(shè)計(jì)基本成功后,即可通過(guò)Byteblaster下載電纜線將設(shè)計(jì)項(xiàng)目以JTAG的方式下載到器件中,完成設(shè)計(jì)所有工作。通過(guò)此例的設(shè)計(jì)流程講述可知,EDA技術(shù)及其工具在數(shù)字電路系統(tǒng)(包括模擬電路系統(tǒng))中正發(fā)揮著越來(lái)越重要的作用,其應(yīng)用的深度和廣度正在向更深層次延伸。
3.8 目標(biāo)系統(tǒng)
用VHDL語(yǔ)言描述編碼電路。譯碼電路用CASE語(yǔ)句完成查表譯碼,其中有近4O種可能的情況。通過(guò)求出伴隨式的值,把有一個(gè)錯(cuò)誤的數(shù)據(jù)取反糾正過(guò)來(lái),其他情況給出信號(hào),指出有錯(cuò)誤。編譯碼電路選用ALTERA公司生產(chǎn)的器件EPF1OK10TC144-3,其中編碼電路占用了32個(gè)邏輯單元,譯碼電路占用了163個(gè)邏輯單元。對(duì)編碼譯碼電路做功能仿真。測(cè)試使用看來(lái),當(dāng)數(shù)據(jù)輸人全為‘1’,如果總線上傳來(lái)的數(shù)據(jù)最后一位出錯(cuò).為‘0’,正確數(shù)據(jù)異或而成的數(shù)據(jù)檢查線DC使得譯碼器能把最后一位改為‘1’;如數(shù)據(jù)輸人是“00000001”,編碼器的DC為“19”而一旦出現(xiàn)兩個(gè)錯(cuò)誤.如最高位和最低位,譯碼器指示是不可糾正的錯(cuò)誤;如數(shù)據(jù)正確傳輸,譯碼器指示沒(méi)有錯(cuò)誤。
4 本文作者創(chuàng)新點(diǎn)
目前,現(xiàn)代集成電路技術(shù)的發(fā)展使以現(xiàn)場(chǎng)可編程門陣列為代表的大容量可編程邏輯器件的等效門數(shù)迅速提高,其規(guī)模直逼標(biāo)準(zhǔn)門陣列,達(dá)到了系統(tǒng)集成的水平。特別是進(jìn)入二十世紀(jì)90年代后,隨著CPLD、FPGA等現(xiàn)場(chǎng)可編程邏輯器件的逐漸興起,VHDL、Verilog等通用性好、移植性強(qiáng)的硬件描述語(yǔ)言的普及,ASIC技術(shù)的不斷完善,EDA技術(shù)在現(xiàn)代數(shù)字系統(tǒng)和微電子技術(shù)應(yīng)用中起著越來(lái)越重要的作用。從通常意義上來(lái)說(shuō),現(xiàn)代電子系統(tǒng)的設(shè)計(jì)已經(jīng)再也離不開EDA技術(shù)的幫助了。
參考文獻(xiàn):
[1] 王鎖萍.龔建榮等.電子設(shè)計(jì)教程.成都:電子科技大學(xué)出版社,2000.2
[2] 潘松,黃蛀生.EDA技術(shù)實(shí)用教程.北京:科學(xué)出版社.2002.10.
[3] 曾繁泰,李冰,李曉林.EDA工程概論[M].北京,清華大學(xué)出版社,2002.
[4] 蔣卓勤,鄧玉元.Multisim2001及其在電子設(shè)計(jì)中的應(yīng)用[M].西安:電子科技大學(xué)出版社,2003.
[5] 徐志軍等.大規(guī)模可編程邏輯器件及其應(yīng)用[M].電子科技大學(xué)出版社.
評(píng)論