2013-11-21 39 views
0

好的,我是新手。Verilog,握手和時鐘速率

想知道,在設計模塊時,我必須在模塊之間進行握手嗎?

或者我可以假設'always'塊中的組合邏輯將總是在下一個時鐘之前完成 - 編譯器(或您有什麼)會選擇合適的時鐘速率。

+1

是的,在下一個時鐘週期之前,信號將通過組合邏輯傳播,同時還要考慮設置和保持時間。您的工具鏈將在其時序分析階段評估這些*時序約束*。如果無法達到時間,則會生成錯誤並停止生成過程。 –

+0

好的。謝謝。 10個字符 – user2873372

回答

1

當設計一個基於硬件的系統,您通常定義您的時鐘頻率,對於某些平臺上,可能是預定義的50MHz,100MHz的等

在RTL或行爲的模擬組合邏輯將不得不通過它沒有時間延遲。將RTL合成到門時,應用約束條件,例如時鐘頻率。爲了保證時間安全,綜合工具必須創建組合邏輯,其傳播延遲低於您的時鐘週期。

如果你不清理時間,那麼這個約束被打破,你必須減慢你的時鐘,給你更多的時間或通過插入觸發器來分解邏輯。