適用場(chǎng)景:
對(duì)于一些Timing比較Critical的Path,如果發(fā)現(xiàn)上面有一些Multi-bit Flip Flop(MBFF),那么可以考慮用這種方式來(lái)修復(fù)。
比如Startpoint是一個(gè)MBFF,從它開(kāi)始的很多Path都有Setup的違反,那么可能就是由于它被MBFF給Merge了,使得它通過(guò)Useful skew來(lái)解Timing就不是那么的靈活。
因此可以對(duì)Startpoint來(lái)設(shè)置禁用MBFF merge來(lái)解決,可能因此很多Path的Setup違反都被解決了。但是如果只用這種方式的話,Timing不一定會(huì)有所改善,可以再搭配Path Group + Path margin(Innovus里面叫slack adjustment)來(lái)優(yōu)化。
如果一個(gè)模塊或者子模塊里面的很多Path都有上面的問(wèn)題,Timing都比較Critical,那么可以對(duì)它們來(lái)應(yīng)用Path Group + Weight的方式來(lái)修復(fù),如果它們中很多Startpoint/Endpoint又出現(xiàn)在MBFF里面,那么可以再禁用它們的MBFF merge。
可以在Merge之前的Design database(比如Floorplan的DB)中抓出它們的名字,然后去設(shè)置Disable MBFF merge,為了不對(duì)功耗有太大的影響,設(shè)置的Cell越精確越好(比如抓取所屬的最小的子模塊里面的sequential cell),可以統(tǒng)計(jì)一下它們的數(shù)目,不要太大了。
提示:當(dāng)然,如果你對(duì)功耗的要求不是很高的話,甚至可以完全不用MBFF的功能。
[DEV]ilmView 4> redirect disable_mbff_regs.rpt {foreach_in_collection cell [get_cells aaa/bbb/ccc/sub_d/* -filter "is_sequential"] {puts "[get_object_name $cell]"}}
[DEV]ilmView 5> sizeof_collection [get_cells aaa/bbb/ccc/sub_d/* -filter "is_sequential"]
791
優(yōu)化前后結(jié)果對(duì)比:
| Run | WNS/TNS/FEP | Power | MBFF ratio |
| Default | -100ps/-1.584ns/216 | 122.585mW | 70.443% |
| Default + disable MBFF + Path Group + Weight + Path margin | -29ps/-0.573ns/137 | 122.408mW | 70.103% |
| Default + Path Group + Weight + Path margin | -57ps/-0.876ns/162 | 122.949mW | 70.242% |
可以看到,在加了Path Group以及Weight和Path margin之后,Timing改善了很多,在Disable了791個(gè)特定Register之后,Timing又得到了進(jìn)一步的改善,TNS已經(jīng)降低為了原來(lái)的1/3,WNS也是如此。
且MBFF的Ratio并未降低太多,Power與原來(lái)的相比變化不大,甚至還稍微低一點(diǎn)。
因此這兩種方式對(duì)于解決Timing問(wèn)題都是可以的,額外使用Disable MBFF的方案對(duì)于Timing會(huì)更有幫助。
注意:經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),僅僅Disable 一些指定的MBFF,不搭配Path Group + Weight + Path margin的話,Timing改善可能不大,甚至可能會(huì)出現(xiàn)Timing變差的情況,因此最好一起使用。
如下是Place階段的數(shù)據(jù)對(duì)比:
| Run | WNS/TNS/FEP |
| Default | -59ps/-16.176ns/1289 |
| Default+ Disable MBFF | -61ps/-22.452ns/1329 |
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5503瀏覽量
128345 -
Flip
+關(guān)注
關(guān)注
0文章
10瀏覽量
10069
原文標(biāo)題:Timing修復(fù)技巧(一) - 禁用MBFF + Path Group + weight + Path margin
文章出處:【微信號(hào):集成電路設(shè)計(jì)及EDA教程,微信公眾號(hào):集成電路設(shè)計(jì)及EDA教程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
FreePDK 45nm 的一個(gè) Flip-Flop 的面積是多少μm^2
t-flip-flop怎么知道初始狀態(tài)?
怎么用NICE接口讀取FPGA上FLIP-FLOP中的數(shù)據(jù)?
SN74ALVCH162374,pdf(16-BIT EDG
SN74ALVCH16374,pdf(16-BIT EDGE
SN74ALVCH16821,pdf(3.3-V 20-BI
SN74AUCH32374,pdf(32-BIT EDGE-
SN74LVC16374,pdf(16-Bit Edge-T
SN74LVCH32374A,pdf(32-Bit Edge
SN74F174A,pdf(Hex D-Type Flip-
TLC59210,pdf(8-Bit DMOS Sink D
鎖存器Latch和觸發(fā)器Flip-flop有何區(qū)別
低功耗設(shè)計(jì)之multi-bit cell技術(shù)簡(jiǎn)介
芯片設(shè)計(jì)里的Multi-Bit FF方法討論
芯片設(shè)計(jì)里的Multi-Bit FF探究

Multi-bit Flip Flop(MBFF)修復(fù)技巧
評(píng)論