在綜合的時(shí)候,可能大家最關(guān)心的是如何設(shè)置提高timing QoR。在DC中有一個(gè)比較常用的方法,使用set_cost_priority -delay。
DC綜合過程中默認(rèn)的優(yōu)化是有優(yōu)先級(jí)順序的,即DRC>timing。有的時(shí)候會(huì)出現(xiàn)某些路徑的優(yōu)化考慮了DRC而忽略timing,導(dǎo)致timing violation的出現(xiàn)。比如以下這種情況:
上圖所示的電路中第一級(jí)buffer驅(qū)動(dòng)了fanout為3的buffer tree(這里只畫了fanout=3,一般情況下遠(yuǎn)遠(yuǎn)不止),這段net因?yàn)閒anout較多有可能會(huì)有max transition,max capacitance甚至max fanout的DRC違例。但是起點(diǎn)寄存器到終點(diǎn)寄存器之間都只有2級(jí)buffer,timing情況還比較樂觀,不太容易出現(xiàn)timing violation。在默認(rèn)情況下,DC為了避免DRC問題,不會(huì)將電路優(yōu)化成這種樣子,更有可能是以下的電路:
這段電路從功能上與上一圖中電路是一致的,在優(yōu)化過程中為了避免DRC違例,DC將buffer tree拉長(zhǎng),并將連接到終點(diǎn)寄存器的節(jié)點(diǎn)分散,這樣每個(gè)buffer只驅(qū)動(dòng)一個(gè)寄存器以及一個(gè)buffer,比起圖1中一個(gè)buffer驅(qū)動(dòng)3個(gè)buffer,fanout的數(shù)量減小了。乍一看只是從3減小為2,但如果在圖1中第一級(jí)buffer驅(qū)動(dòng)的是15個(gè)fanout,那么這里的將會(huì)是15->2的fanout的優(yōu)化,可以大大避免DRC問題。
DRC的問題避免了,但我們可以明顯看到圖二中從起點(diǎn)寄存器到終點(diǎn)寄存器中間經(jīng)過的buffer數(shù)量增加了(最多經(jīng)過4個(gè)buffer),而這條path比起圖一中的timing path,無疑timing會(huì)更差(這里即便考慮到圖1中high fanout的net的big transition可能帶來的單級(jí)較大delay,也不會(huì)差過多級(jí)buffer相連接,如果buffer數(shù)量增加,delay差距更加明顯)。
在這種情況下,set_cost_priority -delay這個(gè)命令就能使綜合工具在優(yōu)化過程中優(yōu)先考慮timing,從而綜合出圖1的網(wǎng)表,即便有一些DRC violation,我們也可以放到后端去修復(fù)。因此,我們?nèi)绻诜治鼍C合網(wǎng)表的時(shí)候(在DC中使用report_timing)看到有較長(zhǎng)的buffer tree導(dǎo)致的timing violation,并且每級(jí)buffer的fanout都較小,可以考慮使用這個(gè)命令來實(shí)現(xiàn)改善。
-
電路
+關(guān)注
關(guān)注
173文章
6022瀏覽量
174533 -
DC
+關(guān)注
關(guān)注
10文章
3684瀏覽量
681201
原文標(biāo)題:DC應(yīng)用——set_cost_priority
文章出處:【微信號(hào):ic_frontend,微信公眾號(hào):數(shù)字前端ic芯片設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
不同創(chuàng)建線程安全Set的方式
TI-RTOS的PRIORITY如何Set?
常用的產(chǎn)生負(fù)電源的方法
MAX15026 Low-Cost, DC-DC Synch
基于混合SET/MOSFET的比較器

延遲線比較-Delay Lines Comparison

延遲線比較-Delay Lines Comparison

Low-Cost, Dual SCART Solution

set_max_delay被覆蓋的解決辦法

STM32上進(jìn)行Delay延時(shí)的方法

set_output_delay的本質(zhì)是什么?淺談set_ouput_delay時(shí)序

評(píng)論