精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡單介紹optimize的內容以及它的一些實際運用

數字后端IC芯片設計 ? 來源:未知 ? 作者:李倩 ? 2018-05-07 15:46 ? 次閱讀

前面主要介紹了Optimize的一些基本概念,那么今天就來講解一下它的一些實際運用,以及我們怎么才能用好這個強大的命令!!

說到Optimize,那和它聯系最緊密的就是Timing了。在做實際design中,從place到signoff,Timing violation是伴隨著整個流程揮之不去的陰影。那P&R中,Timing violation的趨勢是怎么樣的呢?

很多人腦海里浮現的是左邊呈倒金字塔形的這張吧,認為每前進一步就會修掉一些violation。其實則不然,右邊那張才是更合理化的趨勢圖。工具P&R的核心,placement和routing,其實都不是那么的timing aware。Routing以后甚至會出現violation path的增多(因為Route之前都不care DRC)。那其實整個Timing closure的過程中,出力最大的就是Optimize。因此,我們非常有必要來了解一些傳統的Optimize的注意點

1Before Optimize

正所謂"臨陣磨槍,不亮也光",Optimize可是個超級命令,通常運行時間都在幾個小時,甚至幾十個小時以上。耗費這么大的財力物力,我們可不希望它跑得毫無價值。在開始運行place_opt之前,對design的基本情況進行一些基本檢查真的是非常有必要的。整理了一下,以下幾點是比較有用的:

1)跑一遍check_design,檢查一下design中包括(netlist,Timing library,Floorplan)

2)檢查sdc文件是否clean。是否有一些定義不合理的約束。

3)報一遍zero wireload model的timing,如果zwl timing的結果都不理想的話,試著要去調整下sdc文件等等

4)采用get_attribute [get_lib_cell *] dont_use或者report_dont_use報出當前設計中的dont use cell,一些特別weak的cell我們需要禁用。

5)檢查一下有沒有打開需要的active scenarios

set_scenario_status -active true

6)檢查所需要的Optimize mode。

Performance(opt.timing.effort)

Power(opt.power.effort)

Density(-max_density)

2During Optimize

這個期間,是Optimize自己后臺運行的過程。我們也做不了什么操作,正好來復習一下Optimize的transform。我們知道它可以做很多的動作,而工具中可以讓它操作的object又有很多,這兩者之間的關系在下面這張表中可以體現出來:

3After Optimize

當Optmize做完,結果不理想該腫么辦呢?

Debug唄~~

提供以下幾點建議:

1)從log入手:

1.查看下各個Path Group的WNS/TNS的收斂趨勢。

2.查看下DRV的收斂趨勢。

3.查看下Optimize過程中各個transform的detail report。包括move的instance數目,距離。包括routing conestion等等,檢查下有沒有異常值。

2)分析Timing情況

1. 總體概括性地檢查一下critical path,而不是去看最差的一條,通常Path Group的timing變差具有共性

2. 分析一下path上的cell/net delay, 看看有沒有“bad buffering,bad sizing,weak cell”這些情況

3. 檢查一下Placement結果吧,看看某些區域的density是不是較大,可以采用keepout margin或者cell spacing constraint來增大cell之間的距離

4. macro是否擺放不合理,channel留太少,或者macro上的routing過差,可以采用添加合適的blockage,或者重新擺放macro位置來解決

5. 可以自己創建Path Group來優化timing,Optimize默認創建的Path Group是reg2reg, reg2cgate. 我們可以采用group_path來自己創建需要重點優化的Path。

3)通過report相關的命令來檢查一些潛在的誤操作或者工具的bug

report_dont_use可以報出當前design中的dont use cell

report_dont_touch可以報出當前design中的dont touch cell

4)運行incremental的optimize

它會基于當前Placement的結果來優化density,以及基于Optimize的結果來繼續優化WNS和TNS

optimize的介紹就到此為止了,看似簡單的一個命令其實要用好他卻不容易。如何挖掘工具潛能,取得較好的優化結果,這是一個反復迭代,反復分析設計的過程。總之,多嘗試,多跑跑設計,才能對工具愈發熟練。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • design
    +關注

    關注

    0

    文章

    157

    瀏覽量

    45714
  • timing
    +關注

    關注

    0

    文章

    7

    瀏覽量

    10182

原文標題:芯片誠可貴,時序價更高——Optimize(二)

文章出處:【微信號:IC_Physical_Design,微信公眾號:數字后端IC芯片設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    介紹一些簡單的項目

    學51單片機已經個多月,簡單的操作感覺還好。 想找一些簡單的項目做下,在項目中學習,求介紹
    發表于 08-18 12:35

    介紹藍牙的一些概念

    . 聲明本專欄文章我們會以連載的方式持續更新,本專欄計劃更新內容如下:第篇:藍牙綜合介紹 ,主要介紹藍牙的
    發表于 07-22 06:03

    介紹下UPS的一些基礎知識

    機房UPS電源實際負載容量與負載量是怎么計算的?2018-09-16正文:、首先介紹下UPS的一些基礎知識1、為什么用UPS?UPS的作
    發表于 11-16 07:16

    分享一些學習STM32的內容

    這里大概的羅列了一些學習STM32的內容以及學習順序。如果是新手的話,建議邊看中文手冊和學習視頻(般都看原子的,視頻的話百度就可以了,如果實在是找不到的話,我給大家推薦
    發表于 11-22 08:19

    介紹一些MOV與ADD指令的簡單例子

    因為嵌入式系統學習需要,開始學習匯編語言學習資料是B站的視頻:匯編語言程序 P9目錄一些簡單的指令例子二、個練習
    發表于 01-07 06:39

    羅列一些學習STM32的內容以及學習順序

    羅列一些學習STM32的內容以及學習順序
    發表于 01-19 07:04

    關于stm32的一些簡單介紹

    #序言本文章是關于stm的一些簡單介紹,全部都是個人學習的一些經驗總結,分享給想要自學stm32的朋友們用于入門。其中部分內容借鑒于《st
    發表于 02-24 06:30

    Allegro中網絡表的導入以及回編到Capture中的一些

    Allegro中網絡表的導入以及回編到Capture中的一些注意事項:網絡表(Netlist)是溝通電路原理圖和Layout實際板子的橋梁網絡表包含的內容有零件Pin的連接線關系
    發表于 09-20 18:08 ?0次下載

    如何處理實際布線中的一些理論沖突的問題

    如何處理實際布線中的一些理論沖突的問題         基本上, 將模/數地分割隔離是對的。 要注意的是信號走線盡量
    發表于 03-20 13:54 ?628次閱讀

    討論 fmt 的基本用法以及提供的一些主要功能

    好在,有個命令可以滿足至少部分的文本格式化的需求。這個工具就是 fmt。本教程將會討論 fmt 的基本用法以及提供的一些主要功能。文中
    的頭像 發表于 01-16 09:00 ?6304次閱讀
    討論 fmt 的基本用法<b class='flag-5'>以及</b><b class='flag-5'>它</b>提供的<b class='flag-5'>一些</b>主要功能

    Verilog HDL語言組合邏輯設計方法以及QuartusII軟件的一些高級技巧

    本文檔的主要內容詳細介紹的是Verilog HDL語言組合邏輯設計方法以及QuartusII軟件的一些高級技巧。
    發表于 07-03 17:36 ?20次下載
    Verilog HDL語言組合邏輯設計方法<b class='flag-5'>以及</b>QuartusII軟件的<b class='flag-5'>一些</b>高級技巧

    簡單介紹LoRa網關日常管理和維護的一些實用知識

    ? 本文旨在介紹LoRa網關日常管理和維護的一些實用知識。 、LoRa網關管理和維護的困難 LoRa網關由于其借助LoRa通信技術,因此通信距離長,尤其適用于比如智慧農場、智能工業等覆蓋范圍較大的應用場景。 在
    發表于 07-21 15:24 ?1499次閱讀

    電腦的一些硬件問題講解

    本文檔的主要內容詳細介紹的是電腦的一些硬件問題講解。
    發表于 10-20 08:00 ?14次下載
    電腦的<b class='flag-5'>一些</b>硬件問題講解

    一些簡單趣味小電子制作教程

    一些簡單趣味小電子制作教程
    發表于 09-26 14:05 ?28次下載

    介紹一些大功率IGBT模塊應用中的一些技術

    PPT主要介紹了大功率IGBT模塊應用中的一些技術,包括參數解讀、器件選型、驅動技術、保護方法以及失效分析等。
    發表于 09-05 11:36 ?784次閱讀