1.在Translate過程中出現如下錯誤:
"ERROR:ConstraintSystem:59 - Constraint< xxx >: NET/INST "xxx" 未找到。Please verify that:
The specified design element actually exists in the design.
The specified object is spelled correctly in the constraint source file."
解決辦法:為了防止綜合工具刪除 net,應為 net 應用 "KEEP"
例如:(* KEEP = "TRUE" *) wire [3:0] SdData_o ;
另外注意檢查管腳約束UCF文件中,是否有對多余的IO信號分配了同一個管腳
2、在implement時點擊translate后,出現如下錯誤:
ERROR:NgdBuild:924- input pad net 'clk' is driving non-buffer primitive。
意為輸 入信號clk未經buffer就用來驅動其他primitives了
主要的原因:
輸入時鐘clk_in在作為DCM輸入引腳的時候又為其他module的輸入,也就是說clk有兩個load,連接PLL時,輸入信號先要連接到內部buffer以產生較強的驅動能力,從而保證時鐘的時 序質量。但是由于輸入信號的另一分支不經過任何電路就直接連接到了輸出Pad ,所以存在一種可能,即連接buffer的分支會被短路,從而失去預期的效果。即輸入clk兩個分支,一個直接連到模塊fsm;一個連在了DCM的輸入時鐘源。由于經過DCM時會自動加一個buffer緩沖器,而到fsm會直接連在一起,這樣會造成DCM這一路短路出現錯誤。正因為如此,ISE給出了錯誤警告。
解決辦法:clk只是連接一個load,就是DCM。DCM兩個輸出一個CLKFX_OUT_1,另外一個用CLK0_OUT,此信號和clk無論相位還是頻率是一樣的。
另外: chipscope 不能用晶振輸入時鐘來作為采樣時鐘