2015-04-27 25 views
2

當我們運行設計時,我們得到了「零延遲循環」問題。 什麼是「零延遲循環」和零延時迴路

  1. 爲什麼這個問題會出現的意義。
  2. 零延遲迴路的原因是什麼?

模擬器連續運行,但尚未完成。

回答

2
  1. 爲什麼零延遲循環發生?

    由於競爭條件或不明確的編碼風格,零延遲環可能會產生導致模擬掛或無限的模擬時間

  2. 什麼是零延遲循環的原因是什麼?一個共同的迴路特性的

    一個例子如下:

    always @ (x) 
    begin 
        y = 1'b0; 
        ... 
        case (x) 
        ... 
        1'b1: y = 1'b1; 
        ... 
        endcase 
    end 
    
    always @ (y) 
    begin 
        x = 1'b0; 
        ... 
        case (y) 
        ... 
        1'b1: x = 1'b1; 
        ... 
        endcase 
    end 
    

在這裏,在這個有環路的可能性當兩個xy被設置爲1,這導致新的事件和觸發case語句稱爲零延遲循環,因爲同時觸發了事件觸發,以避免使用#0延遲,這會在時間步結束時強制事件發生,但不建議使用這種編碼風格

  1. 要調試這個問題

從我的理解風險投資有一個名爲+ VCS + loopreport開關,它會產生零延遲循環的詳細報告,並genrerate一個文本文件,從您可以消除或調試這些循環有效