修復關(guān)鍵路徑時序一直都是數(shù)字IC designer最耗時的工作任務之一,而且伴隨著同一個RTL設(shè)計應用于不同的業(yè)務場景,時序、面積和功耗的約束也是不同的,所以時序優(yōu)化的方向也是多變的。
簡單來說,時序優(yōu)化的任務是常見的,并不是說RTL寫得足夠好,就不存在后續(xù)的時序優(yōu)化迭代。
本文介紹3個時序優(yōu)化的RTL改動以及在其中Formal SEC的角色。
其中一種比較常用的關(guān)鍵時序修復方法是將兩個pipe之間的組合邏輯重新分配。
這個道理就是木桶原理,限制同步設(shè)計時鐘頻率的路徑就是關(guān)鍵時序路徑,如果一個木桶中所有的木板長短都是一樣的,那就是沒有短板,或者說全部都是短板。
如上圖所示,上方的設(shè)計是存在時序問題的設(shè)計,在第1個PIPE和第2個PIPE之間有一個比較長的組合邏輯,通過組合邏輯重新分配,讓組合邏輯在2個PIPE比較均勻地分配就可以優(yōu)化這類時序問題。
注意:前提是保證端到端功能是一致的,即使中間階段寄存器的狀態(tài)可能不一致。由于中間寄存器的狀態(tài)不一致所以不能夠使用combinational FEV,只能使用sequential FEV或者transaction FEV。
經(jīng)驗表明,這種時序優(yōu)化有非常非常大的概率引入bug。修復時序的前提的保證功能,方向錯誤,跑得越快,越不是好事情。
這種由于修復時序引入的bug很容易通過修改前RTL(SPEC RTL)和修改后RTL(IMP RTL)之間的等價性(sequential FEC)比對來確保設(shè)計的時序優(yōu)化修改沒有引入新的bug。
critical path reduction
在某些情況下組合邏輯重分配不可行時,可能需要將一個比較長的組合邏輯分拆成并行的2個比較小的組合邏輯,然后在后面的PIPE使用邏輯再匯聚在一起,如下圖所示。
對于上面的修改,上方的設(shè)計存在時序問題,下方的設(shè)計是優(yōu)化后的問題,這個轉(zhuǎn)化的過程同樣非常非常容易導致bug的引入,也同樣可以通過FEC來保證。
Pipeline optimizations
隨著這個RTL設(shè)計的不同應用場景需求變化(工藝變化、業(yè)務場景變化、算法變化以及物理實現(xiàn)的變化等等),designer發(fā)現(xiàn)時序無論如何也無法優(yōu)化,只能夠以犧牲latency的代價增加pipe數(shù)來優(yōu)化時序。又或者發(fā)現(xiàn)可以減少pipe來優(yōu)化latency,提升芯片的局部性能。
注意:同樣需要保證端到端的功能一致。
如上圖所示,上方是優(yōu)化前的設(shè)計,下方是優(yōu)化后的設(shè)計(減少了一個pipe)。
對于這種pipe個數(shù)變化,但是端到端功能不變的修改,同樣可以使用sequential FEC來進行等價性比對。只不過有所區(qū)別的是,需要指定比對是latency差異。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5359瀏覽量
120831 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59880 -
數(shù)字IC
+關(guān)注
關(guān)注
1文章
38瀏覽量
12599
發(fā)布評論請先 登錄
相關(guān)推薦
進行RTL代碼設(shè)計需要考慮時序收斂的問題
![進行<b class='flag-5'>RTL</b>代碼設(shè)計需要考慮<b class='flag-5'>時序</b>收斂的問題](https://file.elecfans.com/web1/M00/C7/DC/o4YBAF9t-ByAL_xhAAAO8kuVqWE143.png)
優(yōu)化 FPGA HLS 設(shè)計
FPGA中的I_O時序優(yōu)化設(shè)計
FPGA的時序優(yōu)化高級研修班
推薦一個時序優(yōu)化的軟件~~
vivado:時序分析與約束優(yōu)化
介紹RTL設(shè)計引入的后端實現(xiàn)過程中的布線問題
你知道RTL時序優(yōu)化迭代的技巧有哪些嗎
A Roadmap for Formal Property
![A Roadmap for <b class='flag-5'>Formal</b> Property](https://file.elecfans.com/web2/M00/48/AE/pYYBAGKhtBeAO3SiAAA7osgh1do266.jpg)
如何降低面積和功耗?如何優(yōu)化電路時序?
![如何降低面積和功耗?如何<b class='flag-5'>優(yōu)化</b>電路<b class='flag-5'>時序</b>?](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
可以通過降低約束的復雜度來優(yōu)化Formal的執(zhí)行效率嗎?
Formal Verification的基礎(chǔ)知識
![<b class='flag-5'>Formal</b> Verification的基礎(chǔ)知識](https://file1.elecfans.com/web2/M00/88/B3/wKgZomRvKm6ACbNIAAA_2ZnZkZM858.png)
評論