《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計》課件第2章_第1頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計》課件第2章_第2頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計》課件第2章_第3頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計》課件第2章_第4頁
《基于FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計》課件第2章_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第2章基于原理圖的設(shè)計2.1XilinxISEFoundation介紹2.2基于原理圖的設(shè)計流程小結(jié)習(xí)題實驗項目

2.1XilinxISEFoundation介紹

ISEDesignSuite10.1是一個較完整的設(shè)計開發(fā)環(huán)境,它整合了Xilinx的嵌入式、DSP和邏輯設(shè)計等工具,集成了FPGA開發(fā)需要的所有功能,其開發(fā)工具包括:

●?ISEFoundation可編程邏輯設(shè)計軟件。

●?PlatformStudio嵌入式開發(fā)工具套件。

●?PlanAhead設(shè)計和分析工具。

●?ChipScopePro軟邏輯分析儀調(diào)試工具。

●?SystemGenerator數(shù)字信號處理系統(tǒng)設(shè)計工具。

●?AccelDSP系統(tǒng)綜合工具。2.1.1安裝ISEFoundation

在安裝ISEFoundation之前,應(yīng)完成以下準(zhǔn)備工作:

(1)登錄Xilinx公司官方網(wǎng)站注冊10.1產(chǎn)品(網(wǎng)址http://www.X/cn/register),并獲取注冊ID,可在60天評估期內(nèi)免費使用。

(2)下載ISEFoundation安裝文件,或向Xilinx申請一張DVD安裝光盤。下面以Windows操作系統(tǒng)下的安裝為例介紹安裝過程。在本例中,ISEFoundation軟件安裝于D盤的Xilinx目錄下。雙擊安裝程序Setup.exe,啟動向?qū)С绦?,出現(xiàn)歡迎頁面,然后單擊 按鈕,依次進(jìn)入以下對話框:

(1)在輸入注冊ID號【EnterRegistrationID】對話框中輸入注冊ID,如圖2.1所示。

(2)在選擇安裝軟件產(chǎn)品對話框中確認(rèn)安裝ISE設(shè)計軟件。

(3)在接下來的兩個對話框中選擇接受軟件使用許可協(xié)議。

(4)在設(shè)置目標(biāo)路徑【SelectDestinationDirectory】對話框中選擇或輸入安裝路徑,在圖2.2中安裝路徑設(shè)為“D:\Xilinx\10.1”。圖2.1注冊ID輸入對話框圖2.2選擇安裝路徑界面

(5)在安裝組件選擇對話框中選擇需要安裝的軟件組件,并確認(rèn)有足夠的磁盤安裝空間(完全安裝大概需要5.6G的磁盤空間),如圖2.3所示。在緊接著出現(xiàn)的兩個對話框里確認(rèn)路徑等環(huán)境變量設(shè)置和其它附件程序。

(6)確認(rèn)安裝信息對話框用于確認(rèn)環(huán)境變量的設(shè)置和安裝組件的信息,如圖2.4所示,確認(rèn)了各項安裝信息后,單擊按鈕,安裝程序開始復(fù)制文件。

(7)安裝程序完成文件復(fù)制,安裝過程結(jié)束。如果彈出請求聯(lián)網(wǎng)查詢軟件更新對話窗口,可直接將其關(guān)閉。建議在條件允許的情況下請用戶盡可能地為ISE軟件安裝最新的補(bǔ)丁包,最大可能地消除使用過程中由于軟件漏洞而帶來的問題和困惑。

完成安裝后,Windows系統(tǒng)“開始”菜單下的程序組中和桌面上會生成啟動XilinxISE軟件的快捷方式。2.1.2ISEFoundation界面

雙擊桌面上的快捷方式啟動ISEFoundation軟件,即可進(jìn)入工程管理器(ProjectNavigator)。工程管理器(ProjectNavigator)為ISEFoundation提供了一個集成界面,如圖2.5所示,其主界面由標(biāo)題欄、菜單欄、工具欄、資源管理窗口、資源操作窗口、多文檔編輯窗口、信息顯示窗口等組成。ISE軟件所有的功能都可以通過它來啟動。圖2.5工程管理器(ProjectNavigator)用戶界面

(1)右側(cè)居中的多文檔編輯窗口為設(shè)計者提供了一個設(shè)計、編輯、瀏覽各類項目子文檔的工作空間。在該窗口中激活不同的文檔窗口后,左側(cè)的資源管理窗口、資源操作窗口中將會隨之出現(xiàn)不同的欄目,工具欄也會發(fā)生相應(yīng)的改變,方便用戶操作。

(2)資源管理【Sources】窗口從不同視圖提供了對工程的整體瀏覽,可顯示當(dāng)前工程中的所有資源文件。該窗口的下方是一系列的視圖切換標(biāo)簽,用于切換視圖,其中資源【Sources】視圖層次化顯示了工程中的所有資源組成結(jié)構(gòu);文件視圖【Files】顯示了工程中的所有設(shè)計源文件,但沒顯示它們之間的層次關(guān)系;快照【Snapshots】視圖顯示工程中的快照,提供的是一個對工程目錄和遠(yuǎn)程資源的只讀記錄;庫【libraries】視圖顯示工程的加載庫和工程所對應(yīng)的用戶現(xiàn)行工作Work庫,Work庫中的元件對應(yīng)源文件都被完整列出;當(dāng)編輯窗口中打開原理圖文檔時,資源管理窗口還會出現(xiàn)模塊符號【Symbols】視圖,利用該視圖,用戶可方便地調(diào)用可用模塊符號。

(3)資源操作【Process】窗口顯示了對資源管理窗口中選中的資源文件進(jìn)行過的相關(guān)操作,并根據(jù)資源類型、設(shè)計流程和器件類型,按對應(yīng)執(zhí)行步驟的一般先后順序從上到下編排這些操作。雙擊操作欄目,相應(yīng)操作就被啟動,執(zhí)行的情況可通過欄目前的示意圖標(biāo)獲知。

(4)信息顯示【Transcript】窗口顯示ProjectNavigator的處理信息,如操作步驟信息、錯誤信息和警告信息等。另外該窗口還提供控制臺【Console】信息子窗口和文件查找【FindinFiles】子窗口??刂婆_信息窗口具有交叉鏈接功能,在調(diào)試時用來進(jìn)行錯誤定位十分方便。2.1.3ISEFoundation的集成工具

ISEFoundation集成了多種設(shè)計工具,它們分別用于設(shè)計流程的不同階段。下面按照設(shè)計輸入工具、綜合工具、仿真工具、實現(xiàn)工具和輔助設(shè)計工具這五大類對ISEFoundation中的主要集成工具進(jìn)行分類編排,并給出它們在ProjectNavigator中的常用啟動方法,如表2.1所示。2.2基于原理圖的設(shè)計流程

ISEFoundation作為一套完整的FPGA設(shè)計工具,涵蓋了輸入、綜合、實現(xiàn)、驗證和配置五大功能,并按一定的設(shè)計流程分步執(zhí)行,如圖2.6所示。具體設(shè)計流程包括設(shè)計輸入、綜合、行為和功能仿真、實現(xiàn)、靜態(tài)時序分析、時序仿真、器件配置等步驟。圖2.6ISEFoundation的設(shè)計流程圖

ISEFoundation具有多種形式的設(shè)計輸入文檔,并支持混合編譯,允許在一個工程項目中同時存在Verilog、VHDL和原理圖等多種形式的設(shè)計源文件。通常將設(shè)計輸入分為文本和圖形兩種輸入方式,其中文本輸入方式以硬件描述語言(HDL)方式為主,圖形方式則以原理圖輸入為其主要形式。一般的設(shè)計都采用以HDL為主、原理圖為輔的混合設(shè)計來發(fā)揮兩者的各自特色。

在本節(jié)中,通過采用原理圖輸入方式引導(dǎo)讀者完成一個具有停止控制端的雙向約翰遜計數(shù)器設(shè)計,并以Spartan-3EStarter開發(fā)板作為目標(biāo)板進(jìn)行試驗,以便讀者即使不具備HDL語言基礎(chǔ),也能掌握ISEFoundation的設(shè)計流程和軟件操作,使用FPGA完成簡單的數(shù)字系統(tǒng)設(shè)計。2.2.1創(chuàng)建工程

在Windows系統(tǒng)的【開始】菜單中選擇名為“ProjectNavigator”圖標(biāo)或雙擊桌面的“XilinxISE10.1”快捷方式,啟動工程管理器。工程管理器打開后,會默認(rèn)恢復(fù)最近使用過的工程界面。如果是第一次啟動它,將出現(xiàn)空白的工程界面。

在開始設(shè)計之前,先應(yīng)為該設(shè)計任務(wù)建立一個工程項目,對設(shè)計流程有一個大致的規(guī)劃和安排,以便于管理設(shè)計流程中產(chǎn)生的各類文檔。下面建立一個工程名為“jc2_sch”的項目,具體操作步驟如下:

(1)選擇【File】→【NewProject】,彈出新建工程向?qū)υ捒颉綨ewProjectWizard】。在工程保存路徑【ProjectLocation】欄選擇工程存放路徑,本例設(shè)為“E:\DSG_XLNX\jc2_sch”在工程名【Projectname】欄中輸入工程名稱“jc2_sch”;頂層模塊類型【Top-levelsourcetype】欄的下拉菜單中選擇【Schematic】項,如圖2.7所示。單擊 按鈕,執(zhí)行下一步操作。圖2.7新建工程向?qū)υ捒?/p>

(2)在工程屬性設(shè)置【ProjectProperties】對話框中,設(shè)置器件、綜合工具和仿真工具等選項。根據(jù)目標(biāo)板上的FPGA芯片型號,器件【Device】選擇Spartan3E系列的“XC3S500E”,封裝【Package】選擇“FG320”,速度等級【Speed】選擇“-5”;綜合工具【SynthesisTool】選擇ISEFoundation內(nèi)嵌的綜合器“XST”;仿真工具【Simulator】選擇ISE內(nèi)嵌的仿真器“ISESimulator”,如圖2.8所示。單擊 按鈕。圖2.8工程屬性設(shè)置對話框

(3)新建設(shè)計源文檔。選擇【Project】→【NewSource…】,彈出新建源文件向?qū)А綨ewSourceWizard】對話框。新建設(shè)計文檔包括原理圖、狀態(tài)圖、HDL語言、HDL測試文件和IPCore等多種類型的源文件。選擇【Schematic】項,創(chuàng)建原理圖文件,在【Filename】欄中輸入文件名“jc2_top”,選擇保存路徑,選中【Addtoproject】項,如圖2.9所示,為工程添加一個原理圖設(shè)計文件。單擊按鈕。圖2.9創(chuàng)建設(shè)計源文檔對話框

(4)在向?qū)У南乱粋€對話框中可以向工程添加已有的設(shè)計源文件,本設(shè)計沒有需要添加的文件,直接單擊按鈕。

(5)進(jìn)入新建源文件向?qū)У淖詈笠粋€對話框,單擊按鈕就建立了一個以原理圖為頂層設(shè)計文檔的完整工程,如圖2.10所示。圖2.10新建工程后的用戶界面如果想對工程的屬性進(jìn)行調(diào)整,可以通過下面的方法調(diào)出工程屬性對話框來重新進(jìn)行設(shè)置:

(1)在資源管理窗口中選擇目標(biāo)器件或頂層設(shè)計文檔。

(2)在上一步選中的器件或設(shè)計文檔處單擊右鍵,在彈出的窗口中選擇【Properties…】彈出工程屬性對話框,或在工程管理器的菜單欄上單擊【Source】→【Properties…】命令彈出工程屬性對話框進(jìn)行設(shè)置。2.2.2原理圖繪制

本節(jié)以約翰遜計數(shù)器為例介紹ISE軟件的原理圖繪制方法。約翰遜計數(shù)器又稱扭環(huán)型計數(shù)器,它是一種環(huán)形計數(shù)器。約翰計數(shù)器原理框圖見圖2.11所示,它由一個移位寄存器和一個組合反饋邏輯電路閉環(huán)構(gòu)成,反饋電路的輸出饋入移位寄存器的串行輸入端,反饋電路的輸入端根據(jù)移位寄存器計數(shù)器類型的不同,可饋入移位寄存器的串行輸出端或某些觸發(fā)器的輸出端。圖2.11約翰遜計數(shù)器原理框圖扭環(huán)型計數(shù)器是將移位寄存器最后一級的輸出取反后反饋到第一級輸入端而構(gòu)成的,該計數(shù)器也因此而得名。

約翰遜計數(shù)器的正常時序輸出的數(shù)碼符合相鄰兩個數(shù)碼之間只有一位碼元不同的特點,四位雙向約翰遜計數(shù)器的輸出數(shù)碼如表2.2所示。根據(jù)設(shè)計要求,完成后的電路原理圖如圖2.12所示。

SR4CLED、FJKC、OBUF、IBUF、INV和邏輯門都是從系統(tǒng)原理圖模塊庫中調(diào)出的元件模塊,其中OBUF、IBUF不具備邏輯功能,其它模塊的功能可通過軟件幫助快速了解,調(diào)用幫助的方法在本節(jié)后文中有介紹。

整個設(shè)計一共有八個端口:一個時鐘輸入端CLK;三個控制輸入端:左移控制端LEFT、右移控制端RIGHT和停止控制端STOP,控制信號都是低電平有效;四個計數(shù)輸出端:q(0)~q(3)。圖2.12用ECS繪制的約翰遜計數(shù)器電路原理圖

1.ECS軟件界面介紹

下面介紹ISE中內(nèi)嵌的原理圖編輯器ECS及其使用。原理圖編輯器ECS界面如圖2.13所示,該界面主要由菜單欄、工具欄、設(shè)置選項卡、符號選項卡、繪圖工作區(qū)和狀態(tài)欄等組成。圖2.13原理圖編輯器ECS界面下面介紹與原理圖繪制相關(guān)的主要操作方法。

(1)繪圖工具欄。繪圖工具欄包含了繪制原理圖的基本命令對應(yīng)的快捷按鈕,同菜單欄中的添加菜單包含的命令功能一致,如圖2.14所示。圖2.14繪圖工具欄快捷按鈕

(2)設(shè)置選項卡(Options)。當(dāng)在繪圖工具欄中使用某繪圖快捷按鈕后,ECS自動在設(shè)置選項卡里提示用戶設(shè)置該命令參數(shù)。設(shè)置選項卡的參數(shù)設(shè)置配合繪圖工具欄的快捷按鈕,就可以完成繪制原理圖中的所有基本操作。

(3)符號選項卡(Symbols)。符號選項卡是繪圖中選取模塊符號的工作區(qū)域,如圖2.15所示。模塊符號包含系統(tǒng)庫、用戶庫和項目庫中的元件模塊,并按照功能分類排列。系統(tǒng)庫是系統(tǒng)自帶的,包含一系列適合特定設(shè)計類型的核心元件模塊,用戶不可修改;用戶庫主要包括用戶自定義的元件或宏;項目庫是當(dāng)前工程項目所包含的所有元件的一個集成庫。

使用【SymbolNameFilter】篩選欄可對庫中的模塊進(jìn)行篩選?!綩rientation】旋轉(zhuǎn)欄中可選擇模塊放置時的旋轉(zhuǎn)角度。選定模塊后,在原理圖繪圖工作區(qū)單擊鼠標(biāo)左鍵完成模塊符號的放置。

【SymbolInfo】按鈕可啟動軟件幫助功能調(diào)出介紹選中模塊具體功能的數(shù)據(jù)手冊,利用此功能,讀者就可方便地確定電路原理圖中各模塊的邏輯功能,理解系統(tǒng)的設(shè)計思路。圖2.15符號選項卡界面

2.使用ECS繪制原理圖

下面介紹采用ECS完成具有停止控制功能的雙向約翰遜計數(shù)器的原理圖的繪制步驟。

(1)單擊符號選項卡,在【Categories】分類顯示目錄列表中選擇“Shift_Register”目錄,在模塊符號詳細(xì)列表【Symbols】中選擇“sr4cled”移位寄存器,放置一個移位寄存器在繪圖工作區(qū)中,按“ESC”鍵或右鍵單擊退出符號粘附狀態(tài)。同理完成余下模塊符號的放置,結(jié)果如圖2.16所示。讀者如不清楚其它模塊符號所在的庫,可以利用前面介紹的【SymbolNameFilter】篩選欄進(jìn)行查找。圖2.16添加模塊符號

(2)單擊按鈕,進(jìn)入連線模式,這時窗口左側(cè)的設(shè)置選項卡也會有相應(yīng)的變化。連線模式下鼠標(biāo)指針在繪圖工作區(qū)將變?yōu)椤?”字形狀,當(dāng)指針移動到模塊符號的管腳上時,“+”字的四個角將出現(xiàn)四個小方框。左側(cè)的設(shè)置選項卡中選擇默認(rèn)的自動連線方式,這樣用戶在繪制連線時只用考慮起點和終點位置,中間的連線路徑由軟件自動完成。在起點處單擊開始連線,在繪圖區(qū)任意點處雙擊或在管腳處單擊便可完成起止點間的連線繪制,如圖2.17所示。圖2.17繪制連線

(3)單擊按鈕,在左側(cè)的設(shè)置選項卡內(nèi)選擇“Namethebranch”項,在“Name”欄中輸入網(wǎng)表名,如CLK、LEFT、RIGHT、STOP等,如果是對總線命名則按格式“網(wǎng)表名(高位:低位)”輸入。移動鼠標(biāo)“+”字指針到要命名的網(wǎng)線上,單擊即完成對該網(wǎng)線的命名。如果是對總線命名,則此時網(wǎng)線將自動變粗,提示該網(wǎng)線為總線,如圖2.18所示。圖2.18添加網(wǎng)表名

(4)單擊按鈕,先在左側(cè)的設(shè)置選項卡中根據(jù)總線與網(wǎng)線之間位置選擇總線引腳方向,本例選擇“Right”。添加總線引腳時,先單擊網(wǎng)線一側(cè)的端點連接網(wǎng)線,另一側(cè)的總線引腳會自動與相鄰的總線相連;再按第三步的操作給網(wǎng)線命名。這里命名時要注意兩點,一是網(wǎng)線網(wǎng)表名應(yīng)與總線網(wǎng)表名保持一致,二是網(wǎng)線網(wǎng)表名后要添加序號,并放在小括弧中,如q(0)、q(3)等,如圖2.19所示。圖2.19添加總線引腳

(5)單擊按鈕,根據(jù)設(shè)計要求在左側(cè)的設(shè)置選項卡中選擇引腳類型或直接選擇【Addanautomaticmarker】項交由ECS軟件智能判定,如圖2.20所示。圖2.20添加I/O管腳

(6)檢查和保存設(shè)計文檔。單擊按鈕,檢查原理圖繪制是否有錯誤。如出錯,需進(jìn)行修改,直至檢查通過。

3.生成原理圖符號

ISE軟件對層次化設(shè)計提供了很好的支持,繪制好的原理圖可以很方便地轉(zhuǎn)換為原理圖符號,并被添加到模塊符號庫中,作為子模塊供更高層次的設(shè)計調(diào)用。下面介紹將繪制好的jc2_top原理圖轉(zhuǎn)換成原理圖符號的具體操作步驟。

(1)在ECS的菜單欄上單擊【Tools】→【SymbolWizard】,進(jìn)入符號向?qū)А維ymbolWizard】,彈出源文件頁【SourcePage】對話框。在該對話框中,符號管腳命名參考源文件【Pinnamesource】欄中的【Usingschematic】項,并在下拉列表中指定名稱為“jc2_top”;在形狀【Shape】欄選擇【Donotusereferencesymbol】→【Rectangle】,讓生成的符號是方塊圖,如圖2.21所示。單擊按鈕。圖2.21符號向?qū)г次募搶υ捒?/p>

(2)在管腳頁【PinPage】對話框中,列出了通過分析jc2_top原理圖得到的全部管腳信息,如圖2.22所示。這里無須調(diào)整,直接單擊按鈕。

(3)在屬性頁【OptionPage】對話框中,提供了生成符號的尺寸屬性細(xì)節(jié),如圖2.23所示。保持缺省值,直接單擊按鈕。

(4)符號預(yù)覽頁【PreviewPage】給出了生成的符號預(yù)覽效果圖,如圖2.24所示,單擊按鈕,接受所生成的模塊符號。

jc2_top原理圖對應(yīng)的原理圖符號就生成了,并自動保存在當(dāng)前工程的存儲路徑下,如圖2.25所示,如果要使用該模塊符號,可以像使用系統(tǒng)庫中的模塊一樣調(diào)用。圖2.22符號向?qū)Ч苣_頁對話框圖2.23符號向?qū)傩皂搶υ捒驁D2.24符號向?qū)У姆栴A(yù)覽頁圖2.25生成的模塊符號2.2.3邏輯綜合

綜合流程是邏輯設(shè)計的重要環(huán)節(jié),綜合結(jié)果的好壞直接影響著布局布線的最終效果。好的綜合工具能夠使設(shè)計占用芯片的物理面積最小、效率高、工作穩(wěn)定、工作速度快,因此,綜合工具通常是與邏輯器件的物理結(jié)構(gòu)有著密切的關(guān)系。

ISEFoundation提供了內(nèi)嵌的XST(XilinxSynthesisTechnology)綜合工具,XST是Xilinx自己設(shè)計的綜合工具,因此它與Xilinx的邏輯器件能夠非常好地融合,加上XST跟隨ISE已經(jīng)歷多個版本的不斷完善,綜合效果和表現(xiàn)令人滿意。在使用XST進(jìn)行綜合時,通過在綜合屬性設(shè)置對話框中設(shè)置綜合屬性參數(shù)來實現(xiàn)全局綜合參數(shù)和策略,滿足不同的邏輯設(shè)計要求。如圖2.26所示,在資源管理窗口中選擇【Implementation】模式,選中頂層設(shè)計文檔,右鍵單擊資源操作窗口中的【Synthesize-XST】項,在彈出的窗口中選擇【Properties】項,彈出綜合屬性設(shè)置對話框【SynthesisOptions】。對話框中包括綜合參數(shù)設(shè)置選項頁、HDL源代碼參數(shù)設(shè)置頁和Xilinx專用參數(shù)設(shè)置頁。綜合參數(shù)設(shè)置選項頁主要用于設(shè)置一些與綜合的全局目標(biāo)和整體策略相關(guān)的參數(shù);HDL源代碼參數(shù)設(shè)置頁主要設(shè)置與源代碼規(guī)則和編譯器的自動推論方式相關(guān)的屬性;Xilinx專用參數(shù)設(shè)置頁用于設(shè)置與Xilinx專用結(jié)構(gòu)相關(guān)的綜合屬性。在對各項參數(shù)沒有全面了解的情況下,一般選用缺省值。圖2.26綜合屬性設(shè)置在資源管理窗口中選擇【Implementation】模式,選中頂層設(shè)計文檔,資源操作窗口將按流程先后順序由上至下列出各項操作欄目,雙擊【Synthesize-XST】項,啟動XST綜合,如圖2.27所示。完成綜合后,雙擊【ViewSynthesisReport】、【ViewRTLSchematic】或【ViewTechnologySchematic】等項可分別瀏覽XST的綜合報告、綜合產(chǎn)生的寄存器傳輸級模塊符號和模塊內(nèi)部邏輯結(jié)構(gòu),如圖2.28、圖2.29和圖2.30所示。圖2.27執(zhí)行邏輯綜合圖2.28邏輯綜合報告圖2.29綜合得到的RTL模塊符號圖2.30綜合得到的模塊內(nèi)部邏輯結(jié)構(gòu)2.2.4物理實現(xiàn)

物理實現(xiàn)(Implement)是指將綜合輸出的邏輯網(wǎng)表轉(zhuǎn)換成所選器件的底層模塊與硬件原語,將設(shè)計映射到器件結(jié)構(gòu)上進(jìn)行布局布線,達(dá)到在選定器件上實現(xiàn)設(shè)計的目的。通常認(rèn)為實現(xiàn)過程包括轉(zhuǎn)換、映射和布局布線三個步驟,在圖2.31中給出了物理實現(xiàn)流程中的執(zhí)行工具、各類文件和相應(yīng)的輸入/輸出關(guān)系。

(1)轉(zhuǎn)換工具(NGDBuild):主要作用是將綜合輸出的邏輯網(wǎng)表翻譯為Xilinx特定器件的底層結(jié)構(gòu)和硬件原語。這里硬件原語是指Xilinx規(guī)定的FPGA內(nèi)不可再做細(xì)分的基本硬件結(jié)構(gòu),例如FPGA中的各類Buffer(緩沖器)。在翻譯過程中,設(shè)計文件和約束文件將被合并生成NGD(原始類型數(shù)據(jù)庫)輸出文件和BLD報告文件,其中NGD文件包含了當(dāng)前設(shè)計的全部邏輯描述,BLD文件是轉(zhuǎn)換的運行和結(jié)果報告。轉(zhuǎn)換工具可以導(dǎo)入EDN、EDF、EDIF、SEDIF等網(wǎng)表格式的設(shè)計文件,以及UCF(用戶約束文件)、NCF(網(wǎng)表約束文件)、NMC(物理宏庫文件)、NGC(含有約束信息的網(wǎng)表)等格式的約束文件。圖2.31物理實現(xiàn)流程圖

(2)映射工具(MapBuild):其主要作用是將設(shè)計映射到具體型號的器件上。在映射過程中,由轉(zhuǎn)換流程生成的NGD文件將被映射為目標(biāo)器件的特定物理邏輯單元,并保存在NCD(展開的物理設(shè)計數(shù)據(jù)庫)文件中。映射工具的輸入文件包括NGD、NCD和MFP(映射布局規(guī)劃器)文件,輸出文件包括NCD、PCF(物理約束文件)、NGM和MRP(映射報告)文件。其中MRP文件是通過Floorplanner生成的布局約束文件;NCD文件包含當(dāng)前設(shè)計的物理映射信息;PCF文件包含當(dāng)前設(shè)計的物理約束信息;NGM文件與當(dāng)前設(shè)計的靜態(tài)時序分析有關(guān);MRP文件是映射的運行報告,主要包括映射的命令行參數(shù)、目標(biāo)設(shè)計占用的邏輯資源、映射過程中出現(xiàn)的錯誤和警告以及優(yōu)化過程中刪除的邏輯等內(nèi)容。

(3)布局布線工具(Place&RouteBuild):在這一步將調(diào)用Xilinx布局布線器,根據(jù)用戶約束和物理約束對設(shè)計模塊進(jìn)行實際的布局,并根據(jù)設(shè)計連接對布局后的模塊進(jìn)行布線,產(chǎn)生配置FPGA/CPLD的BIT(位流)文件。通過讀取當(dāng)前設(shè)計的NCD文件,布局布線將映射后生成的物理邏輯單元在目標(biāo)系統(tǒng)中放置和連線,并提取相應(yīng)的時間參數(shù)。布局布線的輸入文件包括NCD和PCF模板文件,輸出文件包括NCD、DLY(延時文件)、PAD和PAR文件。在布局布線的輸出文件中,NCD包含當(dāng)前設(shè)計的全部物理實現(xiàn)信息,DLY文件包含當(dāng)前設(shè)計的網(wǎng)絡(luò)延時信息,PAD文件包含當(dāng)前設(shè)計的輸入/輸出(I/O)管腳配置信息,PAR文件主要包括布局布線的命令行參數(shù)、布局布線中出現(xiàn)的錯誤和警告、目標(biāo)占用的資源、未布線網(wǎng)絡(luò)、網(wǎng)絡(luò)時序信息等內(nèi)容。物理實現(xiàn)過程是充分體現(xiàn)EDA軟件自動化的過程,由軟件自動完成,并生成報告。用戶一般在執(zhí)行實現(xiàn)之前,利用約束設(shè)計工具創(chuàng)建和修改約束,生成約束文件UCF(UserConstraintsFile)對實現(xiàn)的過程加以控制,使設(shè)計滿足項目確定的時序、頻率、引腳位置等要求。用戶可以在ISE工程管理集成界面的資源操作窗口中,將【ImplementDesign】項展開,如圖2.32所示,快速啟動實現(xiàn)過程中的各步驟。下面結(jié)合圖2.32對各項操作作簡要說明。圖2.32物理實現(xiàn)過程的操作界面

(1)轉(zhuǎn)換(Translate)步驟的相關(guān)操作:

●【TranslationReport】:顯示翻譯步驟的報告。

●【FloorplanDesign】:啟動Xilinx布局規(guī)劃器(Floorplanner)進(jìn)行手動布局,提高布局效率。

●【GeneratePost-TranslateSimulationModel】:產(chǎn)生轉(zhuǎn)換后的仿真模型。

(2)映射(Map)步驟的相關(guān)操作:

●【MapReport】:顯示映射步驟的報告。

●【GeneratePost-MapStaticTiming】:產(chǎn)生映射后靜態(tài)時序分析報告,啟動時序分析器(TimingAnalyzer)分析映射后的靜態(tài)時序。

●【ManuallyPlace&Route(FPGAEditor)】:啟動FPGA底層編輯器進(jìn)行手動布局布線,指導(dǎo)自動布局布線,解決布局布線異常。

●【FloorplanDesignPost-Map(Floorplanner)】:啟動Floorplanner編輯器在映射步驟添加約束關(guān)系到設(shè)計的UCF約束文件中。

●【GeneratePost-MapSimulationModel】:產(chǎn)生映射步驟后的仿真模型。

(3)布局布線(Place&Route)步驟的相關(guān)操作:

●【Place&RouteReport】:顯示布局布線報告。

●【ClockRegionReport】:顯示多時鐘區(qū)實現(xiàn)報告。

●【AsynchronousDelayReport】:顯示異步實現(xiàn)報告。

●【PadReport】:顯示管腳鎖定報告。

●【GuideResultsReport】:顯示布局布線指導(dǎo)報告,該報告僅在使用布局布線指導(dǎo)文件NCD文件后才產(chǎn)生。

●【MPPRResultsReport】:提供了多周期反復(fù)布線(MultiPassPlace&Route)的多項報告?!瘛綠eneratePost-Place&RouteStaticTiming】:包含了進(jìn)行布局布線后靜態(tài)時序分析的一系列命令,可以啟動TimingAnalyzer分析布局布線后的靜態(tài)時序。

●【View/EditPlacedDesign(Floorplanner)】和【View/EditRoutedDesign(FPGAEditor)】:啟動Floorplanner和FPGAEditor完成FPGA布局布線的結(jié)果分析、編輯,手動更改布局布線結(jié)果,產(chǎn)生布局布線指導(dǎo)與約束文件,輔助Xilinx自動布局布線器,提高布局布線效率,并解決布局布線中的問題。

●【XPowerAnalyze】和【GeneratorPowerData】:啟動功耗仿真器并分析設(shè)計的功耗數(shù)據(jù)信息?!瘛綠eneratePost-Place&RouteSimulationModel】:產(chǎn)生布局布線后的仿真模型,該仿真模型包含的時延信息最全,不僅包含門延時,還包含了實際布線延時。該仿真步驟必須進(jìn)行,以確保設(shè)計功能與FPGA實際運行結(jié)果一致。

●【GenerateIBISModel】:產(chǎn)生IBIS仿真模型,輔助PCB布板的仿真與設(shè)計。

●【Back-annotatePinLocations】:反標(biāo)管腳鎖定信息。實現(xiàn)過程的各步驟的屬性既可分別設(shè)置,也可統(tǒng)一設(shè)置。設(shè)置方法是先在資源管理窗口中選擇頂層模塊文件,然后在當(dāng)前資源操作窗口中選中相應(yīng)的步驟,或在菜單欄中單擊【Process】→【Properties…】項,或單擊工具欄中對應(yīng)按鈕來編輯該步驟的屬性。屬性設(shè)置對話框如圖2.33所示,對話框中共包含了翻譯步驟屬性設(shè)置(TranslateProperties)、映射步驟屬性設(shè)置(MapProperties)、布局布線步驟屬性設(shè)置(Place&RouteProperties)、映射后靜態(tài)時序?qū)傩栽O(shè)置(Post-MapStaticTimingReportProperties)、布局布線后靜態(tài)時序?qū)傩栽O(shè)置(Post-Place&RouteTimingReportProperties)、仿真模型屬性設(shè)置(SimulationModelProperties)和Xplorer屬性設(shè)置(XplorerProperties)等七個子類選項,其中各屬性的含義讀者可參看Xilinx公司提供的官方文檔,本節(jié)不作說明。在ISE軟件中,提供了分步執(zhí)行實現(xiàn)各步驟的命令,并有多款工具方便用戶查看實現(xiàn)的結(jié)果,進(jìn)行細(xì)節(jié)部分的修改及優(yōu)化。這些軟件功能繁多,這里不作介紹。對于并不復(fù)雜的數(shù)字系統(tǒng),實現(xiàn)過程中用戶一般只進(jìn)行引腳鎖定,其它約束選項都可采用設(shè)計工具所提供的默認(rèn)值。進(jìn)行引腳鎖定,用戶既可采用約束編輯器(ConstraintsEditor)編寫約束文件完成,也可通過引腳與區(qū)域約束編輯器(PACE)實現(xiàn)快速鎖定。使用PACE來鎖定引腳是最方便的,用戶可按下述介紹完成引腳鎖定操作。圖2.33屬性設(shè)置對話框先根據(jù)設(shè)計要求或硬件電路板限制,確定設(shè)計的輸入/輸出端口和目標(biāo)芯片管腳的鎖定關(guān)系。Spartan-3EStarter目標(biāo)板設(shè)計的端口和引腳的鎖定關(guān)系如表2.4所示。輸入端口對應(yīng)引腳接目標(biāo)板的四個按鍵,輸出端口對應(yīng)引腳接目標(biāo)板的四個LED。為工程新建一個物理實現(xiàn)約束(ImplementationConstraintsFile)文件,然后在資源管理窗口中選中頂層模塊文件,在當(dāng)前資源操作窗口中選擇【UserConstraints】→【FloorplanArea/IO/Logic–PostSynthesis】并雙擊,啟動約束編輯器PACE,如圖2.34所示。圖2.34啟動約束編輯器圖2.35PACE界面在PACE中執(zhí)行引腳鎖定操作十分簡便。先在設(shè)計瀏覽窗口中選擇“I/OPins”,當(dāng)前設(shè)計對象列表窗口中將顯示出設(shè)計中的端口;選中待鎖定的端口,將其從設(shè)計對象列表窗口拖曳至封裝觀察視圖中器件對應(yīng)引腳處放置就完成了一個引腳的鎖定。圖2.35演示了如何將q(0)端口鎖定到F11引腳的操作過程。完成鎖定后的引腳在設(shè)計對象列表窗口中的表格內(nèi)將自動填上相應(yīng)鎖定信息。同理完成剩余引腳的鎖定,保存到約束文件后退出。

此后再執(zhí)行實現(xiàn)的各步驟,引腳的鎖定關(guān)系就被確定下來。2.2.5仿真驗證

從圖2.6中的設(shè)計流程關(guān)系可看到,仿真是EDA設(shè)計過程中十分重要的步驟。充分運用仿真軟件來提高設(shè)計效率和成功率,正是現(xiàn)代電子設(shè)計自動化工程的一大特色。仿真軟件讓計算機(jī)根據(jù)一定的算法和一定的仿真庫對設(shè)計進(jìn)行模擬,以驗證設(shè)計,排除錯誤。

對于同種仿真工具,功能仿真和時序仿真在軟件運用上一般沒有什么區(qū)別。目前,F(xiàn)PGA應(yīng)用方面常用的仿真軟件包括ModelSim、ActiveHDL、NC-Verilog等,在ISE中內(nèi)嵌了由Xilinx公司自行設(shè)計的仿真軟件ISESimulator,與之配合的還有專門用來以圖形化方式生成測試激勵的軟件工具HDLBencher。無論是執(zhí)行哪種仿真,都應(yīng)首先規(guī)劃和設(shè)計好測試時使用的輸入激勵,這組激勵被稱為測試平臺TestBench。借助于測試平臺,分析運行仿真之后得到的響應(yīng)結(jié)果來驗證所設(shè)計的模塊是否滿足要求。ISE提供了兩種測試平臺的建立方法,一種是直接利用HDL語言編寫,這部分內(nèi)容留待第3章介紹;另一種就是使用HDLBencher的圖形化波形編輯功能編寫。下面就結(jié)合約翰遜計數(shù)器設(shè)計,對HDLBencher和ISESimulator兩款工具在ISE中的使用分別進(jìn)行介紹。如圖2.36所示,當(dāng)在資源管理窗口中將【Sourcesfor:】下拉菜單切換至功能仿真【BehavioralSimulation】項,在當(dāng)前資源操作窗口中選擇【CreateNewSource】,新建一個測試波形激勵文件(TestBenchWaveform),如圖2.37所示。該窗口用于指定仿真文件所對應(yīng)的設(shè)計源文件。新建了測試平臺文件之后,HDLBencher工具將自動啟動初始時序設(shè)置向?qū)?。接下來就可采用圖形化的方式來設(shè)計測試平臺。圖2.36新建行為仿真測試波形激勵文件圖2.37新建測試波形激勵文件向?qū)г谌鐖D2.38所示的初始時序設(shè)置向?qū)А綢nitialTimingandClockWizard】對話框中,主要完成時鐘周期、設(shè)計類型、全局信號等參數(shù)的設(shè)置。在時鐘周期的設(shè)置中,涉及到觸發(fā)沿、時鐘高電平和低電平保持時間、輸入建立時間、輸出有效時間、時鐘偏移等參數(shù)的設(shè)置;設(shè)計類型中又分為單時鐘同步時序電路、多時鐘同步時序電路和組合電路等類型;全局信號設(shè)置主要選擇在設(shè)計中是否使用GSR(FPGA)和PRLD(CPLD)等全局置位、復(fù)位信號;另外還可設(shè)置仿真時間長度、仿真時間單位等。圖2.38初始時序設(shè)置向?qū)υ捒驁D2.39HDLBencher工具的圖形界面

HDLBencher的菜單欄除常用的【File】、【Edit】、【View】等子菜單之外,還有兩個新的子菜單【TestBench】和【Simulation】?!綯estBench】子菜單內(nèi)的菜單項用來調(diào)用內(nèi)嵌的HDLBencher完成測試平臺的各項參數(shù)設(shè)置,而【Simulation】下的菜單項則是用來調(diào)用內(nèi)嵌的ISESimulator完成測試仿真。工具欄上提供了對應(yīng)菜單項的快捷按鈕。

使用【TestBench】子菜單能修改測試平臺初始向?qū)е械脑O(shè)置。在菜單欄中單擊【TestBench】→【SetEndofTestBench…】項,在其彈出的對話框中可設(shè)置仿真時間長度;單擊【TestBench】→【RescaleTiming】項,在其彈出的對話框中可對時鐘信號重新設(shè)置。還可通過菜單項對波形編輯窗中的波形進(jìn)行定位、標(biāo)注和查看。下面使用其中的【RescaleTiming】項對時鐘部分參數(shù)進(jìn)行如下調(diào)整:●時鐘高電平時間(ClockHighTime):10ns。

●時鐘低電平時間(ClockLowTime):10ns。

●輸入建立時間(InputSetup):0ns。

●輸出有效時間(OutputValid):0ns。

●偏移時間(Offset):100ns。

接下來,對其它輸入信號進(jìn)行修改。具體操作方法是:選中所要編輯的信號,在其右側(cè)波形上單擊,從點擊處對應(yīng)的時鐘周期開始,之后的時間信號電平反相。編輯好的測試激勵圖形文件如圖2.40所示。保存測試平臺文件,ISE將自動把它加入到仿真的分層結(jié)構(gòu)中,并在資源管理窗口將測試文件列出。圖2.40測試激勵信號波形完成測試平臺的創(chuàng)建后,下面可以運行ISESimulator,驗證設(shè)計是否功能正確,符合設(shè)計要求。在資源管理窗口中將【Sourcesfor:】選項設(shè)置為“BehavioralSimulation”或“Post-RouteSimulation”,進(jìn)行功能仿真或時序仿真。仿真有關(guān)的命令選項出現(xiàn)在資源操作窗口中,如圖2.41所示,雙擊【SimulateBehavioralModel】或【SimulatePost-Place&RouteModel】,啟動ISESimulator執(zhí)行功能或時序仿真,功能仿真結(jié)果如圖2.42所示。圖2.41啟動功能仿真或時序仿真圖2.42功能仿真波形結(jié)果2.2.6硬件配置

FPGA設(shè)計的最后一步,是將生成的硬件配置文件下載到FPGA中,讓FPGA成為用戶所需的定制芯片?,F(xiàn)暫不對有關(guān)配置電路原理作介紹,這一部分留待第6章再詳細(xì)講解。這里主要介紹ISE軟件中的硬件編程流程以及編程軟件iMPACT的使用。

在完成了上述各步驟,并通過仿真確認(rèn)設(shè)計達(dá)到了設(shè)計要求之后,再經(jīng)過硬件實物的測試驗證,一個基于FPGA設(shè)計的全部流程就完成了。在資源管理窗口中選中頂層設(shè)計,當(dāng)前資源操作窗口如圖2.43所示。余下的工作首先是生成編程文件,然后再使用iMPACT軟件和下載線纜將其配置到目標(biāo)FPGA中去。圖2.43生成編程文件的操作窗口在ISE中生成編程文件的操作非常簡單,在資源操作窗口雙擊【GenerateProgrammingFile】命令,啟動編程文件生成程序即可,完成后生成一個擴(kuò)展名為?.bit的位流文件保存在ISE工程目錄下。

下載編程軟件iMPACT既可單獨使用,也可集成到ISE集成開發(fā)環(huán)境中使用。用戶可直接在ISE集成環(huán)境中調(diào)用iMPACT,通過JTAG接口對CPLD或FPGA器件進(jìn)行下載編程。iMPACT編程軟件提供的常用操作包括:

(1)配置(Program):將BIT文件下載到器件中去。

(2)校驗(Verify):從器件中讀取編程數(shù)據(jù),并將其與下載的BIT文件作比較。

(3)擦除(Erase):將器件中的配置數(shù)據(jù)消除。

(4)功能測試(FunctionalTest):用戶指定功能向量,采用JTAGINTEST指令,比較測試的結(jié)果與要求的結(jié)果有何不同。

(5)空白檢查(BlankCheck):檢查器件中是否存有配置數(shù)據(jù)。

(6)回讀(Readback):從器件中讀取其內(nèi)容,并據(jù)此生成一個新的BIT文件。

(7)獲取器件標(biāo)識號(GetDeviceID):從器件的IDCODE寄存器中讀取內(nèi)容,并顯示其結(jié)果。

(8)獲取簽名/用戶碼(GetDeviceSignature/Usercode):從器件的UESRCODE寄存器中讀取內(nèi)容并顯示結(jié)果。下面介紹啟動iMPACT工具完成JTAG編程軟件下載的方法。

在確認(rèn)將電腦和目標(biāo)板用下載線纜連接好之后,雙擊資源操作窗口的【GenerateProgrammingFile】項下的【ConfigureDevice(iMPACT)】,在彈出的對話框中選擇JTAG配置方式,單擊按鈕確認(rèn),如圖2.44所示。iMPACT將自動連接JTAG鏈上的FPGA器件,在對目標(biāo)板成功完成檢測后,iMPACT的主界面如圖2.45所示。圖2.44iMPACT配置對話框圖2.45JTAG鏈邊界掃描結(jié)果示意圖在主界面的中間區(qū)域內(nèi)右鍵單擊,在彈出的菜單中單擊【InitializeChain】命令,如果FPGA配置電路JTAG測試正確,則會將JTAG鏈上掃描到的所有芯片在iMPACT主界面上列出來;如果JTAG鏈檢測失敗,將彈出一個報錯的對話框,如圖2.46所示。圖2.46JTAG鏈檢測失敗對話框重新檢查下載電纜連接,JTAG鏈檢測正確后,在圖2.45中顯示的目標(biāo)FPGA芯片上右鍵單擊,在彈出的菜單中單擊【AssignNewConfigurationFile】項,在彈出窗口中選擇要配置的位流文件,如圖2.47所示。該窗口在設(shè)備檢測成功后也會自動彈出。圖2.47選擇位流文件選中配置文件后,單擊【Open】按鈕,在iMPACT的主界面會出現(xiàn)一個芯片模型以及位流文件的標(biāo)志,在此標(biāo)志上右鍵單擊,在右鍵彈出菜單中單擊【Program】項,就可以對FPGA設(shè)備進(jìn)行編程,如圖2.48所示。

配置成功后,彈出配置成功的界面如圖2.49所示。圖2.48啟動配置

圖2.49配置成功

小結(jié)

本章重點介紹了ISEFoudation集成開發(fā)環(huán)境及其內(nèi)嵌工具的使用以及FPGA的設(shè)計開發(fā)流程,并按照基于原理圖的設(shè)計流程結(jié)合約翰遜計數(shù)器的設(shè)計,對ISEFoudation集成開發(fā)環(huán)境中的ECS、XCS、HDLBencher、ISESimulator、iMPACT等軟件工具的使用作了較詳細(xì)的介紹。讀者通過本章的學(xué)習(xí),應(yīng)能理解FPGA的設(shè)計流程中各步驟的作用和主要工作,基本掌握采用原理圖設(shè)計方法在FPGA中實現(xiàn)數(shù)字電路和簡單數(shù)字系統(tǒng)的開發(fā)技術(shù)。

習(xí)題

2.1試述基于ISE的FPGA設(shè)計開發(fā)流程。

2.2試述什么是ISE的工程?在ISE中按工程進(jìn)行設(shè)計管理有什么好處?

2.3簡要說明功能仿真和時序仿真的異同。設(shè)計過程中如果只做功能仿真,不保留時序仿真,設(shè)計的正確性是否能得到保證?

2.4綜合完成的主要工作是什么?實現(xiàn)完成的主要工作是什么?這兩個步驟的差別主要在哪里?

2.5為什么要為工程添加約束文件?不添加約束條件的工程能不能生成得到最終的編程文件?

2.6用ECS的庫元件繪制出一個二位全加器的原理圖。

2.7用HDLBencher工具為本章的約翰遜計數(shù)器實例設(shè)計出依次左右循環(huán)反復(fù)的測試平臺文件。實驗項目

實驗一七段譯碼原理電路的設(shè)計與仿真實驗?zāi)康模?/p>

(1)掌握使用ECS原理圖編輯工具設(shè)計組合電路的方法。

(2)掌握使用HDLBencher設(shè)計測試平臺文件的技巧。

(3)進(jìn)一步熟悉ISE的設(shè)計開發(fā)流程。實驗要求:

(1)使用原理圖庫中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論