FAE講堂:提升創(chuàng )造力的數字設計工具 FPGA Editor
工程師在設計過(guò)程中,經(jīng)常需要一定的創(chuàng )造力(你不妨稱(chēng)之為數字管道膠帶)才能夠保證設計的順利完成。過(guò)去8年時(shí)間里,我曾經(jīng)目睹許多優(yōu)秀工程師利用這一方法出色地完成了許多工作,而他們采用的最主要工具就是 FPGA Editor。
本文引用地址:http://dyxdggzs.com/article/119298.htm利用FPGA Editor,你可以察看完成的設計并確定是否在FPGA構造一級真正實(shí)現了設計意圖 – 而這對于任何工程師或現場(chǎng)應用工程師來(lái)說(shuō)都是非常需要的。假設你拿到協(xié)作者的設計,需要對其進(jìn)行修改,但他們的 HDL源代碼非常難于理解,或者根本沒(méi)有任何注釋或文檔。也許你只是想將某些時(shí)鐘邏輯鎖定,但卻不知道實(shí)例的名稱(chēng)或者如何將其鎖在所希望的位置。下面討論的一些用來(lái)探查FPGA構造以及創(chuàng )建命令行補丁的技巧可以幫助設計人員滿(mǎn)足不斷迫近的任務(wù)期限要求。
FPGA構造勘察技巧
當賽靈思發(fā)布針對新FPGA器件的工具時(shí),通常我做的第一件事就是打開(kāi)FPGA Editor來(lái)勘FPGA器件的內部構造。具體做法是找到 Xilinx →ISE →Accessories菜單并點(diǎn)擊FPGA Editor圖標,或者在命令行鍵入 fpga_editor。 圖形用戶(hù)界面打開(kāi)后,在File菜單下選擇New。FPGA Editor會(huì )詢(xún)問(wèn)設計文件名稱(chēng)和物理約束文件。此時(shí)還沒(méi)有任何設計文件,因此隨便鍵入一個(gè)設計文件名(例如,test.ncd),并選擇希望察看的器件類(lèi)型。 FPGA Editor將會(huì )使用同樣的名字作為物理約束文件的名稱(chēng),并加載一個(gè)空白設計。
另一種方法是編譯隨軟件提供的某個(gè)ISE®工具套件設計例子,并將其加載到FPGA Editor中來(lái)察看FPGA構造。加載一個(gè)設計實(shí)例可以顯示更多細節,并且更容易定位感興趣的項目。
在FPGA Editor中瀏覽只需要記住兩件事:
1、 如何利用CTRL/Shift快捷鍵進(jìn)行放大縮小。
2、 如果利用F11鍵放大選定的項目。不使用GUI按鈕快速縮放的方法是,按住Ctrl和Shift鍵,然后分別利用鼠標左鍵和右鍵進(jìn)入放大和縮小。要想快速找到任何項目,在GUI右上角的列表窗口(List window)中選擇該項目即可。一旦定位了想找的項目,按F11鍵。陣列窗口(Array window)就會(huì )放大顯示該項目。
FPGA Editor有四個(gè)主要窗口:列表(List)、全局(World)、陣列(Array)和塊(Block)。List窗口顯示設計中所有活動(dòng)的項目。通過(guò)此窗口頂部的下拉菜單可選擇其內容 – 列表內容包括已經(jīng)布局或還未使用的部件、網(wǎng)絡(luò )或未布線(xiàn)的網(wǎng)絡(luò )等等。
全局視圖窗口(World Windows)始終顯示完整FPGA硅片視圖,這在試圖確定某個(gè)網(wǎng)絡(luò )的布線(xiàn)情況時(shí)非常有用。同時(shí),陣列窗口(Array window)則是FPGA構造和邏輯的動(dòng)態(tài)視圖。如果雙擊Array視圖中的任何項目,會(huì )顯示Block視圖,給出所選擇項目或邏輯單元的詳細情況。
為方便瀏覽或對設計進(jìn)行編輯,這些窗口可以復制。許多情況下,打開(kāi)第二個(gè)Array窗口會(huì )比較方便同時(shí)在設計的兩個(gè)不同部分工作。例如,假設需要在全局時(shí)鐘緩沖器和芯片底部的觸發(fā)器之間增加一條布線(xiàn)。如果在一個(gè)Array窗口中顯示全局時(shí)鐘緩沖器的輸出,另一個(gè)Array窗口則顯示觸發(fā)器時(shí)鐘輸入,那么會(huì )做起來(lái)會(huì )更方便。不然的話(huà)就必須來(lái)回縮放來(lái)定位布線(xiàn)的兩端,顯然這很繁瑣。
在FPGA Editor GUI的右側是一組由20個(gè)功能按鈕組成的工具條,用于設計察看和編輯。通過(guò)編輯 $XILINX/data目錄下的 fpga_editor.ini文件可以增加更多功能按鈕。當察看設計時(shí),應當隨時(shí)使用INFO按鈕。該功能會(huì )將所選擇項目的所有信息轉錄到控制臺(Console)窗口。這一功能非常方便,你可以在控制臺窗口中標注數據并將其拷貝到其它地
方使用,例如編寫(xiě)UCF約束。
一旦了解了最基本的概念和操作,就可以開(kāi)始察看FPGA構造。通常我都從時(shí)鐘邏輯開(kāi)始。這包括數字時(shí)鐘管理器(DCM)、鎖相環(huán)(PLL)、全局時(shí)鐘緩沖器(BUFG)、區域時(shí)鐘緩沖器(BUFR)、I/O緩沖器(BUFIO)以及不同的時(shí)鐘區域。(要想按字母列出項目表,可以到LIST窗口點(diǎn)擊Type來(lái)排序。)點(diǎn)擊一個(gè)DCM并按F11。ARRAY窗口會(huì )定位到選擇的DCM并放大顯示它。繼續點(diǎn)擊DCM并觀(guān)察GUI底部的Console窗口,其中會(huì )顯示與下面類(lèi)似的內容:
comp “DCM_BASE_inst_star”, site
“DCM_ADV_X0Y9”, type = DCM_ADV
(RPM grid X73Y202)
這是有用的數據。 拷貝并粘貼上述內容到UCF文件中,并作如下更改以鎖定這一DCM邏輯:
INST “DCM_BASE_inst_star”
LOC=DCM_ADV_X0Y9;
利用這一方法,幾乎可以鎖定FPGA中的任何項目。 下面是BUFG鎖定的另一個(gè)例子:
c o m p “ B U F G _ i n s t _ s t a r ” , s i t e
“BUFGCTRL_X0Y20”, type = BUFG
(RPM grid X73Y124)
INST “BUFG_inst_star”
LOC=BUFGCTRL_X0Y20;
再次回到 List 窗口并標注同一DCM。 雙擊之后將會(huì )在Block視圖中顯示該DCM以及所有設置和參數。這是一項非常強大的功能,可用于FPGA構造中的任何邏輯項目。如果選擇一個(gè)邏輯片并雙擊它,就可以看到邏輯片是如何布線(xiàn)連接的,以及是否使用了進(jìn)位鏈或本地觸發(fā)器。
評論