FPGA設(shè)計全流程
出處:quanke 發(fā)布于:2007-09-18 15:20:50
章 Modelsim編譯Xilinx庫
本章介紹如何編譯HDL必須的Xilinx庫和結(jié)構(gòu)仿真。
創(chuàng)建將被編譯庫的目錄
在編譯庫之前,先建立一個目錄(事實上必須建立一個目錄),步驟如下。(假設(shè)Modelsim的安裝目錄是“$Modeltech_6.0”,ISE的安裝目錄是“$Xilinx”)
◆ 在“$Modeltech_6.0/”目錄下建立一個名為XilinxLib的文件夾;
◆ 啟動Modelsim后,從“File”菜單項中點擊“Change Directory”并指定到剛剛建立的那個文件夾“XilinxLib”;
◆ 接下來要做的事情是將Xilinx庫編譯到“XilinxLib”文件夾中。有三個庫需要被編譯。它們分別是“simprims”,“unisims”和“XilinxCoreLib”;(所有這些庫文件都在“$Xilinx/verilog/src”目錄下)
◆ 點擊Modelsim中的“Workspace”窗口,建立一個名為Xilinx_CoreLib的新庫;(這個操作創(chuàng)建一個名為“Xilinx_CoreLib”的文件夾,你可以在“Workspace”窗口中看到它)
◆ 現(xiàn)在開始編譯!在“Compile”菜單中點擊“Compile”,選擇“$Xinlinx/verilog/scr/XilinxCoreLib”目錄中所有的文件,在彈出的對話框中選中剛剛建立的“Xilinx_CoreLib”文件夾,再點擊“Compile”按鈕就可以了編譯了;
◆ 用同樣的方式編譯其他兩個本地庫(“simprims”和“unisims”);
第二章 調(diào)用Xilinx CORE-Generator
當(dāng)需要在設(shè)計中生成參數(shù)化和的IP內(nèi)核(黑箱子)時,無論是通過原理圖方式還是HDL方式,CORE-Generator都是一個非常有用的程序。
利用CORE-Generator創(chuàng)建一個IP核
利用Xilinx提供的CORE-Generator來生成IP核是非常簡單的。內(nèi)核是全參數(shù)化的,這就意味著你只需要在空白處填入幾個數(shù)字和參數(shù),然后程序就會自動產(chǎn)生一個你所需要的
內(nèi)核。(有些內(nèi)核是全的,有些則沒有這么慷慨)
利用CORE-Generator來生成IP核的步驟如下:
◆ 在“程序”中找到“Xilinx”項,然后在“Accessories”中啟動單獨存在的“CORE-Generator”;
◆ 在“Part”標(biāo)簽欄中選擇恰當(dāng)?shù)腇PGA模型;
◆ 從“Generation”標(biāo)簽欄中選擇正確的設(shè)計流;(完成后按“OK”按鈕)
◆ 定制你的參數(shù)化內(nèi)核;
◆ 在內(nèi)核生成的同時,會彈出一個“Readme File”的信息框來通知一些重要的信息;
◆ “*.v”文件是用來作仿真和綜合用的,而“*.veo”文件是用來作綜合實例用的。(調(diào)用意味著把相應(yīng)的文件加入Synplify.Pro工程中,而實例指的是可以拷貝這個文件中的某些線到HDL設(shè)計的頂層模塊中去。退出?。?
第三章 使用Synplify.Pro綜合HDL和內(nèi)核
綜合是將設(shè)計好的HDL代碼,圖形代碼和原理圖轉(zhuǎn)變成邏輯單元的技術(shù)。同與硬件執(zhí)行和物理布線非常接近的物理綜合相比,邏輯綜合是更高層次的綜合技術(shù)。
利用Synplify.Pro進(jìn)行邏輯綜合
Synplify.Pro對于大容量低價格的Xilinx Spartan系列FPGA而言,有著非常好的綜合能力。
具體步驟如下:
◆ 首先創(chuàng)建一個工程;
◆ 往工程中加入HDL文件(我的演示文件有三個文件,CORE-Generator生成的“async_fifo.v”和“dcm4clk”和一個Verilog頂層文件“top.v”)。在Synplify.Pro環(huán)境中設(shè)置“Implementation Option”;(如果讀者非常熟練的話,可以省略這步)
◆ 往CORE-Generator生成的兩個Verilog文件中插入Synplify.Pro能夠識別的指示這些指示告訴綜合器如何處理這兩個特殊的文件;
◆ 插入“/*synthesis syn_black_box*/”指示通知Synplify.Pro把模塊當(dāng)作黑箱子來處理,同時指示“/*synthesis syn_isclock=1*/”表示這個作為時鐘輸入端的端口不能被綜合器識別,因為它除了端口名外沒有下層結(jié)構(gòu);
◆ 將工程保存在合適的地方,然后綜合這個工程;
◆ 在綜合完成后,選擇“Technology View”按鈕來觀察層次結(jié)構(gòu);(你可以發(fā)現(xiàn)內(nèi)核
◆ 不管你相信與否!Synplify.Pro已經(jīng)生成了你所希望的東西。(擁有專用Clock-Input-Buffer,IBUG連接的DCM結(jié)構(gòu),并且有一個從Global-Clock-Buffer,BUFG的反饋結(jié)構(gòu)“CLKFB”)
第四章 綜合后的項目執(zhí)行
執(zhí)行是將生成的位文件到FPGA的一個步驟。
同時創(chuàng)建不同的時序模型(post-translate模型,post-map模型和post-PAR模型)和時序。
ISE,可以用來執(zhí)行的工具
ISE控制著設(shè)計流的各個方面。通過Project Navigator界面,可以進(jìn)入所有不同的設(shè)計實體和實際執(zhí)行工具。同時也可以訪問于工程有關(guān)的文件和文檔。Project Navigator包含一個平坦的目錄結(jié)構(gòu);
在演示項目中,ISE的一些貧乏的功能不得不讓道給其他的第三方軟件,例如ModelSim.Pro和Synplify.Pro,因此ISE一般僅僅被用作執(zhí)行工具。
◆ 啟動ISE,用“EDIF”作為文件輸入;(“EDIF”文件由Synplify.Pro軟件生成,作為終端設(shè)計文件,可以被大多數(shù)的FPGA開發(fā)環(huán)境識別,例如ISE,Quartus,ispLevel。)
◆ 在建立了ISE工程后,可以加入其他兩個文件,一個是與內(nèi)核相關(guān)的“*.xco”文件,另一個是與DCM結(jié)構(gòu)有關(guān)的“*.xaw”;
◆ 現(xiàn)在可以生成需要仿真的所有的模塊;(點擊下劃紅線的選項)
◆ 如果想仿真post-PAR模塊,首先定義引腳,特別是專用的外部時鐘引腳;
◆ 啟動“map”程序中的“Floorplaner”選項來定義引腳;
◆ “DCMs”和“IBUFGs”應(yīng)該被放在正確的位置。
仿真是用來驗證設(shè)計的時序和功能是否正確的調(diào)試方法之一。
在驗證調(diào)試電路和觀察波形的過程中,應(yīng)該進(jìn)行四個不同類型的仿真。
不同的仿真類型針對的不同的平臺。功能仿真用來驗證設(shè)計的功能是否正確;
post-translate仿真用來驗證設(shè)計的基于原語延時;post-map仿真用來仿真基于原語延時和網(wǎng)絡(luò)延時;,post-PAR仿真在post-map仿真的基礎(chǔ)上加入了輸入輸出和布線延時。
我不會給出演示設(shè)計的全部詳細(xì)的仿真過程,但是給出了重點和重要的步驟。只給出了post-PAR仿真過程,列出了對于所有其他三種仿真需要的不同文件。(實際上,不同的文件是不同的參考時序模型:<DesignName>_translate.v是post-translate模型,<DesignName>_map.v是post-map模型。)
◆ 對于post-PAR仿真,需要四種類型的文件,“glb1.v”是用來作FPGA全局復(fù)位的(從“$Xilinx/verilog/src”目錄中拷貝),“<DesignName>_timesim.v”用來作post-PAR仿真(必須命名為<DesignName>.v),<TestBenchName.v>用來作仿真用和<DesignName>_timesim.sdf用來作時序后注。
◆ post-map仿真跟上述類似,post-translate沒有“*.sdf”文件,功能仿真除了沒有“*.sdf”文件外還沒有“glb1.v”文件;
◆ 通過點擊“Simulation”菜單下的“Start Simulation”命令把前面討論過的三個Xilinx庫文件加入到當(dāng)前仿真庫中;
◆ 在“Design”欄中選擇“glb1”和“<TestbenchName>”,仿真設(shè)計;
◆ 在“Transcript”窗口中輸入“add wave*”命令,你就可以到在波形窗口中出現(xiàn)了信號
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計運維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場調(diào)試與優(yōu)化實操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









