陳宏
摘要:本文介紹了電子設(shè)計(jì)自動(dòng)化的概念,涉及需要學(xué)習(xí)的主要內(nèi)容,以及自動(dòng)化設(shè)計(jì)的設(shè)計(jì)流程。
關(guān)鍵詞:EDA;定義;主要內(nèi)容;流程
一、什么是EDA
EDA是電子設(shè)計(jì)自動(dòng)化的縮寫(xiě),在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CRE)的概念發(fā)展而來(lái)的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線(xiàn)和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。
廣義定義:以計(jì)算機(jī)硬件和系統(tǒng)軟件為基本工作平臺(tái),繼承和借鑒前人在電路和系統(tǒng)、數(shù)據(jù)庫(kù)、圖形學(xué)、圖論和拓?fù)溥壿?、?jì)算數(shù)學(xué)、優(yōu)化理論等多學(xué)科的最新科技成果而研制的商品化EDA通用支撐軟件和應(yīng)用軟件包。
一般的定義:EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_(kāi)發(fā)軟件及實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具,通過(guò)有關(guān)的開(kāi)發(fā)軟件,自動(dòng)完成用軟件的方法設(shè)計(jì)電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線(xiàn)、邏輯仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T(mén)新技術(shù)。
EDA技術(shù)不僅具有電子系統(tǒng)設(shè)計(jì)的能力,而且能提供獨(dú)立于工藝和廠(chǎng)家的系統(tǒng)級(jí)設(shè)計(jì)能力,具有高級(jí)抽象的設(shè)計(jì)構(gòu)思手段。設(shè)計(jì)工具完全集成化,可以實(shí)現(xiàn)以HDL語(yǔ)言為主的系統(tǒng)級(jí)綜合與仿真,從設(shè)計(jì)輸入到版圖的形成,幾乎不需要人工干預(yù),因此整個(gè)流程實(shí)現(xiàn)自動(dòng)化。該階段的EDA的發(fā)展還促進(jìn)設(shè)計(jì)方法的轉(zhuǎn)變,由傳統(tǒng)的自底向上的設(shè)計(jì)方法逐漸轉(zhuǎn)變?yōu)樽皂斚蛳碌脑O(shè)計(jì)方法。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。
二、EDA技術(shù)的主要內(nèi)容
(1)可編程邏輯器件。(Programmable Logic Device,簡(jiǎn)稱(chēng)PLD)它是一種由用戶(hù)編程以實(shí)現(xiàn)某種邏輯功能的邏輯器件。
可編程邏輯器件中應(yīng)用最廣泛的是:現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Arrays,簡(jiǎn)稱(chēng)FPGA)和復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,簡(jiǎn)稱(chēng)CPLD)。
FPGA/CPLD的集成規(guī)模非常大,可利用先進(jìn)的EDA工具進(jìn)行電子系統(tǒng)設(shè)計(jì)和產(chǎn)品開(kāi)發(fā)。由于開(kāi)發(fā)工具的通用性、設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過(guò)程幾乎與所用器件的硬件結(jié)構(gòu)沒(méi)有關(guān)系,因而設(shè)計(jì)開(kāi)發(fā)的各類(lèi)邏輯功能塊軟件具有很好的兼容性和可移植性。 它幾乎可用于任何型號(hào)和規(guī)模的FPGA/CPLD中,從而使得產(chǎn)品設(shè)計(jì)效率大幅度提高。
(2)硬件描述語(yǔ)言。HDL是電子系統(tǒng)硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語(yǔ)言。硬件描述的語(yǔ)言種類(lèi)很多,有的從PASCAL發(fā)展而來(lái),也有一些從C語(yǔ)言發(fā)展而來(lái)。有些HDL已成為IEEE標(biāo)準(zhǔn),但大部分是本企業(yè)標(biāo)準(zhǔn)。
目前常用的硬件描述語(yǔ)言有:
VHDL語(yǔ)言: 作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,在電子工程領(lǐng)域,已成為通用硬件描述語(yǔ)言
Verilog語(yǔ)言:支持的EDA工具較多,適用于RTL級(jí)和門(mén)電路級(jí)的描述,其綜合過(guò)程較VHDL稍簡(jiǎn)單,但其在高級(jí)描述方面不如VHDL。
ABEL語(yǔ)言:一種支持各種不同輸入方式的HDL,被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計(jì),由于其語(yǔ)言描述的獨(dú)立性,因而能夠適用于各種不同規(guī)模的可編程器件的設(shè)計(jì)。
(3)軟件開(kāi)發(fā)工具。EDA工具在EDA技術(shù)應(yīng)用中占據(jù)及其重要的地位。EDA工具大致可以分為五個(gè)模塊:設(shè)計(jì)輸入編輯器、 HDL綜合器、仿真器、適配器(或布局布線(xiàn)器)、下載器。
(4)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)。實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)包括芯片下載電路及EDA實(shí)驗(yàn)/開(kāi)發(fā)的外圍資源(類(lèi)似于用于單片機(jī)開(kāi)發(fā)的仿真器),供硬件驗(yàn)證用。
三、EDA技術(shù)設(shè)計(jì)流程
完整地了解EDA技術(shù)的設(shè)計(jì)流程,對(duì)于正確選擇和使用EDA軟件、優(yōu)化設(shè)計(jì)項(xiàng)目、提高設(shè)計(jì)效率十分有益。一個(gè)完整的EDA設(shè)計(jì)流程既是自頂向下設(shè)計(jì)方法的具體實(shí)施途徑,也是EDA工具軟件本身的組成結(jié)構(gòu)。在實(shí)踐中進(jìn)一步了解支持這一設(shè)計(jì)流程的諸多設(shè)計(jì)工具,有效地排除設(shè)計(jì)中出現(xiàn)的問(wèn)題,提高設(shè)計(jì)質(zhì)量及總結(jié)經(jīng)驗(yàn)。
設(shè)計(jì)流程如下:
(1)設(shè)計(jì)輸入(原理圖/HDL等)。利用EDA技術(shù)進(jìn)行一項(xiàng)工程設(shè)計(jì),首先需要利用EDA工具的文本編輯器或圖形編輯器將設(shè)計(jì)工程用文本方式或圖形方式表達(dá)出來(lái),進(jìn)行排錯(cuò)編譯,為進(jìn)一步的邏輯綜合作準(zhǔn)備。常用的源程序輸入方式有三種:①原理圖輸入方式; ②HDL程序的文本輸入方式; ③狀態(tài)圖(波形圖)輸入方式。
(2)邏輯綜合和優(yōu)化。綜合就是把某些東西結(jié)合到一起,把抽象層次上的一種表述方式轉(zhuǎn)換到另一種表述的過(guò)程。在電子設(shè)計(jì)領(lǐng)域,綜合的概念可以理解為:將用行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實(shí)現(xiàn)的模塊組合裝配的過(guò)程。
(3)目標(biāo)器件的適配。邏輯綜合通過(guò)后必須利用適配器將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布線(xiàn)與操作,適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時(shí)序仿真。
適配器的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,產(chǎn)生最終的下載文件,如JEDEC格式的文件。適配所選定的目標(biāo)器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標(biāo)器件系列。對(duì)于一般的可編程模擬器件所對(duì)應(yīng)的EDA軟件來(lái)說(shuō),一般僅需包含一個(gè)適配器就可以了,如Lattice的PAC-DESIGNER。通常,EDA軟件中的綜合器可由專(zhuān)業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應(yīng)商自己提供,因?yàn)檫m配器的適配對(duì)象直接與器件結(jié)構(gòu)相對(duì)應(yīng)。
(4)器件編程下載。如果編譯、綜合、適配和行為仿真、功能仿真、時(shí)序仿真等過(guò)程都沒(méi)有發(fā)現(xiàn)問(wèn)題,即滿(mǎn)足原設(shè)計(jì)的要求,則可以將由FPGA/CPLD適配器產(chǎn)生的配置/下載文件通過(guò)編程器或下載電纜載入目標(biāo)芯片F(xiàn)PGA或CPLD中。通常,將對(duì)CPLD器件的下載稱(chēng)為“編程”(Program),對(duì)FPGA器件中的SRAM的下載稱(chēng)為“配置”(Configure)。
(5)硬件仿真/硬件測(cè)試。硬件仿真和硬件測(cè)試的目的,是為了在更真實(shí)的環(huán)境中檢驗(yàn)VHDL設(shè)計(jì)的運(yùn)行情況。許多設(shè)計(jì)中的因素可能會(huì)導(dǎo)致設(shè)計(jì)與結(jié)果的不一致。所以,VHDL設(shè)計(jì)的硬件仿真和硬件測(cè)試是十分必要的。一般的FPGA/CPLD器件都支持JTGA技術(shù),具有邊界掃描測(cè)試能力BST(Board Scan Test)和在線(xiàn)編程ISP(In System Programing)能力,測(cè)試起來(lái)非常方便。