版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 ISE12.1開發(fā)環(huán)境與S3開發(fā)板 2.1 ISE12.1軟件綜述2.2 S3開發(fā)板簡(jiǎn)介2.3 ISE開發(fā)流程2.4 第三方開發(fā)工具本章小結(jié)2.1 ISE12.1軟件綜述 2.1.1 ISE12.1套件分類除了性能上的改進(jìn)之外,ISE12.1設(shè)計(jì)套件依然延續(xù)了在ISE11.1中提供的針對(duì)四個(gè)特定領(lǐng)域而優(yōu)化配置版本的解決方案:邏輯版本(Logic Edition)、DSP版本(DSP Edition)、嵌入式版本(Embedded Edition)和系統(tǒng)版本(System Edition)。 每一版本都提供了完整的FPGA設(shè)計(jì)流程,并且專門針對(duì)特定的用戶群體(工程師)和特定領(lǐng)域的設(shè)計(jì)方法
2、及設(shè)計(jì)環(huán)境要求進(jìn)行了優(yōu)化,從而使設(shè)計(jì)人員能夠?qū)⒏嗑杏陂_發(fā)具有競(jìng)爭(zhēng)力的差異化產(chǎn)品和應(yīng)用。這4種版本的功能分別如下: (1) ISE設(shè)計(jì)套件邏輯版本針對(duì)采用賽靈思基礎(chǔ)目標(biāo)設(shè)計(jì)平臺(tái),主要關(guān)注邏輯和連接功能。(2) ISE設(shè)計(jì)套件DSP版本針對(duì)采用賽靈思DSP領(lǐng)域目標(biāo)設(shè)計(jì)平臺(tái),主要面向算法、系統(tǒng)和硬件的設(shè)計(jì)人員而優(yōu)化。(3) ISE設(shè)計(jì)套件嵌入式版本針對(duì)采用賽靈思嵌入式領(lǐng)域目標(biāo)設(shè)計(jì)平臺(tái)的嵌入式系統(tǒng)設(shè)計(jì)人員(硬件和軟件設(shè)計(jì)師)而優(yōu)化。(4) ISE設(shè)計(jì)套件系統(tǒng)版本針對(duì)采用賽靈思連接領(lǐng)域目標(biāo)設(shè)計(jì)平臺(tái)的系統(tǒng)設(shè)計(jì)人員而優(yōu)化。 2.1.2 ISE12.1功能介紹ISE12.1工具涵蓋了整個(gè)FPGA開發(fā)流
3、程,包括了設(shè)計(jì)輸入、綜合、仿真、實(shí)現(xiàn)以及下載各個(gè)步驟。采用ISE集成環(huán)境可以獨(dú)立完成整個(gè)Xilinx FPGA的開發(fā),而無須借助其他第三方開發(fā)工具。(1) 設(shè)計(jì)輸入:ISE12.1提供的設(shè)計(jì)輸入工具包括HDL代碼的輸入,原理圖編輯工具,用于IP Core的Core Generator,以及用于約束文件編輯的Constraints Editor等軟件。(2) 綜合:ISE12.1自帶的綜合工具為XST,還可以與業(yè)界非常優(yōu)秀的綜合工具M(jìn)entor Graphic公司的Leonardo Spectrum和Synplicity公司的Synplify實(shí)現(xiàn)無縫鏈接。(3) 仿真:ISE12.1自帶ISim
4、仿真工具,同時(shí)提供使用Mentor Graphic公司的ModelSim各個(gè)版本的仿真接口。(4) 實(shí)現(xiàn):包括對(duì)綜合文件的翻譯、映射、布局布線等,還包括時(shí)序分析、增量設(shè)計(jì)、手動(dòng)布局約束等高級(jí)功能。(5) 下載:包括生成bit 流文件,還包括一個(gè)專用的下載軟件IMPACT,可以進(jìn)行設(shè)備通信和配置,并將程序燒寫到FPGA芯片中去。使用ISE進(jìn)行FPGA設(shè)計(jì)的各個(gè)過程可能涉及的工具如表2-1所示。 2.1.3 ISE12.1用戶界面和菜單操作ISE用戶界面如圖2-1所示。界面各分區(qū)及功能如下:(1) 標(biāo)題欄:主要顯示當(dāng)前工程的名稱和當(dāng)前打開的文件名稱。(2) 菜單欄:主要包括“文件(File)”、“
5、編輯(Edit)”、“視圖(View)”、“工程(Project)”、“源文件(Source)”、“操作(Porcess)”、“工具(Tools)”、“窗口(Window)”、“布局(Layout)”和“幫助(Help)”等10個(gè)下拉菜單。其使用方法和常用的Windows軟件類似。(3) 工具欄:為方便用戶操作而提供的常用命令快捷鍵。隨著版本升級(jí),提供的快捷鍵越來越多。 (4) 設(shè)計(jì)管理區(qū):提供工程以及相關(guān)文件的顯示和管理功能,包括設(shè)計(jì)源文件視圖和仿真源文件視圖。源文件視圖顯示了源文件的層次和分類關(guān)系。(5) 過程管理區(qū):本窗口顯示的內(nèi)容取決于工程管理區(qū)中所選定的文件,相關(guān)的操作和FPGA設(shè)計(jì)
6、的流程相關(guān),不僅顯示當(dāng)前進(jìn)行的步驟,而且還用動(dòng)態(tài)圖標(biāo)的方式顯示當(dāng)前的操作。 圖2-1 ISE用戶界面 (6) 信息顯示區(qū):顯示ISE中的處理信息,如操作步驟信息、告警信息和錯(cuò)誤信息等,信息顯示區(qū)的下面有控制臺(tái)信息區(qū)(Console)和文件查找區(qū)(Find in Files Results)。如果編譯過程出現(xiàn)錯(cuò)誤,雙擊信息顯示區(qū)的告警和錯(cuò)誤標(biāo)志,就能自動(dòng)切換到源代碼出錯(cuò)的地方。 2.2 S3開發(fā)板簡(jiǎn)介Digilent S3開發(fā)板是基于Spartan-3系列FPGA(XC3S200)所開發(fā)的一款FPGA入門級(jí)學(xué)習(xí)與驗(yàn)證板,包含豐富的外圍接口,是初學(xué)者學(xué)習(xí)數(shù)字電路設(shè)計(jì)的良好平臺(tái)。其外觀圖如圖2-2所
7、示。結(jié)構(gòu)框圖如圖2-3所示。其主要器件以及包含的接口如下:(1) Xilinx Spartan-3 SC3S200 FPGA器件(XC3S200-FT256);(2) 2 Mb的Xilinx XCF02S配置PROM;(3) 2個(gè)256K16異步靜態(tài)SRAM(ISSI IS61LV25616AL-10T);(4) VGA顯示端口;(5) RS232串口;(6) PS/2鼠標(biāo)鍵盤接口; (7) 4位7段數(shù)碼管;(8) 8個(gè)撥碼開關(guān);(9) 50 MHz晶振的時(shí)鐘輸入;(10) 3個(gè)40腳的外擴(kuò)插槽;(11) JTAG下載接口;(12) 3.3 V、2.5 V、1.2 V的穩(wěn)壓電源。 圖2-2 S
8、partan-3FPGA開發(fā)板外觀圖 圖2-3 Spartan-3 FPGA開發(fā)板結(jié)構(gòu)框圖 2.3 ISE開發(fā)流程ISE12.1包含了一系列的開發(fā)工具。這些工具不在本書介紹范圍,這里僅通過一個(gè)簡(jiǎn)單的實(shí)例,結(jié)合1.5節(jié)FPGA 的開發(fā)流程來描述FPGA的整個(gè)開發(fā)流程,幫助讀者理解FPGA的基本開發(fā)步驟。具體包含以下5步:(1) 創(chuàng)建工程和設(shè)計(jì)輸入;(2) 創(chuàng)建TestBech并進(jìn)行RTL仿真;(3) 添加約束;(4) 綜合與實(shí)現(xiàn);(5) 生成配置文件并對(duì)FPGA進(jìn)行配置。 【程序2-1】 帶使能控制的計(jì)數(shù)器。module Count_EN#( parameter Width = 8,parame
9、ter U_DLY = 1)(input wire EN,input wire Clock,input wire reset,output reg Width-1:0 Out);always(posedge Clock, negedge reset)if(!reset)Out = 8b0;else if (EN )Out = #U_DLY Out +1;endmodule 2.3.1 創(chuàng)建工程和設(shè)計(jì)輸入本階段包含三個(gè)任務(wù):創(chuàng)建工程目錄、創(chuàng)建工程、添加或創(chuàng)建HDL文件輸入。1創(chuàng)建工程目錄規(guī)范的FPGA設(shè)計(jì)在建立工程之前,首先要求進(jìn)行項(xiàng)目文件管理規(guī)劃。清晰的文件目錄有助于提高設(shè)計(jì)效率和避免錯(cuò)誤的發(fā)
10、生。建立的一個(gè)清晰的工程目錄如下:(1) project name:工程名稱,在這里建立一個(gè)Count_EN的目錄來存放工程所有相關(guān)文件;(2) scr:存放源代碼目錄;(3) coregen:CoreGenerator工具產(chǎn)生的各種IP文件;(4) sim:存放仿真相關(guān)文件,funcsim:目錄存放與功能仿真相關(guān)文件,parsim:目錄存放與時(shí)序仿真相關(guān)文件;(5) doc:存放FPGA相關(guān)設(shè)計(jì)文檔。 2創(chuàng)建工程ISE軟件每次打開時(shí),會(huì)默認(rèn)列出最近幾次打開的工程目錄,方便用戶直接雙擊打開。如果用戶需要新建工程,那么按照下面的步驟來進(jìn)行:選擇“File | New Project”選項(xiàng),在彈出
11、的新建工程對(duì)話框中填寫如下幾項(xiàng):“Project Name”中填寫工程名稱,“Browse”中指定項(xiàng)目存放的路徑,“Top-Level Source Type”選項(xiàng)中選擇工程頂層源代碼的類型。 關(guān)于輸入文件類型有如下幾個(gè)選項(xiàng):(1) HDL:表示工程頂層源代碼為vhdl或者Verilog代碼形式;(2) Schematic:表示工程頂層源代碼為原理圖形式;(3) EDIF:表示工程源代碼是由Symplify 綜合工具綜合之后的網(wǎng)表文件,后綴是.edf文件;(4) NGC/NGO:表示工程源代碼是ISE自帶的XST綜合工具產(chǎn)生的網(wǎng)表文件。 在本例中,將“Project Name”填寫為“Coun
12、t_EN”,“Top-Level Source Type”選擇為HDL類型。單擊“Next”按鈕,進(jìn)入下一步,選擇所使用的芯片類型以及綜合和仿真的工具。如圖2-4所示,“Product Category”選擇“All”,列出所有FPGA器件,“Family”選項(xiàng)包含了所有的Xilinx公司的器件系列,“Device”選項(xiàng)包含了對(duì)應(yīng)系列的所有型號(hào)的器件,“Package”選擇封裝,“Speed”選擇速度等級(jí),“Synthesis Tool”選擇支持的綜合工具,“Simulator”選擇支持的仿真工具,“Preferred Language”選擇語言:Verilog或者VHDL。在本例中,各選項(xiàng)按
13、照如圖2-4所示進(jìn)行選擇。 圖2-4 新建工程器件配置圖 再單擊“Next”按鈕,進(jìn)入下一頁,可以選擇新建源代碼文件,讀者可以選擇現(xiàn)在開始新建源代碼,也可以直接跳過,等工程建立完畢之后再建立源代碼。單擊“Next”按鈕,進(jìn)入第四頁,添加已有的代碼;如果沒有源代碼,單擊“Next”按鈕,直接進(jìn)入最后一頁;點(diǎn)擊“Finish”按鈕,就建立好一個(gè)完整的工程。 3添加或創(chuàng)建HDL文件輸入在工程建立結(jié)束之后,就可以添加或創(chuàng)建HDL文件輸入。如果已經(jīng)設(shè)計(jì)好HDL文件,則直接添加到工程中來。下面首先介紹添加HDL文件的步驟。在工程管理區(qū)單擊右鍵,選擇“Add Files”,然后彈出對(duì)話框,找到HDL文件保存
14、的路徑來添加所有文件。需要注意的是,如果要添加多個(gè)文件,可以按住“Ctrl”鍵,選擇多個(gè)文件進(jìn)行添加;添加完畢之后,點(diǎn)擊“OK”按鈕,所有文件將按照相關(guān)調(diào)用層次顯示在工程管理區(qū)。新建HDL文件的步驟相對(duì)來說復(fù)雜些。在工程管理區(qū)任一位置單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“New Source”命令,出現(xiàn)如圖2-5所示的“New Source Wizard”對(duì)話框。圖2-5 新建源代碼向?qū)D 對(duì)話框左側(cè)的列表用于選擇代碼的類型,部分項(xiàng)的意義如下:IP(CORE Generator & Architecture Wizard):由ISE的IP Core生成工具快速生成可靠的源代碼,選擇IP,定義Fil
15、e name,點(diǎn)擊“Next”按鈕,進(jìn)入IP定制界面。這與單獨(dú)使用Core Generator工具產(chǎn)生IP的方法是一樣的。 User Document:用戶文檔類型。Verilog Module:Verilog 模塊類型,用于編寫Verilog代碼。Verilog Test Fixture:Verilog測(cè)試模塊類型,專門用于編寫Verilog測(cè)試代碼。VHDL Module:VHDL模塊類型,用于編寫VHDL代碼。VHDL Library:VHDL庫類型,用于制作VHDL庫。VHDL Package:VHDL包類型,用于制作VHDL包。VHDL Test Bench:VHDL測(cè)試模塊類型,用
16、于專門編寫VHDL測(cè)試代碼。Embedded Processor:嵌入式處理器。將調(diào)用XPS工具進(jìn)入MicoBlaze處理器的硬件定制界面。 在本例中,在“Select Source Type”中選擇“Verilog Module”選項(xiàng),在“File name”文本框中輸入“Count_EN ”,單擊“Next”按鈕,進(jìn)入端口定義對(duì)話框,如圖2-6所示。其中,“Module name”輸入“Count_EN”。下面的列表對(duì)應(yīng)端口的定義:“Port Name”表示端口名稱;“Direction”表示端口方向(可以選擇input、output、inout三種類型);如果為總線,則“Bus”選項(xiàng)打鉤
17、;“MSB”和“LSB”分別表示信號(hào)的最高位和最低位,單位信號(hào)的MSB和LSB不必填寫。 圖2-6 Verilog模塊端口定義對(duì)話框 定義了模塊端口之后,單擊“Next”按鈕,進(jìn)入下一步,單擊“Finish”按鈕,完成創(chuàng)建。ISE自動(dòng)創(chuàng)建一個(gè)Verilog模塊例,在源代碼編輯區(qū)內(nèi)打開,標(biāo)準(zhǔn)的代碼端口的注釋都已經(jīng)生成,剩下來的工作就是在模塊中實(shí)現(xiàn)功能。ISE獨(dú)特的源碼模塊自動(dòng)生成方式,極大地節(jié)省了開發(fā)者的時(shí)間。在源代碼區(qū)只要填寫如程序2-1所示的代碼內(nèi)容,就完成了源碼輸入的工作。 2.3.2 創(chuàng)建TestBench并進(jìn)行RTL仿真 1建立仿真TestBench建立基于程序2-1的ISim測(cè)試仿真
18、平臺(tái)。 在工程管理區(qū)將“View”設(shè)置為“Simulation”; 在工程管理區(qū)任意位置點(diǎn)擊鼠標(biāo)右鍵,并在彈出的菜單中選擇“New Source”命令; 選中“Verilog Test Fixture”,輸入文件名“Count_EN _tb”; 單擊“Next”按鈕,進(jìn)入下一頁,這時(shí)工程中顯示的是所有module的名字,設(shè)計(jì)人員根據(jù)需要選擇要進(jìn)行測(cè)試的module。在本例中只有一個(gè)moduleCount_EN,用鼠標(biāo)選中,然后單擊“Next”按鈕,進(jìn)入下一頁,直接單擊“Finish”,ISE在源代碼區(qū)顯示測(cè)試模塊的代碼: module Count_EN_tb;/ Inputsreg EN;re
19、g Clock;reg Reset;/ Outputswire 7:0 Out;/ Instantiate the Unit Under Test (UUT)Count_EN uut (.EN(EN), .Clock(Clock), .Reset(Reset), .Out(Out);initial begin/ Initialize InputsEN = 0;Clock = 0;Reset = 0;/ Wait 100 ns for global reset to finish#100; / Add stimulus hereend endmodule ISE自動(dòng)生成了測(cè)試文件的框架,包括所需
20、要的信號(hào)、端口聲明以及模塊例化。設(shè)計(jì)人員需要做的工作,就是在“/ Add stimulus here”后面補(bǔ)充添加測(cè)試向量生成代碼。為了驗(yàn)證計(jì)數(shù)器是否工作正常,添加如下代碼(關(guān)于TestBench的編寫,將在后續(xù)章節(jié)詳細(xì)介紹,現(xiàn)在只需要了解如何使用ISim進(jìn)行仿真即可): Reset = 1;EN = 1;forever#10 Clock = !Clock;此時(shí)添加代碼完畢。 2使用ISim進(jìn)行仿真選中過程管理區(qū)“Simulate Behavioral Model”選項(xiàng),單擊鼠標(biāo)右鍵,選擇菜單中的Properties選項(xiàng),會(huì)彈出如圖2-7所示的仿真設(shè)置屬性對(duì)話框。對(duì)話框中有如下兩項(xiàng)需要注意:(
21、1) “Simulation Run Time”:用來設(shè)置仿真時(shí)間長(zhǎng)短;(2) “Waveform Database Filename”:設(shè)置波形文件存儲(chǔ)路徑及文件名。圖2-7 仿真設(shè)置屬性對(duì)話框 仿真參數(shù)設(shè)置完之后,直接雙擊ISim中的“Simulate Behavioral Model”,ISE自動(dòng)啟動(dòng)ISim軟件。ISim軟件界面如圖2-8所示。 圖2-8 ISim軟件仿真界面 ISim仿真工具主界面由三個(gè)部分組成:源文件區(qū)、目標(biāo)信號(hào)區(qū)和波形仿真區(qū)。(1) 源文件區(qū):存放仿真源文件以及庫文件。 (2) 目標(biāo)信號(hào)區(qū):顯示工程信號(hào)名,方便用戶選中并添加到波形仿真圖上。在目標(biāo)信號(hào)區(qū),有快捷按鈕
22、,方便用戶在本工程中提取需要觀察的信號(hào)??旖莅粹o包括輸入輸出端口、雙向端口、內(nèi)部信號(hào)、常量、參數(shù)、變量、緩沖信號(hào)等。(3) 波形仿真區(qū):顯示目標(biāo)信號(hào)波形圖。選擇菜單中的“Simulation”或者快捷鍵欄目相關(guān)按鈕來控制仿真流程,這些快捷按鈕是:(1) Restart:重新開始仿真;(2) Run All:仿真全部執(zhí)行;(3) Run:執(zhí)行仿真;(4) Step:?jiǎn)尾綀?zhí)行;(5) Break:仿真停止。對(duì)應(yīng)快捷按鈕如圖2-9所示。仿真結(jié)果如圖2-8所示。 圖2-9 仿真流程控制快捷按鈕2.3.3 添加約束工程中源代碼輸入之后,需要給設(shè)計(jì)添加管腳和時(shí)序約束。管腳約束是將設(shè)計(jì)文件的輸入輸出信號(hào)設(shè)置
23、到器件的某個(gè)管腳,而且包括設(shè)置此管腳的電平標(biāo)準(zhǔn)、電流強(qiáng)度、上下拉特性等。時(shí)序約束在高速數(shù)字電路設(shè)計(jì)中非常重要,其作用是為了提高設(shè)計(jì)的工作頻率和獲得正確的時(shí)序分析報(bào)告。在綜合、映射和布局布線階段附加約束,可以使時(shí)序分析工具以用戶的時(shí)序約束為標(biāo)準(zhǔn),盡量滿足約束要求,同時(shí)產(chǎn)生實(shí)際時(shí)序和用戶約束時(shí)序之間的差異,并形成報(bào)告。因此要求用戶必須進(jìn)行時(shí)序約束,而且越全面越好。在ISE中時(shí)序約束由專門的工具Constraints Editor來完成。 1創(chuàng)建管腳約束下面以程序2-1為例創(chuàng)建約束。(1) 新建約束文件。首先新建源代碼,在源代碼類型中選取“Implementation Constraints Fil
24、e”,在File name中輸入約束文件名“Count_EN_ucf”,單擊“Next”按鈕,進(jìn)入下一頁;然后單擊“Finish”,完成約束文件的創(chuàng)建。(2) 編輯約束文件。在工程管理區(qū)選擇建立的約束文件,雙擊過程管理區(qū)的“User Constraints”下的“Edit Constraints(Text)”,就可以打開約束文件編輯器。 (3) 建立管腳約束。由于手工編輯UCF文件通常效率較高,且出錯(cuò)概率較小,因此我們這里有必要介紹手工編輯管腳約束的語法。其語法格式為NET|INST|PINsignal name Attribute;其中,“signal name”是指約束對(duì)象名字,也支持對(duì)約
25、束對(duì)象的層次描述;“Attribute”為約束的具體描述;語句必須以分號(hào)結(jié)束。UCF文件采用“#”進(jìn)行注釋。需要注意的是,UCF文件約束對(duì)象必須與設(shè)計(jì)中的對(duì)象名字一致。例如,若將信號(hào)CLK約束到FPGA的P30管腳上,信號(hào)電平標(biāo)準(zhǔn)為CMOS3.3V,則添加約束如下:NET CLK LOC = P30 |IOSTANDAND = LVCMOS33; 在UCF文件設(shè)計(jì)中支持通配符“*”和“?”,“*”可以代表任何字符串和空格,“?”則代表一個(gè)字符。在編輯約束文件時(shí),通過通配符可以快速選擇一組信號(hào)。例如,語句NET *DATA? FAST;將選擇包含“DATA”字符并以一個(gè)字符結(jié)尾的所有信號(hào),并選擇
26、速率為“FAST”。對(duì)于S3開發(fā)板可以參考其硬件使用手冊(cè)進(jìn)行管腳約束。 2建立時(shí)序約束時(shí)序約束采用Constraints Editor比較方便。在工程管理區(qū)選擇頂層模塊,在過程管理區(qū)“User Constraints”下面雙擊“Creat Timing Constraints”,打開Constraints Editor界面??梢蕴砑拥募s束包括“Timing Constraints”、“Group Constraints”和“Miscellaneous”三部分約束,根據(jù)需要添加時(shí)鐘、輸入輸出端口等約束。完成之后,約束結(jié)果將自動(dòng)添加到.ucf文件當(dāng)中。在本例中,由于設(shè)計(jì)比較簡(jiǎn)單,所以約束輸入時(shí)鐘信
27、號(hào)的頻率就可以了,如圖2-10所示。 圖2-10 使用Timing Constraints添加時(shí)序約束 2.3.4 綜合與實(shí)現(xiàn)1綜合過程綜合就是針對(duì)輸入設(shè)計(jì)以及約束條件,按照一定的優(yōu)化算法進(jìn)行優(yōu)化處理,獲得一個(gè)能滿足預(yù)期功能的電路設(shè)計(jì)方案。在FPGA設(shè)計(jì)時(shí),工程師設(shè)計(jì)的文件是用硬件描述語言或者原理圖形式來表示電路功能的。綜合工具將這些輸入文件翻譯成由FPGA內(nèi)部邏輯資源(邏輯單元、RAM存儲(chǔ)單元、時(shí)鐘單元等)按照某種連接方式組成的邏輯連接(網(wǎng)表),并根據(jù)用戶要求生成網(wǎng)表文件,這一過程稱為綜合過程。XST為Xilinx自己的綜合工具,對(duì)于Xilinx最新的芯片能夠更好地支持,其最終生成的文件后綴
28、名為.ngc。用宏觀的事物理解,綜合過程就相當(dāng)于設(shè)計(jì)電路板時(shí)畫電路原理圖的過程。在設(shè)計(jì)電路板時(shí),首先要畫原理圖。原理圖其實(shí)就是由一系列符號(hào)組成的;可以隨便畫一個(gè)符號(hào)代表一個(gè)器件,但是也是有一些規(guī)則必須遵循,比如代表符號(hào)和真實(shí)器件之間的管腳對(duì)應(yīng)關(guān)系要一致。 2實(shí)現(xiàn)過程實(shí)現(xiàn)(Implement)就是通過翻譯、映射、布局布線等過程來完成設(shè)計(jì)的固化。實(shí)現(xiàn)過程首先將綜合成的網(wǎng)表(Netlist)文件,通過翻譯變成所選器件的內(nèi)部資源和硬件單元,如可配置邏輯塊(CLB)、數(shù)字時(shí)鐘單元(DCM)、存儲(chǔ)單元(RAM)等,這個(gè)步驟稱為翻譯過程(Translate);然后找到對(duì)應(yīng)的硬件關(guān)系,將設(shè)計(jì)與這些硬件資源關(guān)系
29、一一對(duì)應(yīng)起來,這又稱為映射過程(Map);最后進(jìn)行布局布線(Place&Route),這樣設(shè)計(jì)基本上就可以完全固化到FPGA當(dāng)中了。實(shí)現(xiàn)過程如果用宏觀的方式理解,就相當(dāng)于完成原理圖之后,開始調(diào)用器件庫,如果沒有原理圖中的器件,那么就要找對(duì)應(yīng)的器件,直到設(shè)計(jì)中所有的元件都能找到對(duì)應(yīng)的器件(對(duì)應(yīng)于翻譯過程),接下來將其對(duì)應(yīng)關(guān)系完全確定(對(duì)應(yīng)于映射過程),最后進(jìn)行布局布線,完成整塊電路板的設(shè)計(jì),提交廠家進(jìn)行生產(chǎn)。 類似的FPGA實(shí)現(xiàn)也是這么一個(gè)過程,下面詳細(xì)介紹FPGA實(shí)現(xiàn)過程中的每個(gè)環(huán)節(jié)。1) 翻譯過程翻譯過程將網(wǎng)表文件和約束文件合并生成NGD(原始類型數(shù)據(jù)庫)輸出文件和BLD文件。NGD文件包含
30、了當(dāng)前設(shè)計(jì)網(wǎng)表以及約束的所有信息,可用于下一步進(jìn)行映射??捎糜诜g的輸入文件包括EDN、EDF、EDIF、SEDIF格式的網(wǎng)表文件,以及UCF(用戶約束文件)、NCF(網(wǎng)表約束文件)、NMC(物理宏庫文件)、NGC(含有約束信息的網(wǎng)表)格式的約束文件。 2) 映射過程映射過程將翻譯過程生成的NGD文件映射為目標(biāo)器件的特定物理邏輯單元,并保存在NCD(Native Circuit Description)文件中。映射的輸入文件包括NGD、NMC、NCD和NGM文件,輸出文件包括NCD、PCF(物理約束文件)、NGM和MRP(映射報(bào)告)文件。其中, NCD文件包含當(dāng)前設(shè)計(jì)的物理映射信息;PCF文件
31、包含當(dāng)前設(shè)計(jì)的物理約束信息;NGM文件與當(dāng)前設(shè)計(jì)的靜態(tài)時(shí)序分析有關(guān);MRP文件是映射的運(yùn)行報(bào)告,主要包括映射的命令行參數(shù)、目標(biāo)設(shè)計(jì)占用的邏輯資源、映射過程中出現(xiàn)的錯(cuò)誤和告警、優(yōu)化過程中刪除的邏輯等內(nèi)容。 3) 布局布線過程布局布線過程通過讀取當(dāng)前設(shè)計(jì)的NCD文件,將映射后生成的物理邏輯單元在目標(biāo)系統(tǒng)中放置和連線,并提取相應(yīng)的時(shí)間參數(shù)。布局布線的輸入文件包括NCD和PCF模板文件,輸出文件包括NCD、DLY(延時(shí)文件)、PAD和PAR文件。在布局布線的輸出文件中,NCD包含當(dāng)前設(shè)計(jì)的全部物理實(shí)現(xiàn)信息,DLY文件包含當(dāng)前設(shè)計(jì)的網(wǎng)絡(luò)延時(shí)信息,PAD文件包含當(dāng)前設(shè)計(jì)的輸入輸出(I/O)管腳配置信息,P
32、AR文件主要包括布局布線的命令行參數(shù)、布局布線中出現(xiàn)的錯(cuò)誤和告警、目標(biāo)占用的資源、未布線網(wǎng)絡(luò)、網(wǎng)絡(luò)時(shí)序信息等內(nèi)容。3完成綜合與實(shí)現(xiàn)(1) 選擇要綜合的模塊(設(shè)計(jì)的頂層模塊)。(2) 在過程管理區(qū)雙擊“Implement Design”,如圖2-11所示,ISE工具會(huì)首先進(jìn)行綜合,然后執(zhí)行Translate、Map和Place & Route。在Synthesize-XST前面有一個(gè)由兩個(gè)圓形箭頭組成的小圓圈開始轉(zhuǎn)動(dòng);如果發(fā)生錯(cuò)誤,則出現(xiàn)一個(gè)帶叉的紅色小圓圈;如果有警告,綜合結(jié)束之后,小圓圈變黃色,并且上面帶有一個(gè)嘆號(hào)。綜合的告警和錯(cuò)誤都會(huì)顯示在消息窗口。 2.3.5 生成配置文件并對(duì)FPGA進(jìn)
33、行配置在實(shí)現(xiàn)完成之后,僅剩FPGA設(shè)計(jì)的最后一步芯片編程。(1) 生成編程文件,只需在過程管理區(qū)中雙擊“Generate Programming File”即可完成,完成之后,該選項(xiàng)前面會(huì)出現(xiàn)一個(gè)打鉤的圓圈,如圖2-11所示,然后在ISE工程目錄下產(chǎn)生一個(gè)以.bit為后綴的位流文件。 圖2-11 生成編程文件窗口 (2) 點(diǎn)擊“Configure Target Device”,進(jìn)行器件配置,出現(xiàn)如圖2-12所示的主界面;在主界面中間區(qū)域點(diǎn)擊鼠標(biāo)右鍵,并選擇“Initialize Chain”選項(xiàng),初始化JTAG鏈,將會(huì)掃描在JTAG鏈上所有的可配置器件,如圖2-13所示;如果正確,則右鍵單擊所
34、要配置的器件,選擇“Programming”進(jìn)行編程;如果需要配置別的編程文件,則右鍵單擊所要配置的器件,選擇“Assign New Configuration File”,然后再進(jìn)行編程。配置成功之后,出現(xiàn)“Successfully”字樣。 圖2-12 Configure Programming Device界面 圖2-13 掃描JTAG鏈界面 2.4 第三方開發(fā)工具 2.4.1 ModelSim介紹ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真器,許多工程師將其作為FPGA/ASIC設(shè)計(jì)的RTL級(jí)以及門級(jí)電路仿真的首選。ModelSim與其它仿真器相比,不僅具有人性化的圖形界面和用戶接口,為
35、用戶加快調(diào)試提供強(qiáng)有力的手段,同時(shí)具有強(qiáng)大的調(diào)試功能,如:先進(jìn)的數(shù)據(jù)流窗口,可以迅速追蹤到產(chǎn)生不定或者錯(cuò)誤狀態(tài)的原因;豐富的性能分析工具,可以幫助分析性能瓶頸,加速仿真;代碼覆蓋率檢查,確保測(cè)試的完備;多種模式的波形比較功能;先進(jìn)的Signal Spy功能,可以方便地訪問VHDL 或者VHDL和Verilog混合設(shè)計(jì)中的底層信號(hào);支持加密IP;可以實(shí)現(xiàn)與MATLAB的Simulink的聯(lián)合仿真等。 ModelSim分幾種不同的版本:SE、PE、LE和OEM,其中SE是最高級(jí)的版本,而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計(jì)工具中的均是其OE
36、M版本。SE版和OEM版在功能和性能方面有較大差別,以Xilinx公司提供的OEM版本ModelSim XE為例,對(duì)于代碼少于40 000行的設(shè)計(jì),ModelSim SE 比ModelSim XE要快10倍;對(duì)于代碼超過40 000行的設(shè)計(jì),ModelSim SE要比ModelSim XE快近40倍。另外,從仿真功能上,兩個(gè)版本之間的差別也非常大,比如說,ModelSim SE版本支持SignalSpy,代碼覆蓋率檢查、性能分析、數(shù)據(jù)流與X跟蹤、波形比較、檢查點(diǎn)復(fù)原、混合語言調(diào)試、Debug Detective等特性,而這些ModelSim XE都不支持,但是SE版本不自帶Xilinx器件庫文
37、件,需要編譯器件庫在ModelSim當(dāng)中。鑒于兩個(gè)版本在用法上相同,本節(jié)以ModelSim SE6.5版本為例來介紹。 2.4.2 在ModelSim中編譯Xilinx的器件庫 1關(guān)聯(lián)ISE和ModelSim需要將ModelSim和ISE軟件關(guān)聯(lián)之后才能在ISE中直接使用ModelSim進(jìn)行仿真,避免了用戶在ISE上開發(fā)完代碼設(shè)計(jì)之后,另外建立工程進(jìn)行ModelSim的仿真。關(guān)聯(lián)步驟如下:運(yùn)行ISE軟件,在主界面中選擇“Edit|Preference”菜單項(xiàng),在彈出的“Preference”對(duì)話框中選擇“Integrated Tools”選項(xiàng)卡。該選項(xiàng)卡用于設(shè)定與ISE集成的軟件的路徑。第一項(xiàng)
38、的“Model Tech Simulator”就用于設(shè)定ModelSim仿真軟件的路徑,指定“Model Tech Simulator”選項(xiàng)為ModelSim安裝路徑下win32目錄下的“modelsim.exe”文件即可。假如Modelsim6.5安裝在“E:ModelSim6.5”,則ModelSim仿真軟件的路徑為“E:ModelSim6.5win32modelsim.exe”,如圖2-14所示。這樣就設(shè)置好了ISE與ModelSim的關(guān)聯(lián)。 圖2-14 ModelSim與ISE的關(guān)聯(lián)設(shè)置 2在ModelSim中編譯Xilinx的仿真庫ModelSim SE版本身不帶有任何FPGA廠家的
39、仿真庫,因此我們必須手動(dòng)編譯這些庫。Xilinx元件庫的位置在ISE安裝目錄“Xilinx12.1ISEverilogsrc”的下面;有三個(gè)文件夾:simprims、unisims和XilinxCoreLib,里面有所有Xilinx FPGA的庫。下面介紹一種比較常用的手動(dòng)編譯這些庫到ModelSim中的方法。分為5步來完成:(1) 將ModelSim根目錄下的modelsim.ini的屬性由只讀改為可寫;(2) 在ModelSim安裝目錄下新建一個(gè)名為library的文件夾,用來保存安裝的Xilinx庫;(3) 啟動(dòng)ModelSim,選擇“File”/“Charge Directory”,選
40、擇剛才建立的library文件夾路徑; (4) 選擇“File”/“New”/“Library”命令,彈出“Creat a New Library”,在“Library name”中輸入“simprims_ver”,同時(shí)在“Library Physical Name”欄也自動(dòng)輸入“simprims_ver”,單擊“OK”按鈕;(5) 在主窗口中選擇“Compile”/“Compile”命令,彈出“Compile Source Files”,在“Library”的下拉列表中選擇“simprims_ver”;然后在【查找范圍】中選中“Xilinx12.1ISEverilog src simprim
41、s”下面的全部文件,單擊Compile進(jìn)行編譯,這時(shí)需要花一些時(shí)間等待編譯結(jié)束,之后就可在ModelSim庫中看到simprims庫。依同樣的辦法編譯unisims和XilinxCoreLib庫,完成之后,以后就可以在ModelSim中直接仿真ISE的工程。 2.4.3 ModelSim 功能仿真舉例1建立工程使用ModelSim建立工程主要包括5個(gè)基本步驟: (1) 選中或添加源文件。點(diǎn)擊開始程序ModelSim6.5,啟動(dòng)ModelSim,選擇菜單“File New Poject”,打開“Create Project”對(duì)話框,如圖2-15所示。 圖2-15 ModelSim 新建工程窗口首
42、先在“Create Project”對(duì)話框中填寫“Project Name”為“DivClk_Simu”;然后在“Project Location”欄中選擇Project文件的存儲(chǔ)目錄(注意:ModelSim不可以為工程自動(dòng)建立一個(gè)目錄,這里我們最好是自己在Project Location中輸入路徑來為工程建立目錄);接著用“Default Library Name”指定設(shè)計(jì)編譯到哪個(gè)庫中,默認(rèn)為work,不需要修改,這樣在編譯設(shè)計(jì)文件之后,在WorkSpace窗口的Library中就會(huì)出現(xiàn)work庫。點(diǎn)擊“OK”按鈕確認(rèn),在ModelSim軟件主窗口的工作區(qū)中即增加了一個(gè)空的Project標(biāo)
43、簽,同時(shí)彈出一個(gè)“Add items to the Project”對(duì)話框,如圖2-16所示,可以選中新建源文件或者將已經(jīng)設(shè)計(jì)好的源文件添加到當(dāng)前工程中。 圖2-16 添加文件到工程向?qū)疽鈭D (2) 添加包含設(shè)計(jì)單元的文件。在“Add items to the Project”對(duì)話框中利用“Add Existing File”或“Create New File”選項(xiàng),可以在工程中加入已經(jīng)存在的文件或建立新文件。點(diǎn)擊“Create Simulation”可以為工程添加仿真。點(diǎn)擊“Create New Folder”可以為工程添加新的目錄。這里點(diǎn)擊“Create New File”,彈出如圖2-
44、17所示的界面,在“File Name”中輸入“Div_Clk_Simu”作為文件的名稱,“Add file as type”為輸入文件的類型,我們選擇“Verilog”;“Folder”為新建的文件所在的路徑,“Top Level”為在我們剛才所設(shè)定的工程路徑下。點(diǎn)擊“OK”按鈕,并在“Add items to the project”窗口點(diǎn)擊“Close”,關(guān)閉該窗口。 圖2-17 添加新文件 (3) 輸入設(shè)計(jì)文件。在“WorkSpace”窗口中出現(xiàn)了“Project”選項(xiàng)卡,在其中有“DivClk_Simu.v”,其狀態(tài)欄有一個(gè)問號(hào),表示未編譯;雙擊該文件,出現(xiàn)“DivClk_Simu.
45、v”的編輯窗口,在其中我們輸入設(shè)計(jì)文件如下:module DivClk_Simu( input wire clk , input wire reset, output wire divclk ); reg 4:0counter; reg tempdivclk; always(posedge clk , negedge reset) if(!reset) begin counter = 5b00000; tempdivclk =5b11000) begin counter = 5b00000; tempdivclk = !tempdivclk; end else counter = counte
46、r + 1; assign divclk = tempdivclk;endmodule (4) 編譯文件。點(diǎn)擊“File”“Save”,在彈出的“WorkSpace”窗口中的“DivClk_Simu”上點(diǎn)擊右鍵,選擇“Compile”“Compile All”,如圖2-18所示,如果編譯成功,在信息窗口將出現(xiàn)一行綠色字符“Complie of DivClk_Simu.v was successful”,說明文件編譯成功;如果編譯有錯(cuò)誤,會(huì)提示紅色字符提示“Compile of DivClk_Simu.v failed with 1 error”,雙擊該提示行,將會(huì)彈出對(duì)話框,詳細(xì)描述對(duì)應(yīng)錯(cuò)誤發(fā)
47、生的位置,并提示用戶修改錯(cuò)誤。 圖2-18 ModelSim軟件中的工程編譯窗口 (5) 確認(rèn)編譯結(jié)果。文件編譯完后,用鼠標(biāo)點(diǎn)擊“Library”標(biāo)簽欄;在標(biāo)簽欄中用鼠標(biāo)點(diǎn)擊work庫前面的“+”,展開work庫,就會(huì)看到編譯了的設(shè)計(jì)文件。 2仿真1) 手動(dòng)添加激勵(lì)仿真(1) 形成仿真界面。點(diǎn)擊“Simulate”“Start Simulate”,出現(xiàn)如圖2-19所示的界面,展開“Design”選項(xiàng)下的work庫,并選中其中的“DicClk_Simu”,點(diǎn)擊“OK”按鈕,出現(xiàn)仿真界面。為了觀察波形,選擇“View”,調(diào)出“signal”、“l(fā)ist”和“wave”窗口。也可以通過在主窗口命令行
48、操作區(qū)的VSIM提示符下輸入命令“view signals list wave”(回車)來觀察波形。 圖2-19 開始仿真界面 (2) 向“Wave”窗口添加信號(hào)。在“Objects”窗口中,選擇需要添加在“Wave”窗口的信號(hào),單擊右鍵,在彈出的菜單中選擇“Add”“to Wave”選項(xiàng)中的“Selected Signals”,將設(shè)計(jì)中用到的所有信號(hào)都列在“Wave”窗口中,如圖2-20所示。 圖2-20 在Wave窗口中添加信號(hào) (3) 手動(dòng)添加激勵(lì)。由于我們沒有寫“TestBench”文件對(duì)原設(shè)計(jì)加激勵(lì),所以需要手動(dòng)添加激勵(lì)。在主窗口中輸入命令對(duì)信號(hào)添加驅(qū)動(dòng)。首先為reset信號(hào)輸入驅(qū)動(dòng)
49、:force reset 0 0, 1 10000,然后為clk添加驅(qū)動(dòng):force clk 0 0,1 10000 r 20000。其中force為命令,clk表示為clk信號(hào)添加驅(qū)動(dòng),0 0 表示在零時(shí)刻該值為0,1 10000表示在10 ns處值為1,-r 20000表示在20 ns處開始重復(fù)。也就是說,我們輸入的時(shí)鐘為50 MHz。同樣可以分析reset信號(hào)是在零時(shí)刻值為0,10 ns處開始一直為1。這樣一來,所有信號(hào)的驅(qū)動(dòng)就添加完畢。 (4) 開始仿真。仿真的命令為run,后面跟時(shí)間單位,或者為run all,表示一直仿真,直到仿真結(jié)束。輸入run 200us,就可以出現(xiàn)如圖2-21
50、所示的波形。仿真完成之后,確認(rèn)無誤,可以退出仿真;如果有錯(cuò)誤,則返回源碼區(qū),進(jìn)行源碼修改,然后再重復(fù)以上步驟進(jìn)行仿真。 圖2-21 仿真結(jié)果 2) 使用TestBench對(duì)設(shè)計(jì)進(jìn)行仿真手動(dòng)添加輸入激勵(lì)在設(shè)計(jì)比較簡(jiǎn)單的情況下比較方便,但是在很多情況下,尤其要考慮到驗(yàn)證情況比較復(fù)雜時(shí),都需要編寫TestBench為設(shè)計(jì)添加激勵(lì)。比如,設(shè)計(jì)兩個(gè)四位數(shù)相加的加法器,要考慮到所有可能的輸入,手動(dòng)添加就過于繁瑣。下面我們?yōu)閯偛诺姆诸l電路添加TestBench。選擇FileNewSourseVerilog命令,新建Verilog文件,編寫TestBench文件如下:timescale 1ns/1psmodu
51、le TB_DivClk(); reg clk; reg reset; wire divclk; parameter ClkPeriod = 200; DivClk_Simu DivClk_Simu_0( .clk(clk), .reset(reset), .divclk(divclk) ); initial begin reset = 0; #2000; reset = 1; end initial begin clk = 0; forever clk = #(ClkPeriod/2) clk; endendmodule 保存文件名為“TB_DivClk.v”,在Project欄空白處點(diǎn)擊右
52、鍵,選擇“Add to ProjectExisting File”,把剛才保存的“TB_DivClk.v”文件添加到本工程。選擇“TB_DivClk.v”和“DivClk.v”兩個(gè)文件,點(diǎn)擊“Compile”“Compile All”進(jìn)行編譯。編譯成功之后,就可以直接進(jìn)行仿真了。仿真過程不再冗述,結(jié)果如圖2-22所示。仿真結(jié)束之后,選擇“Simulate”“End Simulate”,結(jié)束仿真。 圖2-22 仿真結(jié)果波形圖 2.4.4 Synplify Pro介紹Synplify和Synplify Pro是Synplicity公司開發(fā)的專門針對(duì)FPGA和CPLD的邏輯綜合工具,前者為簡(jiǎn)裝版,后
53、者包含了前者所有功能。我們主要以Synplify Pro來講解。雖然ISE自帶有綜合工具,但是相比起來,Synplify Pro軟件具有更好的綜合性能和更高的速度優(yōu)勢(shì),無論在系統(tǒng)運(yùn)行頻率上,還是物理面積上,都更勝一籌。因此,Synplify Pro軟件成為FPGA開發(fā)工程師非常青睞的一款綜合工具。Synplify Pro工具支持大部分FPGA公司的產(chǎn)品,這些公司有Xilinx、Altera、Actel、Lattice公司等。 2.4.5 關(guān)聯(lián)ISE和Synplify ProISE和Synplify Pro的關(guān)聯(lián)比較簡(jiǎn)單。和ModelSim的關(guān)聯(lián)是一樣的,同樣需要將SynplifyPro軟件和I
54、SE軟件關(guān)聯(lián)后才可以直接在ISE 中調(diào)用Synplify Pro進(jìn)行綜合。運(yùn)行ISE軟件,在主界面中選擇“Edit”“Preference”菜單項(xiàng),進(jìn)行“Preference”設(shè)定,在彈出的“Preference”對(duì)話框中選擇“ISE General”菜單下的“Integrated Tools”選項(xiàng)卡。該選項(xiàng)卡用于設(shè)定與ISE集成的軟件的路徑。右邊第三項(xiàng)的“Synplify Pro”就用于設(shè)定Synplify Pro仿真軟件的路徑,如圖2-23所示。 圖2-23 ISE集成工具設(shè)定頁面 2.4.6 Synplify Pro使用流程在講述ISE自帶綜合工具XST時(shí),已經(jīng)講述過綜合的概念。綜合工具
55、的主要任務(wù)是將HDL代碼轉(zhuǎn)化為目標(biāo)FPGA器件對(duì)應(yīng)的門級(jí)網(wǎng)表。其過程包括以下3個(gè)步驟: 把HDL源代碼編譯成已知的結(jié)構(gòu)元素; 運(yùn)用相關(guān)算法,對(duì)設(shè)計(jì)進(jìn)行面積優(yōu)化和時(shí)延優(yōu)化; 將設(shè)計(jì)映射到指定廠家的目標(biāo)器件上,并執(zhí)行一些附加的優(yōu)化措施,包括根據(jù)器件供應(yīng)商提供的專用約束進(jìn)行優(yōu)化等。具體過程如圖2-24所示。 圖2-24 Synplify綜合流程 隨著版本的不斷升級(jí),Synplify Pro圖形界面越來越人性化。下面按照?qǐng)D2-25中數(shù)字所標(biāo)的次序,對(duì)其界面作簡(jiǎn)要介紹。(1) 圖中表示Synplify的工程區(qū),在這個(gè)窗口詳細(xì)顯示設(shè)計(jì)者創(chuàng)建工程所產(chǎn)生的各種結(jié)果文件。同時(shí),如果綜合完成后,每個(gè)源文件有多少錯(cuò)
56、誤或者警告都會(huì)在這個(gè)窗口顯示出來。(2) 圖中表示信息欄,在這個(gè)窗口中設(shè)計(jì)者可以通過TCL命令完成相應(yīng)的功能,同時(shí)在信息欄中選擇“Messege”還可以實(shí)時(shí)觀察編譯綜合信息。 (3) 圖中表示觀察窗口,在這里可以觀察設(shè)計(jì)被綜合后的一些特性,比如設(shè)計(jì)元件寄存器和查找表以及I/O所占用的資源等。(4) 圖中是狀態(tài)窗口,它表示現(xiàn)在Synplify所處的狀態(tài),平時(shí)為閑置狀態(tài),在綜合過程中會(huì)顯示編譯狀態(tài)、映射狀態(tài)等,綜合結(jié)束之后顯示“Done”,以及產(chǎn)生的“warnings”和“notes”數(shù)量。(5) 圖中所示的一些復(fù)選框,可以對(duì)將要綜合的設(shè)計(jì)的一些特性進(jìn)行設(shè)置。Synplify可以根據(jù)這些設(shè)置對(duì)設(shè)計(jì)
57、進(jìn)行相應(yīng)的優(yōu)化工作。最上面是運(yùn)行按鈕,當(dāng)一個(gè)工程加入之后,按這個(gè)“Run”按鈕,Synplify就會(huì)對(duì)工程進(jìn)行綜合。 (6) 圖中所示的是Synplify的工具欄。Synplify Pro使用流程如下:1) 形成Synplify Pro界面形成的Synplify Pro界面如圖2-25所示(不含圈號(hào)數(shù))。 圖2-25 Synplify Pro綜合工具示意圖 2) 建立工程和添加源文件 打開“Synplicity Pro”,啟動(dòng)“Synplify Pro”。缺省情況下,Synplify將自動(dòng)打開上次打開的工程。如果想新建一個(gè)工程,則可以選擇“Close Project”,關(guān)閉當(dāng)前工程;點(diǎn)擊“File”“New”,出現(xiàn)如圖2-26所示的對(duì)話框,選擇“Project File”,填寫所要建立工程的名稱以及工程文件存儲(chǔ)路徑,然后點(diǎn)擊“OK”按鈕。圖2-26 新建工程界面 新建工程之后,需要將源文件添加進(jìn)來。點(diǎn)擊“Add Files”按鈕,添加源文件和約束文件。Synplify Pro默認(rèn)把最后編譯的文件的模塊名稱作為頂層設(shè)計(jì),所以需要把頂層設(shè)計(jì)文件用左鍵拖拉到源文件菜單的末尾處,或者點(diǎn)擊“Implementation Options”按鈕,在Verilog屬性頁中設(shè)置頂層模塊的名稱。 3) 設(shè)置工程屬性設(shè)置工程屬性,點(diǎn)擊“Implementation Op
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 造型的表現(xiàn)力 課件 2024-2025學(xué)年人教版初中美術(shù)八年級(jí)上冊(cè)
- 人教新目標(biāo)Go For It!八年級(jí)上冊(cè) Unit 6 I'm going to study computer science. Section B
- 核電汽輪機(jī)的特點(diǎn)
- 常見慢性病的防治
- 2024年四川省宜賓市初二年級(jí)學(xué)業(yè)水平考試地理試卷含答案
- 2014年大輸液行業(yè)市場(chǎng)分析報(bào)告
- 2024至2030年中國(guó)成套電控裝置數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2013-2016年中國(guó)那曲電信移動(dòng)市場(chǎng)發(fā)展?fàn)顩r分析研究報(bào)告
- 2024至2030年中國(guó)噴油嘴檢測(cè)清洗儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024至2030年中國(guó)單人溫步機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 淺埋暗挖施工方法大全圖文PPT課件
- 聚丙烯Spherizone工藝技術(shù)及產(chǎn)品介紹
- 托卡馬克裝置原理2[1]
- “模擬法庭”在高中法律教學(xué)中的應(yīng)用與探究
- 江蘇自考數(shù)學(xué)教育學(xué)知識(shí)點(diǎn)
- [二手房買賣合同正式版] 二手房買賣合同最新版
- 部編版五年級(jí)語文上冊(cè)第四單元集體備課教學(xué)計(jì)劃和全部教案
- 五年級(jí)語文上冊(cè) 第六單元 22《蟬》課后練習(xí) 北京版-北京版小學(xué)五年級(jí)上冊(cè)語文試題
- 最新部編版五年級(jí)道德與法治上冊(cè)第四單元教材分析
- 課程設(shè)計(jì) 基于電阻應(yīng)變片的S型稱重傳感器設(shè)計(jì)
- 中國(guó)血液透析用血管通路專家共識(shí)
評(píng)論
0/150
提交評(píng)論