資源描述:
《EDA原理及VHDL教材-設(shè)計(jì)實(shí)現(xiàn)和》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真何賓2011.09設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-本章概要本章首先對(duì)建立用戶約束文件的方法和設(shè)計(jì)分區(qū)進(jìn)行了介紹。隨后,本章對(duì)ISE設(shè)計(jì)流程的實(shí)現(xiàn)過程進(jìn)行了詳細(xì)的介紹,其中包括翻譯、映射和布局布線的過程。在每個(gè)實(shí)現(xiàn)步驟中,介紹了屬性參數(shù)的設(shè)置以及查看時(shí)序報(bào)告的方法。在此基礎(chǔ)上,對(duì)布局布線后的設(shè)計(jì)進(jìn)行了時(shí)序仿真,對(duì)設(shè)計(jì)進(jìn)行時(shí)序仿真分別使用了Modelsim仿真器和ISE仿真器完成。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-實(shí)現(xiàn)過程概述在ISE中的實(shí)現(xiàn)(Implement)過程,是將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊與硬件原語,將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布
2、局布線,達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的。實(shí)現(xiàn)過程主要分為3個(gè)步驟:翻譯(Translate)邏輯網(wǎng)表,映射(Map)到器件單元與布局布線(Place&Route)。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-實(shí)現(xiàn)過程概述翻譯的主要作用是將綜合輸出的邏輯網(wǎng)表翻譯為Xilinx特定器件的底層結(jié)構(gòu)和硬件原語。映射的主要作用是將設(shè)計(jì)映射到具體型號(hào)的器件上。布局布線的主要作用是調(diào)用Xilinx布局布線器,根據(jù)用戶約束和物理約束,對(duì)設(shè)計(jì)模塊進(jìn)行實(shí)際的布局,并根據(jù)設(shè)計(jì)連接,對(duì)布局后的模塊進(jìn)行布線,產(chǎn)生PLD配置文件。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-繼續(xù)前面的設(shè)計(jì)前幾章仿真設(shè)計(jì)的秒表系統(tǒng),包括5
3、個(gè)輸入:CLK,RESET,LAP_LOAD,MODE和SRTSTP。如果已經(jīng)通過原理圖或HDL輸入創(chuàng)建了工程,并設(shè)計(jì)輸入了源文件和EDIF網(wǎng)表文件。創(chuàng)建UCF文件的步驟:1、在SourceTab選項(xiàng)卡中,選擇頂層文件stopwatch;2、選擇Project→NewSource,選擇ImplementationConstraintsFile;3、輸入stopwatch.ucf作為文件名,單擊Next;4、在列表中選擇stopwatch文件作為UCF的約束對(duì)象文件(UCF一般情況下是對(duì)頂層文件的約束),單擊Next,最后單擊Finish。設(shè)計(jì)實(shí)
4、現(xiàn)和時(shí)序仿真-設(shè)計(jì)實(shí)現(xiàn)過程如果從這章開始設(shè)計(jì),需要下載Xilinx提供的前面綜合后的設(shè)計(jì)文件,在ISE中創(chuàng)建一個(gè)功能,并且把設(shè)計(jì)文件添加到工程中。1、解壓縮文件wtut_edif.zip到空的工作目錄下;2、在Zip文件中包含表9.1所給出的文件設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)計(jì)實(shí)現(xiàn)過程3、打開ISE在ISim仿真器界面的工作臺(tái)窗口下的ISim>提示符后面輸入ise在PC機(jī)上,選擇開始->所有程序->XilinxISEDesignSuite11->ISE->ProjectNavigator。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)計(jì)實(shí)現(xiàn)過程4、創(chuàng)建一個(gè)新的工程,然后添加E
5、DIF網(wǎng)表:1)選擇File->NewProject2)輸入EDIF_Flow作為工程名3)選擇EDIF作為top_levelSourceType(頂層源文件類型)4)點(diǎn)擊“Next”按鈕5)選擇stopwatch.edf作為輸入設(shè)計(jì)文件6)選擇stopwatch.ucf作為約束文件7)點(diǎn)擊“Next”按鈕設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)計(jì)實(shí)現(xiàn)過程8)選擇下面:--DeviceFamily:Spartan3a--Device:xc3s700a--SpeedGrade:-4--package:fg4849)其它屬性設(shè)置為默認(rèn)值10)點(diǎn)擊“Next”按鈕11
6、)點(diǎn)擊“Finish”按鈕12)復(fù)制timer_preset.ngc到EDIF_Flow目錄中在Source標(biāo)簽下,選擇頂層模塊,stopwatch.edf或者stopwatch.edn,這使設(shè)計(jì)可以被實(shí)現(xiàn)(implement)。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)置實(shí)現(xiàn)屬性參數(shù)實(shí)現(xiàn)屬性決定了軟件映射,布局布線及優(yōu)化過程。這一部分介紹如何在設(shè)計(jì)實(shí)現(xiàn)中設(shè)置其屬性的過程,下面給出了設(shè)置屬性的步驟和方法:1、在SourceTab選項(xiàng)卡中,選擇頂層文件stopwatch;2、在Processes選項(xiàng)卡中,右鍵單擊ImplementDesign;3、選擇右鍵菜單欄中的
7、Properties選項(xiàng),ProcessesProperties對(duì)話框提供了Translate(翻譯),Map(映射),PlaceandRoute(布局布線),TimingReport(時(shí)序報(bào)告)等屬性,注意設(shè)計(jì)實(shí)現(xiàn)中不同方面的屬性類型;設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)置實(shí)現(xiàn)屬性參數(shù)4、如圖9.1,在對(duì)話框的右下角,設(shè)置屬性的顯示級(jí)別為Advanced,這個(gè)全局性的設(shè)置,可看到所有可用的屬性;5、點(diǎn)擊Place&RouteProperies分類。6、修改Place&RouteEffortLevel(Overall)為High,該屬性提高布局布線時(shí)的努力級(jí)
8、別。設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-設(shè)置實(shí)現(xiàn)屬性參數(shù)設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真-創(chuàng)建時(shí)序約束用戶約束文件(UCF)提供了一個(gè)無需回到設(shè)計(jì)輸入工具就能約束邏輯設(shè)計(jì)的構(gòu)造方法