<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 面向有挑戰性功能塊的時(shí)序收斂技術(shù)

面向有挑戰性功能塊的時(shí)序收斂技術(shù)

作者: 時(shí)間:2010-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

在一個(gè)真實(shí)案例中,路徑有這樣需求:
1.在最差情況(wc)中,路徑延時(shí)少于2.5ns(建立)
2.在最好情況(bc)中,路徑延時(shí)多于1ns(保持)

但實(shí)際延時(shí)是:
1.最差情況(wc)中延時(shí)為2.1ns。
2.最好情況(bc)中延時(shí)為0.8ns。

因此路徑滿(mǎn)足了建立需求,但卻造成了保持違規。

想象一下通過(guò)改變單元(減少尺寸、插入、交換)來(lái)修復保持違規,多數延時(shí)變化只發(fā)生在單元上。到時(shí)將發(fā)生以下情況:
1.將保持延時(shí)從0.8ns修正為1ns,測試案例中延時(shí)提高了0.2ns。
2.使用只針對單元(cell only)方法,如:插入緩沖區、減少尺寸。如表3所描述,它給最差情況中單元延時(shí)帶來(lái)的改變是3倍,即0.2ns * 3 =0.6ns.
3.最差情況中延時(shí)從2.1ns提高到2.7ns,造成建立違規

2個(gè)角點(diǎn)間單元延時(shí)變化很大,因此如果設計師只盯著(zhù)單元,而靠路徑本身解決沖突根本不可能。

根據測試電路結果,線(xiàn)路延時(shí)在不同角點(diǎn)下延時(shí)差異更小,因此如果使用線(xiàn)路延時(shí)來(lái)修復保持違規,最差情況(wc)中延時(shí)的反彈也不會(huì )這么大。最好情況中0.2ns的線(xiàn)路延時(shí)增長(cháng)將只會(huì )帶來(lái)最差情況中0.24ns延時(shí),因此最差情況中總延時(shí)為2.1ns + 0.24 ns = 2.34ns。這種方法可兼顧建立和保持時(shí)序兩方面需求。

以下是一些有關(guān)‘如何使用線(xiàn)路延時(shí)優(yōu)化來(lái)修復時(shí)序’的詳細內容。

以保持修復為例。第一步就是要識別一組帶有這類(lèi)建立和保持沖突的時(shí)序路徑。這類(lèi)路徑可通過(guò)初步時(shí)序優(yōu)化或通過(guò)項目約束文件來(lái)獲??;然后我們就可分析這些候選路徑并選擇真正目標。

第二步就是進(jìn)行詳細時(shí)序分析并開(kāi)始時(shí)序修復,它包括:
1.插入延時(shí)單元并手動(dòng)將它們設置在版圖中。
2.決定單元和模式和尺寸,確保無(wú)轉換違規。
3.評估線(xiàn)路延時(shí)。如布線(xiàn)形狀良好,那么實(shí)際延時(shí)與評估結果間差別將不會(huì )太大。
4.采用talus在布線(xiàn)后分析時(shí)序結果。如還有時(shí)序違規,嘗試使用有用偏斜來(lái)修復。
5.如它們不能通過(guò)有用偏斜修復,那么回到步驟1或2開(kāi)始新一輪修復工作。

設計師可能需要幾輪的這類(lèi)修復工作才可完成時(shí)序清理。融合速度取決于線(xiàn)路延時(shí)評估精確性和實(shí)際布線(xiàn)形狀。.

實(shí)施步驟雖簡(jiǎn)單,但在實(shí)施過(guò)程中設計師可能仍會(huì )遭遇到一些問(wèn)題。其中之一就是,實(shí)際線(xiàn)路延時(shí)值與原始評估值差異相當大。如果差異是由不好的布線(xiàn)形狀所造成,那么設計師可打開(kāi)Talus volcano并以交互方式修復它們。通常,有兩種不好的布線(xiàn)形狀:jog(割階)和繞障(detour)。對于割階,它可通過(guò)Talus命令:“run route optimize jog …”或“run route refine model –type jog…”來(lái)去除。

對于繞障,它通常出現在資源不足的后布線(xiàn)階段一些線(xiàn)路布線(xiàn)的時(shí)候。一種解決方法是:先在一個(gè)已布局卻未布線(xiàn)的volcano中單獨進(jìn)行這些線(xiàn)路的布線(xiàn);接著(zhù)將它們加載回到后布線(xiàn)volcano中。設計師可選擇性地設置這些線(xiàn)路為軟或硬的預布線(xiàn),以便他們在布線(xiàn)引擎嘗試解決布線(xiàn)DRC時(shí)不會(huì )有太多的割階。此外,你還可設置首選層,這樣主要線(xiàn)路的布線(xiàn)工作可在資源豐富的層中完成。

另一個(gè)可能問(wèn)題是:惡化的耦和時(shí)序。這通常發(fā)生在一群總線(xiàn)信號單元相互布局緊密的時(shí)候,它們擁有到同一個(gè)方向的相似連接。連接這些單元的線(xiàn)路布局非常緊密,有長(cháng)距離地并行布線(xiàn)。這些線(xiàn)路中每一條都是到其它網(wǎng)路的一個(gè)聚集器,同時(shí)也是一個(gè)犧牲品。這會(huì )導致嚴重的耦和時(shí)序違規。解決這類(lèi)問(wèn)題的關(guān)鍵是在完成線(xiàn)路修復后盡可能早地輸入耦和問(wèn)題,否則它會(huì )在設計后期將帶來(lái)非常大的麻煩。通過(guò)控制布線(xiàn)形狀可很輕松地避免耦和時(shí)序惡化,如:使用多間距、添加屏蔽或在不同層進(jìn)行它們的布線(xiàn)。

如采用線(xiàn)路延時(shí)進(jìn)行多輪修復后,時(shí)序沖突仍未解決,那么建議檢查一下原始約束是否合理,是否有緩和約束的空間。約束變更會(huì )有進(jìn)度延時(shí)和項目失敗的風(fēng)險,因此設計師必須確保在項目一開(kāi)始就盡其所能地檢查出更多的潛在問(wèn)題,建立合理約束。

總結

有挑戰性功能塊總是需要非同一般的方法才能讓其時(shí)序回歸正常。這些方法雖是利用了現有Magma Talus功能,但并不局限這些功能,對功能及功能的使用都進(jìn)行進(jìn)一步擴展。上文中這4種方法是雖然是要耗費些精力,但與后布線(xiàn)階段的時(shí)序修復所需耗費精力相比,還是值得的。


上一頁(yè) 1 2 3 4 5 下一頁(yè)

關(guān)鍵詞: 時(shí)序收斂 物理設計

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>