新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > FPGA設(shè)計(jì)開(kāi)發(fā)軟件ISE使用技巧之:ISE軟件的設(shè)計(jì)流程

FPGA設(shè)計(jì)開(kāi)發(fā)軟件ISE使用技巧之:ISE軟件的設(shè)計(jì)流程

作者: 時(shí)間:2015-02-02 來(lái)源:網(wǎng)絡(luò) 收藏

  6.3 軟件的設(shè)計(jì)流程

本文引用地址:http://2s4d.com/article/269334.htm

  公司的軟件是一套用以開(kāi)發(fā)公司的&CPLD的集成開(kāi)發(fā)軟件,它提供給用戶(hù)一個(gè)從設(shè)計(jì)輸入到綜合、布線、仿真、下載的全套解決方案,并很方便地同其他EDA工具接口。

  其中,原理圖輸入用的是第三方軟件ECS;狀態(tài)圖輸入用的是StateCAD;HDL綜合可以使用公司開(kāi)發(fā)的XST、Synopsys公司開(kāi)發(fā)的 Express和Synplicity公司的Synplify/Synplify Pro等;測(cè)試激勵(lì)可以是圖形化的HDL Bencher,也可以由用戶(hù)提供測(cè)試代碼;通過(guò)ModelSim XE(Xilinx Edition)或ModelSim SE進(jìn)行仿真。

  Xilinx為ModelSim預(yù)留了接口,可以直接在環(huán)境中打開(kāi),使用非常方便。并且ModelSim支持綜合前、后仿真,以及時(shí)序仿真,功能很強(qiáng)大。

  除了上述軟件以外,也可以使用其他公司的相關(guān)EDA軟件產(chǎn)品。

  本節(jié)將對(duì)ISE的軟件設(shè)計(jì)流程做一個(gè)全面的介紹。一般來(lái)說(shuō)完整的ISE軟件設(shè)計(jì)流程包括:電路設(shè)計(jì)與輸入、功能仿真、綜合、綜合后仿真、實(shí)現(xiàn)、布局布線后仿真與驗(yàn)證以及下載調(diào)試等主要步驟,如圖6.6所示。

  具體講解如下。

  1.設(shè)置工作環(huán)境

  這一步并不是總是需要。通常用在第一次使用ISE或需要對(duì)某些項(xiàng)目進(jìn)行修改時(shí),一般有以下幾項(xiàng)需要設(shè)置:這些設(shè)置主要是在“Edit”/“Preferences”下完成的,如圖6.7所示。

  

 

  圖6.6 ISE下設(shè)計(jì)流程圖

  

 

  圖6.7 “Preferences”對(duì)話框

  在ISE General中主要有下面幾個(gè)選項(xiàng)可以進(jìn)行設(shè)置。

  (1)常用的。這主要是設(shè)置項(xiàng)目管理器中文件的顯示方式、字體、窗口的顯示方式等,一般用默認(rèn)值就行。

  (2)圖形編輯器(Schematic Editor)。這里可設(shè)置跳格鍵(Tab)的字符個(gè)數(shù)、編輯器的字體等,另外除了直接用ISE提供的HDL編輯器外,也可以采用第三編輯器,如gvim就是一款非常優(yōu)秀的代碼編輯器,有興趣的讀者可以在網(wǎng)上查閱相關(guān)資料。

  (3)流程設(shè)置。

  (4)工具設(shè)置。主要設(shè)置仿真器ModelSim、HDL測(cè)試臺(tái)生成工具HDL Bencher、狀態(tài)圖輸入工具State CAD的工作目錄。其實(shí)要設(shè)置的就是ModelSim的工作目錄,因?yàn)楹髢身?xiàng)通常在安裝完后ISE已經(jīng)設(shè)好了。

  2.新建工程

  這一步和其他的軟件開(kāi)發(fā)一樣,ISE要求在對(duì)文件進(jìn)行綜合或布線之前必須要有一個(gè)存在的工程,在新建工程時(shí),需要設(shè)置以下幾點(diǎn)。

  (1)工程名,最好用英文不要有漢字,因?yàn)镮SE下有些工具對(duì)于含有漢字的文件目錄支持的不是很好。

  (2)工程所在目錄。ISE所產(chǎn)生的輸出文件將全部放在該目錄下,但對(duì)源文件的目錄沒(méi)有要求。

  (3)器件家族。即設(shè)計(jì)中所采用的FPGA是Xilinx的哪一大類(lèi)。

  (4)器件型號(hào)。具體大類(lèi)下的哪一種器件,此外還要設(shè)置封裝和速度等級(jí)等,這些信息都可以從芯片上提供的信息直接得到。

  (5)綜合軟件。由于ISE預(yù)置了4種可選的綜合器接口(XST為Xilinx自己開(kāi)發(fā),F(xiàn)PGA Express是Synopsys公司的OEM版,在安裝ISE時(shí)就已經(jīng)裝好了。而Synplify/Synplify Pro則需要另外購(gòu)買(mǎi)并安裝),所以必須選擇一種作為該工程的綜合器。4種綜合器全部支持Verilog和VHDL。但有一點(diǎn)必須注意:如果設(shè)計(jì)中用到原理圖,則只能選擇XST或FPGA Express作綜合器,因?yàn)镾ynplify Pro不支持原理圖方式。

  3.添加設(shè)計(jì)源文件

  如果已有源文件,直接加入即可,否則可采用原理圖方式或?qū)慔DL代碼方式新建文件再加入。ISE下支持多種新建資源類(lèi)型,包括:User Document(工程說(shuō)明文件)、VHDL module(VHDL源代碼文件)、VHDL Library(VHDL庫(kù))、VHDL Package(VHDL包)、VHDL Test Bench(VHDL測(cè)試激勵(lì))、Verilog Module(Verilog源代碼文件)、Corgen Generator(IP核生成工具)、Schematic(原理圖)、Test Bench Waveform(測(cè)試激勵(lì)波形)、BMM文件(塊RAM映射文件)、State Diagram(狀態(tài)轉(zhuǎn)移圖)、UCF(用戶(hù)約束文件)等。每種類(lèi)型的資源在ISE都有對(duì)應(yīng)的處理工具。

  4.寫(xiě)測(cè)試文件

  這一步可以利用HDL Bencher工具自動(dòng)產(chǎn)生。測(cè)試臺(tái)的主要功能是給被測(cè)實(shí)體加上輸入激勵(lì),再比較其輸出是否與期望值一致,并給出一些提示信息。但推薦大家自己寫(xiě)測(cè)試代碼,通過(guò)寫(xiě)代碼的測(cè)試靈活性更強(qiáng),而且對(duì)于比較復(fù)雜的設(shè)計(jì),有時(shí)在仿真時(shí)還需要讀取文件數(shù)據(jù),或?qū)⒆罱K的仿真結(jié)果寫(xiě)進(jìn)文件或打印,這在HDL Bencher下是很難完成的。

  5.功能仿真

  利用ModelSim來(lái)檢查電路仿真結(jié)果是否正確。如果編譯有錯(cuò),則先將錯(cuò)誤更改。如此反復(fù)直到仿真正確為止。這只是用于檢查代碼有無(wú)錯(cuò)誤,ModelSim最主要的作用在于通過(guò)仿真觀察波形來(lái)驗(yàn)證設(shè)計(jì)的功能是否正確,這部分工作對(duì)于一個(gè)設(shè)計(jì)來(lái)說(shuō)是非常重要的,因?yàn)槿绻捌诘墓δ芊抡孀龅牟坏轿?,?huì)直接影響到最終電路功能的實(shí)現(xiàn),必須在確保功能仿真沒(méi)有問(wèn)題的前提下,再進(jìn)行下面的步驟。

  6.綜合

  通過(guò)這一步將設(shè)計(jì)轉(zhuǎn)換成具體的電路圖。如果設(shè)計(jì)有錯(cuò),有可能綜合通不過(guò)。這就要求用戶(hù)必須按照可綜合代碼的風(fēng)格來(lái)設(shè)計(jì)。另外,綜合有很多屬性是可以設(shè)置的,如果對(duì)設(shè)計(jì)中的某些項(xiàng)目(如速度)有要求的話需要預(yù)先設(shè)置好。在ISE的高級(jí)版本中,XST已經(jīng)支持Veilog和VHDL混合語(yǔ)言代碼輸入,XST的輸出文件是NGC網(wǎng)表。

  7.綜合后仿真

  綜合實(shí)現(xiàn)后要進(jìn)行綜合后仿真,檢驗(yàn)綜合后功能是否符合設(shè)計(jì)要求,如果不符合要求要判斷是否是原理圖設(shè)計(jì)的問(wèn)題,進(jìn)一步對(duì)代碼進(jìn)行優(yōu)化,直到符合設(shè)計(jì)要求為止。

  8.設(shè)計(jì)用戶(hù)約束文件

  用戶(hù)約束文件主要包括時(shí)序約束文件和管腳約束文件,時(shí)序約束可以在ISE自帶的Constraints Editor下完成,管腳約束是在PACE(約束編輯器)下完成的。約束設(shè)計(jì)完畢生成UCF文件。

  9.實(shí)現(xiàn)

  所謂實(shí)現(xiàn)(Implement)是將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊與硬件原語(yǔ),將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布局布線,達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的。實(shí)現(xiàn)主要分為3個(gè)步驟:翻譯(Translate)邏輯網(wǎng)表、映射(Map)到器件單元與布局布線(Place&Route)。

  10.布局布線后仿真

  所謂布局布線仿真,是將Xilinx布線所產(chǎn)生的延遲加反標(biāo)到電路后進(jìn)行仿真。如果采用ModelSim仿真,在ISE下提供了4個(gè)仿真級(jí)別:Simulate Behavioral Model(行為仿真)、Simulate Post-Translate Verilog Model(翻譯后仿真)、Simulate Post-Map Verilog Model(映射后仿真)、Simulate Post-Place&Route Verilog Model(布局布線后仿真)。

  布局布線后生成的仿真時(shí)延文件包含的時(shí)延信息最全,不僅包含門(mén)延時(shí),還包括實(shí)際布線延時(shí),所以布線后仿真最準(zhǔn)確,能較好地反映芯片的實(shí)際工作情況。

  11.下載

  把Xilinx布線后產(chǎn)生的結(jié)果轉(zhuǎn)換成配置文件后置入FPGA中。下載成功后就可以測(cè)試實(shí)際電路了。如果需要脫機(jī)配置,則必須將配置文件寫(xiě)入外置存儲(chǔ)器中。下載時(shí)需要將器件用JTAG線與PC機(jī)連接完成下載。

  其實(shí)上面的10個(gè)步驟并不是一定要按部就班,這取決于設(shè)計(jì)者的熟練程度和設(shè)計(jì)水平。例如測(cè)試臺(tái)的編寫(xiě)、前仿真、后仿真并不是必須的。但為了保證設(shè)計(jì)的正確性和節(jié)約查錯(cuò)所耗的時(shí)間,推薦設(shè)計(jì)者一步一步操作,這樣能夠及時(shí)發(fā)現(xiàn)錯(cuò)誤及時(shí)更正。

  ISE軟件一個(gè)特點(diǎn)就是具有良好的開(kāi)發(fā)界面,新建一個(gè)工程后,在“Processes for Source”對(duì)話框中即羅列出了ISE下FPGA設(shè)計(jì)流程中的各個(gè)環(huán)節(jié),如圖6.8所示,讀者可將圖中標(biāo)注的內(nèi)容與上面介紹的FPGA的設(shè)計(jì)流程中的各個(gè)步驟相對(duì)應(yīng),可以看出,界面上列出了設(shè)計(jì)流程的各個(gè)步驟,設(shè)計(jì)時(shí)只需要按照順序依次實(shí)現(xiàn)就可以了,操作很簡(jiǎn)便。

  

 

  圖6.8 設(shè)計(jì)流程在ISE界面下的體現(xiàn)

  由于ISE提供的集成開(kāi)發(fā)環(huán)境非常好用,故推薦從ISE中來(lái)啟動(dòng)其他程序,當(dāng)然也可以在各自的軟件環(huán)境中完成上述步驟。

  例如在Synplify中建工程、輸入文件和綜合,在ModelSim中新建工程并做仿真,用Xilinx的Design Manager(這個(gè)程序在ISE中是找不到的,因?yàn)镮SE是通過(guò)命令行方式調(diào)用該程序使其在后臺(tái)運(yùn)行,但可以在安裝目錄下找到它),再運(yùn)行JTAG編程器下載。

  本節(jié)對(duì)ISE的FPGA設(shè)計(jì)流程做了一個(gè)簡(jiǎn)單的介紹,讀者可對(duì)照2.6節(jié)加深對(duì)這一流程的理解。

fpga相關(guān)文章:fpga是什么




關(guān)鍵詞: FPGA Xilinx ISE

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉