提升創(chuàng)造力的數(shù)字設(shè)計工具:FPGA Editor(08-100)
一旦了解了最基本的概念和操作,就可以開始察看FPGA構(gòu)造。通常都從時鐘邏輯開始。這包括數(shù)字時鐘管理器(DCM)、鎖相環(huán)(PLL)、全局時鐘緩沖器(BUFG)、區(qū)域時鐘緩沖器(BUFR)、I/O緩沖器(BUFIO)以及不同的時鐘區(qū)域。(要想按字母列出項目表,可以到LIST窗口點擊Type來排序。)點擊一個DCM并按F11。ARRAY窗口會定位到選擇的DCM并放大顯示它。繼續(xù)點擊DCM并觀察GUI底部的Console窗口,其中會顯示與下面類似的內(nèi)容:
本文引用地址:http://m.butianyuan.cn/article/91696.htmcomp “DCM_BASE_inst_star”, site “DCM_ADV_X0Y9”, type = DCM_ADV
(RPM grid X73Y202)
這是有用的數(shù)據(jù)。 拷貝并粘貼上述內(nèi)容到UCF文件中,并作如下更改以鎖定這一DCM邏輯:
INST “DCM_BASE_inst_star”
LOC=DCM_ADV_X0Y9;
利用這一方法,幾乎可以鎖定FPGA中的任何項目。 下面是BUFG鎖定的另一個例子:
comp “BUFG_inst_star”, site “BUFGCTRL_X0Y20”, type = BUFG (RPM grid X73Y124)
INST “BUFG_inst_star”
LOC=BUFGCTRL_X0Y20;
再次回到List窗口并標注同一DCM。 雙擊之后將會在Block視圖中顯示該DCM以及所有設(shè)置和參數(shù)。這是一項非常強大的功能,可用于FPGA構(gòu)造中的任何邏輯項目。如果選擇一個邏輯片并雙擊它,就可以看到邏輯片是如何布線連接的,以及是否使用了進位鏈或本地觸發(fā)器。
Block視圖的按鈕條包含許多其它選項。值得一提的是 F= button按鈕,其功能是顯示邏輯片中使用的項目的完整配置。例如,如果使用了一個LUT6和一個觸發(fā)器,按下F= 按鈕將會給出LUT的布爾方程以及觸發(fā)器的配置模式。
閱讀賽靈思用戶指南是一回事,而從計算機屏幕上展開的視圖上探察所有邏輯、開關(guān)和參數(shù)則是另一回事。一旦熟悉了FPGA構(gòu)造及所有資源,那么在編寫和驗證設(shè)計時獲得的幫助將會令人感到驚奇。
在設(shè)計流程中記錄生成補丁腳本
當用戶在GUI環(huán)境中編輯設(shè)計時,FPGA Editor能夠記錄用戶動作。用戶不僅可以保存記錄動作流程,還可在以后重新使用記錄的腳本并加以重復(fù)。當無法更改RTL,但又需要在設(shè)計過程中對設(shè)計進行修改時,這一功能特別有用。假設(shè)設(shè)計采用了第三方IP或賽靈思加密IP,其中包括一個全局時鐘和一個DCM來生成稱為 interface_clk的時鐘。然后再假設(shè)接口所連接的ASIC出現(xiàn)問題,無法在預(yù)定的interface_clk的上升沿接收數(shù)據(jù)。如何修正這一問題?
當然,你可以改變PCB,更換出現(xiàn)問題的ASIC或者讓第三方IP小組來修改時鐘輸出邏輯以提供90度相移的interface_clk。所有這些解決方案都既耗費時間又成本高昂。一個更簡單的建議是利用FPGA Editor來記錄修改動作,對interface_clk邏輯進行必要的更改,從而為出現(xiàn)問題的ASIC提供正確的時鐘相位。一旦有了相關(guān)修改的FPGA Editor腳本,就可以回放這些命令行腳本記錄的修改步驟,而你也可以正常繼續(xù)你的FPGA設(shè)計流程。當出現(xiàn)問題的ASIC修復(fù)正常以后,你只需要將FPGA Editor腳本從編譯腳本中移除就可以,而interface_clk也會恢復(fù)其正常的行為。
評論