現(xiàn)代電子設(shè)計(jì)與應(yīng)用
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,第二級,第三級,第四級,第五級,第,1,章,可編程邏輯器件概述,現(xiàn)代電子設(shè)計(jì)與應(yīng)用,3.2.4,EDA工具,3.2.5 現(xiàn)代電子設(shè)計(jì)流程,3.2.4 EDA工具,按主要功能或主要應(yīng)用場合,分為電路設(shè)計(jì)與仿真工具、PCB設(shè)計(jì)軟件、IC設(shè)計(jì)軟件、PLD設(shè)計(jì)工具及其它EDA軟件,進(jìn)行簡單介紹。,1.電子電路設(shè)計(jì)與仿真工具,電子電路設(shè)計(jì)與仿真工具包SPICE/PSPICE、Matlab,multiSIM7;,2.PCB設(shè)計(jì)軟件 PCB(Printed-Circuit Board,),PCB設(shè)計(jì)軟件種類很多,如Protel、OrCAD、Viewlogic、PowerPCB、Cadence PSD、MentorGraphices的Expedition PCB、Zuken CadStart、Winboard/Windraft/Ivex-SPICE、PCB Studio、TANGO、PCBWizard(與LiveWire配套的PCB制作軟件包)、ultiBOARD7(與multiSIM2001配套的PCB制作軟件包)等等。,3.IC設(shè)計(jì)工具,1、設(shè)計(jì)輸入工具 這是任何一種EDA軟件必須具備的基本功能。像Cadence的composer,viewlogic的viewdraw,硬件描述語言VHDL、Verilog HDL是主要設(shè)計(jì)語言。,2、設(shè)計(jì)仿真工具 我們使用EDA工具的一個(gè)最大好處是可以驗(yàn)證設(shè)計(jì)是否正確,幾乎每個(gè)公司的EDA產(chǎn)品都有仿真工具。Verilog-XL、NC-verilog用于Verilog仿真,Leapfrog用于VHDL仿真,3、綜合工具 綜合工具可以把HDL變成門級網(wǎng)表。這方面Synopsys工具占有較大的優(yōu)勢,它的Design Compile是作為一個(gè)綜合的工業(yè)標(biāo)準(zhǔn),它還有另外一個(gè)產(chǎn)品叫Behavior Compiler,可以提供更高級的綜合。,3.2.5 現(xiàn)代電子設(shè)計(jì)流程,1、自上向下的系統(tǒng)級分析,傳統(tǒng)的自下而上的硬件電路設(shè)計(jì)方法已經(jīng)沿用了幾十年,隨著計(jì)算機(jī)技術(shù)、大規(guī)模集成電路技術(shù)的發(fā)展,這種設(shè)計(jì)方法已落后于當(dāng)今技術(shù)的發(fā)展。一種嶄新的自上而下的設(shè)計(jì)方法已經(jīng)興起,它為硬件電路設(shè)計(jì)帶來一次重大的變革。,圖 1.22 自上而下設(shè)計(jì)系統(tǒng)硬件的過程,2.面向CPLD/FPGA的芯片級設(shè)計(jì),可編程邏輯器件的設(shè)計(jì)是指利用EDA開發(fā)軟件和編程工具對器件進(jìn)行開發(fā)的過程。高密度復(fù)雜可編程邏輯器件的設(shè)計(jì)流程如圖1.23所示,它包括設(shè)計(jì)準(zhǔn)備,設(shè)計(jì)輸入,功能仿真,設(shè)計(jì)處理,時(shí)序仿真和器件編程及測試等七個(gè)步驟。,圖 1.23 可編程邏輯器件設(shè)計(jì)流程,1.設(shè)計(jì)準(zhǔn)備,在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計(jì)和器件選擇等準(zhǔn)備工作。設(shè)計(jì)人員根據(jù)任務(wù)要求,如系統(tǒng)的功能和復(fù)雜度,對工作速度和器件本身的資源、成本及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類型。一般采用自上而下的設(shè)計(jì)方法,也可采用傳統(tǒng)的自下而上的設(shè)計(jì)方法。,2.設(shè)計(jì)輸入,設(shè)計(jì)人員將所設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計(jì)算機(jī)的過程稱為設(shè)計(jì)輸入。設(shè)計(jì)輸入通常有以下幾種形式。,1)原理圖輸入方式,原理圖輸入方式是一種最直接的設(shè)計(jì)描述方式,要設(shè)計(jì)什么,就從軟件系統(tǒng)提供的元件庫中調(diào)出來,畫出原理圖,這樣比較符合人們的習(xí)慣。這種方式要求設(shè)計(jì)人員有豐富的電路知識及對PLD的結(jié)構(gòu)比較熟悉。其主要優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號的觀察和電路的調(diào)整;缺點(diǎn)是效率低,特別是產(chǎn)品有所改動,需要選用另外一個(gè)公司的PLD器件時(shí),就需要重新輸入原理圖,而采用硬件描述語言輸入方式就不存在這個(gè)問題。,2)硬件描述語言輸入方式,硬件描述語言是用文本方式描述設(shè)計(jì),它分為普通硬件描述語言和行為描述語言。,普通硬件描述語言有ABEL、CUR和LFM等,它們支持邏輯方程、真值表、狀態(tài)機(jī)等邏輯表達(dá)方式,主要用于簡單PLD的設(shè)計(jì)輸入。行為描述語言是目前常用的高層硬件描述語言,主要有VHDL和Verilog HDL兩個(gè)IEEE標(biāo)準(zhǔn)。其突出優(yōu)點(diǎn)有:語言與工藝的無關(guān)性,可以使設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便確立方案的可行性;,語言的公開可利用性,便于實(shí)現(xiàn)大規(guī)模系統(tǒng)的設(shè)計(jì);具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計(jì)輸入庫之間的轉(zhuǎn)換非常方便,用不著對底層的電路和PLD結(jié)構(gòu)的熟悉。,3)波形輸入方式,波形輸入方式主要是用來建立和編輯波形設(shè)計(jì)文件,以及輸入仿真向量和功能測試向量。波形設(shè)計(jì)輸入適用于時(shí)序邏輯和有重復(fù)性的邏輯函數(shù)。系統(tǒng)軟件可以根據(jù)用戶定義的輸入輸出波形自動生成邏輯關(guān)系。波形編輯功能還允許設(shè)計(jì)人員對波形進(jìn)行拷貝、剪切、粘貼、重復(fù)與伸展,從而可以用內(nèi)部節(jié)點(diǎn)、觸發(fā)器和狀態(tài)機(jī)建立設(shè)計(jì)文件,并將波形進(jìn)行組合,顯示各種進(jìn)制的狀態(tài)值,也可以將一組波形重疊到另一組波形上,對兩組仿真結(jié)果進(jìn)行比較。,3.功能仿真,功能仿真也叫前仿真。用戶所設(shè)計(jì)的電路必須在編譯之前進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒有延時(shí)信息,對于初步的功能檢測非常方便。仿真前,要先利用波形編輯器和硬件描述語言等建立波形文件和測試向量(即將所關(guān)心的輸入信號組合成序列),仿真結(jié)果將會生成報(bào)告文件和輸出信號波形,從中便可以觀察到各個(gè)節(jié)點(diǎn)的信號變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)輸入中修改邏輯設(shè)計(jì)。,4.設(shè)計(jì)處理,設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過程中,編譯軟件將對設(shè)計(jì)輸入文件進(jìn)行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。,1)語法檢查和設(shè)計(jì)規(guī)則檢查,設(shè)計(jì)輸入完成后,首先進(jìn)行語法檢查,如原理圖中有無漏連信號線,信號有無雙重來源,文本輸入文件中關(guān)鍵字有無輸錯(cuò)等各種語法錯(cuò)誤,并及時(shí)列出錯(cuò)誤信息報(bào)告供設(shè)計(jì)人員修改,然后進(jìn)行設(shè)計(jì)規(guī)則檢驗(yàn),檢查總的設(shè)計(jì)有無超出器件資源或規(guī)定的限制,并將編譯報(bào)告列出,指明違反規(guī)則情況以供設(shè)計(jì)人員糾正。,2)邏輯優(yōu)化和綜合,化簡所有的邏輯方程或用戶自建的宏,使設(shè)計(jì)所占用的資源最少。綜合的目的是將多個(gè)模塊化設(shè)計(jì)文件合并為一個(gè)網(wǎng)表文件,并使層次設(shè)計(jì)平面化。,3)適配和分割,確立優(yōu)化以后的邏輯能否與器件中的宏單元和I/O單元適配,然后將設(shè)計(jì)分割為多個(gè)便于識別的邏輯小塊形式映射到器件相應(yīng)的宏單元中。如果整個(gè)設(shè)計(jì)較大,不能裝入一片器件時(shí),可以將整個(gè)設(shè)計(jì)劃分(分割)成多塊,并裝入同一系列的多片器件中去。分割可全自動、部分或全部用戶控制,目的是使器件數(shù)目最少,器件之間通信的引腳數(shù)目最少。,傳統(tǒng)的自下而上的硬件電路設(shè)計(jì)方法已經(jīng)沿用了幾十年,隨著計(jì)算機(jī)技術(shù)、大規(guī)模集成電路技術(shù)的發(fā)展,這種設(shè)計(jì)方法已落后于當(dāng)今技術(shù)的發(fā)展。一種嶄新的自上而下的設(shè)計(jì)方法已經(jīng)興起,它為硬件電路設(shè)計(jì)帶來一次重大的變革。,4)布局和布線,布局和布線工作是在上面的設(shè)計(jì)工作完成后由軟件自動完成的,它以最優(yōu)的方式對邏輯元件布局,并準(zhǔn)確地實(shí)現(xiàn)元件間的互連。布線以后軟件自動生成報(bào)告,提供有關(guān)設(shè)計(jì)中各部分資源的使用情況等信息。,5.時(shí)序仿真,時(shí)序仿真又稱后仿真或延時(shí)仿真。由于不同器件的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)造成不同的影響,因此在設(shè)計(jì)處理以后,對系統(tǒng)和各模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能,以及檢查和消除競爭冒險(xiǎn)等是非常有必要的。實(shí)際上這也是與實(shí)際器件工作情況基本相同的仿真。,6.器件編程測試,時(shí)序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。對EPLD/CPLD來說,是產(chǎn)生熔絲圖文件,即JED文件,對于FPGA來說,是產(chǎn)生位流數(shù)據(jù)文件(Bitstream Generation),然后將編程數(shù)據(jù)放到對應(yīng)的具體可編程器件中去。,器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等。普通的EPLD/CPLD器件和一次性編程的FPGA需要專用的編程器完成器件的編程工作。基于SRAM的FPGA可以由EPROM或其它存儲體進(jìn)行配置。在線可編程的PLD器件不需要專門的編程器,只要一根編程下載電纜就可以了。,器件在編程完畢后,可以用編譯時(shí)產(chǎn)生的文件對器件進(jìn)行校驗(yàn)、加密等工作。對于支持JTAG技術(shù),具有邊界掃描測試BST(BandaryScan Testing)能力和在線編程能力的器件來說,測試起來就更加方便。,謝謝觀看,/,歡迎下載,BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH,內(nèi)容總結(jié),現(xiàn)代電子設(shè)計(jì)與應(yīng)用。高密度復(fù)雜可編程邏輯器件的設(shè)計(jì)流程如圖1.23所示,它包括設(shè)計(jì)準(zhǔn)備,設(shè)計(jì)輸入,功能仿真,設(shè)計(jì)處理,時(shí)序仿真和器件編程及測試等七個(gè)步驟。缺點(diǎn)是效率低,特別是產(chǎn)品有所改動,需要選用另外一個(gè)公司的PLD器件時(shí),就需要重新輸入原理圖,而采用硬件描述語言輸入方式就不存在這個(gè)問題。在設(shè)計(jì)處理過程中,編譯軟件將對設(shè)計(jì)輸入文件進(jìn)行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。如果整個(gè)設(shè)計(jì)較大,不能裝入一片器件時(shí),可以將整個(gè)設(shè)計(jì)劃分(分割)成多塊,并裝入同一系列的多片器件中去。分割可全自動、部分或全部用戶控制,目的是使器件數(shù)目最少,器件之間通信的引腳數(shù)目最少。布局和布線工作是在上面的設(shè)計(jì)工作完成后由軟件自動完成的,它以最優(yōu)的方式對邏輯元件布局,并準(zhǔn)確地實(shí)現(xiàn)元件間的互連。器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等,