Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

在計算機(jī)桌面上雙擊ISE圖標(biāo),便可以啟動ISE軟件的運行。整個界面采用標(biāo)準(zhǔn)Windows格式,共分8個部分:標(biāo)題欄、菜單欄、工具欄、工程管理欄、源代碼文件編輯區(qū)、過程管理區(qū)、信息顯示區(qū)和狀態(tài)欄

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖1 ISE 工具界面

具體菜單欄中的各項的具體功能可以閱讀相關(guān)資料。下面具體介紹利用ISE軟件開發(fā)FPGA的整個過程。

1、新工程建立

選擇“File|New Projiect”選項,彈出新建工程的對話框,輸入工程名,選擇所存路徑,至于頂層源文件類型默認(rèn)為HDL,點擊NEXT進(jìn)入工程屬性,選擇器件類型、封裝、速度、綜合工具、仿真工具以及喜歡的硬件描述語言,詳見下圖設(shè)置。擇好后點擊OK進(jìn)入下一頁,可以選擇新建源代碼文件,也可直接跳過,進(jìn)入下一頁。如已有源代碼文件,則可以添加到工程中;如沒有,則單擊“NEXT”進(jìn)入最戶一頁,單擊“OK”就建立一個完整的工程文件。

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖2 新建工程

2、代碼輸入

1)在工程管理區(qū)點擊鼠標(biāo)右鍵,彈出菜單選擇New Source,或者在Project欄目菜單中選擇New Source,彈出界面;

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖3 添加代碼文件

2)輸入文件名,選擇源碼類型,這里選擇Verilog Module,單擊NEXT進(jìn)入端口定義對話框;

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖4 創(chuàng)建代碼文件

3)輸入端口名,選擇端口的方向?qū)傩?、總線以及MSB、LSB等,也可以在代碼中進(jìn)行聲明。單擊NEXT進(jìn)入下一個界面;

4)示例程序的verilog HDL程序:

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖5 verilog 代碼

5)單擊“FINISH”,完成新源代碼文件的建立。

當(dāng)代碼編輯完成后要存盤時,ISE12.2要檢查代碼的語法,如有錯誤,則存盤時在信息狀態(tài)欄當(dāng)中會給出出錯信息。根據(jù)出錯信息修改代碼,直到?jīng)]有語法錯誤為止。

3、進(jìn)行仿真

ISE仿真有兩種方法:一種是利用HDL Bencher的圖形化波形編輯功能編寫測試文件;另一種是利用HDL語言編寫測試文件,這里介紹利用HDL語言來構(gòu)建測試平臺。

1)測試平臺建立

a)在工程管理區(qū)點擊鼠標(biāo)右鍵,彈出菜單選擇New Source,彈出界面;

b)輸入文件名,選擇Verilog Test Fixture,打鉤add to project,單擊NEXT;

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖6 創(chuàng)建仿真文件

c)選擇要仿真的文件,點擊NEXT;

d)點擊“FINISH”,就生成一個Verilog測試模塊。

ISE能自動生成測試平臺的完整構(gòu)架,包括所需信號、端口聲明以及模塊調(diào)用的實現(xiàn)。所需要完成的工作就是initial….end模塊中的“//Add stimulus here”后面添加測試向量生成代碼。

這里給出示例測試代碼,將其添加于//Add stimulus here處

#100;

SW = 7;

#100;

SW = 11;

#100;

SW = 13;

#100;

SW = 14;

2)測試平臺建立后,在工程管理區(qū)將狀態(tài)設(shè)置為“Simulation”;選擇要仿真的文件名,過程管理區(qū)就會顯示“Isim simlator”;

3)下拉“Isim simlator”,選擇“Simulate Behavioral Model”,單擊鼠標(biāo)右鍵,現(xiàn)在“Process Properties”可修改仿真遠(yuǎn)行時間等。

4)修改后,直接雙擊“Isim simlator”中的“Simulate Behavioral Model”進(jìn)行仿真。檢查仿真結(jié)果是否達(dá)到預(yù)期設(shè)計目標(biāo)。

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖7 工程仿真時序

4、約束文件的編寫

約束是FPGA開發(fā)中不可缺少的一部分。FPGA設(shè)計中有3類約束文件:用戶設(shè)計文件(.UCF)、網(wǎng)表約束文件(.NCF)和物理約束文件(.PCF)。這里對我們開發(fā)FPGA過程常用的FPGA管腳約束文件進(jìn)行描述??梢杂梦谋揪庉嬈骱蚗ilinx約束文件編輯器進(jìn)行編輯。

1)約束文件建立

a)在工程管理區(qū)點擊鼠標(biāo)右鍵,彈出菜單選擇New Source,或者在Project欄目菜單中選擇New Source,彈出界面;

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖8 創(chuàng)建約束文件

b)輸入文件名,選擇Implemention Constraints File,點擊NEXT;

c)如有多個文件,則選擇相應(yīng)文件,點擊NEXT;

d)點擊“FINISH”,完成約束文件的創(chuàng)建。

2)編輯約束文件

管腳約束文件的語法為:

NET “Signal_Port_Name” LOC=“Chip_Port”;

可用“#”或“/*……..*/”添加注釋。需要注意的是UCF文件對字母的大小寫敏感,信號名必須和設(shè)計中保持大小寫一致。另外要搞清楚FPGA芯片管腳的編號方式,因不同類型的FPGA管腳編號可能是不同的,一旦選定了FPGA,知道其編號方式,就可在管腳約束文件引用。否則會出錯的。

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖9 管腳分配

5、綜合

完成了輸入、仿真以及管腳分配后,就可以進(jìn)行綜合和實現(xiàn)。

選擇要綜合的文件,在過程管理區(qū)中雙擊“Synthesis-XST”可以完成綜合操作,綜合可能有3種結(jié)果:

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖10 生成bit流文件

a)綜合后完全正確,則在“Synthesis-XST”前面有一個打鉤的綠色小圓圈,且在信息顯示區(qū)里顯示process “Synthesis-XST”completed sucessfully。用鼠標(biāo)右鍵點擊“Synthesis-XST”選擇“view Text Report”查看綜合報告,了解FPGA資源使用情況等。

b)如有告警,則出現(xiàn)一個帶感嘆號的黃色小圓圈,在信息顯示區(qū)的“warning”中可以看到相關(guān)信息;

c)如有出錯,則出現(xiàn)一個帶叉的紅色小圓圈,在在信息顯示區(qū)的“error”中可以看到相關(guān)的出錯信息;

綜合正確完成后,可以通過雙擊“View RTL Schematic”來查看RTL級構(gòu)圖,檢查是否按照設(shè)計意圖來實現(xiàn)電路。

另外需注意的,一般可使用XST屬性的默認(rèn)值來綜合,但XST也提供豐富、靈活的屬性配置,可鼠標(biāo)用右鍵點擊“Synthesis-XST”,選擇“process properties”從三個方面來配置:synthesis option、HDL option 以及specific option,具體可參閱相關(guān)資料。

6、實現(xiàn)

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

通過選擇“Implement Design”便可以完成整個實現(xiàn)過程,實現(xiàn)后在“Implement Design”前面有一個打鉤的綠色小圓圈,同時可在信息顯示區(qū)中得到精確的資源占用情況。

7、編程文件產(chǎn)生

只需在過程管理區(qū)中雙擊“Generate Programming File”選項即可生成編程文件。完成后該選項前面會出現(xiàn)一個打鉤的綠色小圓圈。所生成的編程文件放在ISE工程目錄下,是一個擴(kuò)展名為.bit的位流文件。

8、編程下載

在“Configure Target Device”選項下,選擇“Manage Configuration Project(iMPACT)”,彈出iMPACT界面,用鼠標(biāo)雙擊“Boundary Scan”,

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖11 識別觸發(fā)器件

然后選擇“Initialize Chain”,如果FPGA配置電路JTAG測試正確,會將JTAG鏈上掃描到得所有芯片在iMPACT主界面上列出來。

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖12 JTAG鏈正確

JTAG鏈檢測正確后,在期望的FPGA芯片上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“Assign New Configuration File”,選擇后綴為.bit的二進(jìn)制比特流文件。選中下載文件后,單擊“打開”按鈕,在iMPACT的主界面會出現(xiàn)一個芯片模型以及位流文件的標(biāo)志。在此標(biāo)志上單擊鼠標(biāo)右鍵,在彈出的對話框中選擇“Program”選項,單擊“OK”,就可以對FPGA設(shè)備進(jìn)行編程,編程配置成功后,彈出配置成功的界面“Programm Suceeded”。

Xilinx的FPGA開發(fā)工具——ISE開發(fā)流程(xilinx fpga開發(fā))

圖13 下載程序

到此為止實現(xiàn)了一個完整的FPGA設(shè)計流程,以上介紹的只是ISE軟件中最基本的操作,更多的內(nèi)容和操作通過閱讀或在實踐中來熟練。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部