歡迎您光臨本站 登入註冊首頁

FPGA常見問題

admin @ 2014-03-26 , reply:0

概述

1、編譯ModelSim需要的Xilinx庫2、ISE中一些常用的實用功能3、門控時鐘整理與總結4、JTAG連接不上5、ISE中添加屬性,使ModelSim能顯示模擬代碼覆蓋率-CodeCoverag……

1、編譯ModelSim需要的Xilinx庫
2、ISE中一些常用的實用功能
3、門控時鐘整理與總結
4、JTAG連接不上
5、ISE中添加屬性,使ModelSim能顯示模擬代碼覆蓋率-Code Coverage
6、Xilinx軟體安裝事項
7、為什麼Xilinx器件中BRAM大小是18K?
8、Toggle Path是什麼意思?
9、iMPACT可不可以單獨裝?


1、編譯ModelSim需要的Xilinx庫
首先要將安裝的ModelSim目錄下的ModelSim.ini屬性設置為存檔類型(去掉只讀)
然後從DOS界面到ISE安裝目錄bin t(如果在Windows的環境變數中已經設置過Xilinx路徑,就不必了),
運行命令:
(for ISE 6)
compxlib -s mti_se -f all -l all -p e:modeltech_6.0win32 -o e:modeltech_6.0xilinx_libs  (for ISE 6)
-p 指定modelsim安裝目錄
-o 指定編譯庫輸出目錄

(for ISE 7)
compxlib -s mti_se -arch all -lib all -l all -p e:modeltech_6.0win32 -dir e:modeltech_6.0xilinx_libs  (for ISE 7)
-arch : device architecture:spartan2, virtex, etc.
-lib  : library: unisim, smartmodel, etc.
新的版本把原來的-f拆開成了-arch和-lib,而-f則指讀取文件,不過也還可以兼容原來的寫法的
編譯之後,compxlib會自動修改modelsim.ini,重新打開ModelSim,就能看到新的庫了

2、ISE中一些常用的實用功能
鏡像:Project --> Take Snapshot,用這個很容易做版本控制;
打包:Project --> Archive,將工程文件夾打包,方便轉移與交流


3、門控時鐘整理與總結
當綜合器出現這樣的Warning時,即提示發現了門控時鐘
WARNING DesignRules:372 - Netcheck: Gated clock. Clock net _n0019 is sourced by  a combinatorial pin. This is not good design practice. Use the CE pin to  control the loading of data into the flip-flop.

如果一個時鐘節點由組合邏輯驅動,那麼它就形成了門控時鐘了。綜合器建議用組合邏輯驅動CE引腳。

為什麼綜合器會出現這樣的警告呢?
原來門控時鐘容易產生毛刺、增加延時、引起時鐘漂移(Clock Skew),並且還會降低可測性。

門控時鐘引起的這些問題怎麼解決呢?
用組合邏輯來驅動CE埠,而不要驅動Clock埠,這樣能更好地保持同步。

說了那麼多壞處,有沒有好處呢?
門控時鐘的好處常用在ASIC而不是FPGA中。在ASIC中可以通過門控時鐘降低功耗。不過即使是在ASIC中,上述的缺點還是存在的,所以必須要小心地設計。

4、JTAG連接不上
有時候碰到這樣的問題:在iMPACT中執行Initialize命令后出現一連串的Error,無論如何找不到FPGA了。
如果你遇到的問題跟我描述的一樣,那麼下面的方法可能可以為你解決:
1、首先確認並口是否打開:
在BIOS設置中找到Parallel Port的選項,一般情況下將它設置到EPP+ECP(增強型並口)模式。
2、重新安裝ISE附帶的並口驅動程序:
通常情況下產生這種問題的最主要的原因是Xilinx ISE的並口驅動被覆蓋,或者你安裝ISE的時候就沒有安裝並口驅動程序。因此,解決方法就是重新安裝並口驅動程序。提醒:你只需要安裝並口驅動程序,而不需要安裝整個ISE,整個過程只需要不到1分鐘就可以解決的。

5、ISE中添加屬性,使ModelSim能顯示模擬代碼覆蓋率
在ISE中的操作
1) 點中modelsim圖標,右鍵屬性
2) VLOG命令行加入-cover bcest
3) VSIM命令行加入-coverage
(此條來自EDACN)

6、Xilinx軟體安裝事項
Xilinx全部軟體都不能安裝在帶空格帶中文字元的目錄中,也就是說不能裝在Program Files這個目錄下。建議所有軟體都裝在某個盤的根目錄下。
需要注意的是,SysGen因為需要安裝在Matlab的toolbox目錄下,因此Matlab也不可以安裝在帶空格帶中文的目錄中!

7、為什麼Xilinx器件中BRAM大小是18K?
18K是為了存放校驗位的考慮。通常需要校驗時,每8bit需一位校驗位,因此長度是16+2=18。
但是,BRAM並沒有產生校驗位的功能,他內部所有的位功能都是一致的,都可以用作存儲。
在使用BRAM時,存儲深度以2k為分界點,如果存儲深度<=2k,即存儲形式為9bit x 2k,那麼此時可以用滿18K的BRAM;而如果存儲深度>2k,即4bit x 4K或2 bit x 8k這種形式,則最多只能用到16K的BRAM。

8、Toggle Path是什麼意思?
ISE中有個命令叫做Toggle Path,它的作用就是改變Project中文件的相對路徑/絕對路徑存儲方式。這裡所說的文件,是指非工程目錄下的文件。
具體解釋參見Xilinx Answer Record 23415

9、iMPACT可不可以單獨裝?
iMPACT可以單獨安裝。
ISE8.2安裝時可以選Standalone Programming Tool,這樣就會只裝impact。不過還要記得還要選你使用的Cable Driver。
但是8.2有個問題:裝好的impact會因為缺少MSVCR7.dll而不能啟動
http://www.xilinx.com/xlnx/xil_ans_display.jsp?iLanguageID=1&iCountryID=1&getPagePath=17468
所以,要麼你還隨手帶一個MSVCR7.dll,要麼用別的版本:)


[admin via 研發互助社區 ] FPGA常見問題已經有3968次圍觀

http://cocdig.com/docs/show-post-43027.html