ISE使用出現的錯誤和警告整理


記錄使用ISE過程中出現的問題和解決辦法,與大家分享,也留作今后查看。不斷更新中。。。

2013.3.22之前幾天

1. WARNING:PhysDesignRules:372 - Gated clock. Clock net clkb_OBUF 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.

   Phase 10  : 0 unrouted; WARNING:Route:455 - CLK Net:clkb_OBUF may have excessive skew because

錯誤或警告原因:

assign clkb = en ? clk : 0;

…….

always @(posedge clkb or negedge rst_n)  

begin

       ...............

end

說明:在時序電路設計中,盡量使用全局時鍾,而不要用由全局時鍾衍生出來的信號。

 

2. WARNING:Route:455 - CLK Net:U1/uart_rxd_submodule/one_char may have excessive skew because  1 CLK pins and 4 NON_CLK pins failed to route using a CLK template.

錯誤或警告原因:有的可能是always @(posedge clk。。。)里用的不是全局時鍾而是由全局時鍾產生的信號驅動的,導致信號偏移較大。而我的設計中所有的always驅動列表都是正確的。經過一段時間的思考和嘗試,發現是將一個產生的信號one_char賦給了雙口ram寫時鍾clka造成的。

說明:dpram的讀和寫都需要一個時鍾,一個使能,地址線和數據線。起初,我將使能一直為高,通過控制時鍾脈沖實現將數據寫入或讀出dpram。可是,一般不這樣設計。而采用將時鍾連接到全局時鍾上,通過控制使能高低來實現讀寫數據。

2013.3.22

3. ERROR:HDLCompiler:849-"F:/Yunpan360/MyProject/LED_Sync/modules/ISE/uart2ethernet/codes/uart2ethernet_tb.v" Line 2: Unexpected EOF.

錯誤和警告原因:測試文件不能例化被測模塊。經過一個上午的找錯,沒有發現有語法上的問題,也沒有發現如標點符號格式的錯誤。

解決辦法:將整個測試文件的代碼粘貼到寫字板上,在寫字板上復制所有內容,重新粘貼到測試文件上。問題得到了解決。

4. ERROR:HDLCompiler:44-"F:/Yunpan360/MyProject/LED_Sync/modules/ISE/uart2ethernet/codes/uart2ethernet_tb.v" Line 98: i is not a constant 

錯誤或警告原因:代碼中:integer i;

                                  reg [7:0] aaa;

                                  aaa[i+7:i]

        向量寄存器的位值必須是個常數或常量,不能用變量表示。

解決辦法:用i當做移位次數對aaa進行移位取值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM