【導讀】如果設計的電路只是提供給NIOSII在FPGA內調用,沒(méi)有外部器件的相關(guān)延時(shí)信息,該怎么約束輸入輸出呢?針對一個(gè)這位網(wǎng)友給出了時(shí)序約束的一些經(jīng)驗之談,分享給大家。
前段時(shí)間有位中國科學(xué)技術(shù)大學(xué)(我夢(mèng)寐以求卻求而不得的學(xué)府)的研究生同學(xué)在我的博客下方留言咨詢(xún)時(shí)序約束的一些問(wèn)題:“如果設計的電路只是提供給NIOSII在FPGA內調用,沒(méi)有外部器件的相關(guān)延時(shí)信息,該怎么約束輸入輸出呢”。
其實(shí)呢,從事IC設計或者FPGA開(kāi)發(fā)這個(gè)行業(yè),擁有聰明的大腦寫(xiě)好優(yōu)秀的代碼固然重要,然而學(xué)會(huì )對代碼或者電路施加時(shí)序約束也是每個(gè)從業(yè)者應該掌握的技巧,這個(gè)技巧可以幫助你高效且合理且正確的定制SPEC或者劃分模塊,進(jìn)而為后續項目的順利進(jìn)展打下良好的鋪墊。正確合理的時(shí)序約束可以幫你實(shí)現快速綜合出面積盡量小、頻率盡量高的電路來(lái)。
通常情況下:
1、對系統的時(shí)鐘頻率約束的緊一些,余量可以根據情況定為10%-20%之間,比較緊的時(shí)鐘約束會(huì )讓綜合工具盡最大的能力去綜合電路。
2、輸入和輸出的延遲如果沒(méi)有較為準確的參考,一般可以設置為周期的一半,而且應該為同步系統的約束,如果為異步系統的約束則沒(méi)有實(shí)際的意義,另外要尤其注意純組合電路的情況。
3、合理的約束時(shí)序性能的原則,60/40原則:
邏輯延遲低于timing budget 的60%,這個(gè)時(shí)候時(shí)序很容易滿(mǎn)足;
邏輯延遲在60%-80%之間,軟件綜合的時(shí)間就會(huì ) 變大很多;
邏輯延遲超過(guò)80%時(shí),時(shí)序將很難滿(mǎn)足。
4、對于FPGA綜合及布局布線(xiàn)而言,您的電路所占的資源最好不要超過(guò)整個(gè)FPGA的85%,否則FPGA不能夠很好的工作,電路性能可能也不會(huì )很好,所以選擇FPGA資源時(shí)最好根據您項目的情況進(jìn)行預估算。
5、虛假路徑(false path)和多周期路徑(multi-period)要特殊對待。
6、跨時(shí)鐘域的地方要用跨時(shí)鐘域的處理方法保證其正確性,也可以通過(guò)跨時(shí)鐘域檢查的工具檢查其合理性。