女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

Tweake生成Timing 文件及生成Tweaker的主腳本介紹

芯華章科技 ? 來源:芯行紀 ? 作者:芯行紀 ? 2021-07-28 16:07 ? 次閱讀

作為第一次使用Tweaker的新手,可能會擔心Tweaker流程很麻煩。

不過無需擔心,Tweaker功能豐富,而且提供了完整的、經過大量項目驗證的、可以直接使用的參考流程。只要簡單配置一下輸入文件,就可以快速地把Tweaker運行起來。

這篇短文將手把手教大家運行Tweaker,讓你們直觀感受Tweaker參考流程的魅力。

Job Monitor

分析剩余沒有修掉的原因

查看修復結果

P&R工具里實現ECO

Testcase介紹

這里是一個真實的設計。剛運行完icc2,拿到了route_opt的database,PTSI的結果如下:

53d4aa94-ed0e-11eb-a97a-12bb97331649.png

Setup Violation有1710條,Hold Violation有816條。注:這里的條數是按Endpoint(nworst=1)算的,不是按照Path來算的。

Hold時序還可以,但是Setup有點差了。不過沒關系,可以拿來試下流程,不用追求Signoff Quality的PR結果。

接下來開始搭建Tweaker的流程,一共3個步驟:生成Timing文件、生成Tweaker的主腳本和運行Tweaker修Timing。

Tweaker流程step 1:生成Timing文件

Tweaker需要讀PT的Timing文件,包括SDF、TWF、Violated Path Report等。

Tweaker提供了腳本,可快速從PT的Session里dump這些文件出來。腳本在Tweaker的安裝目錄下:。/etc/scripts/tcl/pt,如下圖(局部截圖)所示:

54318d68-ed0e-11eb-a97a-12bb97331649.png

只需要用其中一個主腳本即可。因為這個Design的STA用的是GBA Mode,所以可用如下腳本:dump_pt_to_tweaker.tcl。

用PT直接source這個腳本(需指定PT Session的位置),就能生成所有需要的Timing文件,如下圖所示:

546f60a2-ed0e-11eb-a97a-12bb97331649.png

Tweaker流程step 2:生成Tweaker的主腳本

搭建Tweaker流程腳本不用從零開始,Tweaker的安裝目錄下,有大量的、完整的、可以直接使用的參考腳本。

54abc15a-ed0e-11eb-a97a-12bb97331649.png

從上圖可以看到,基本上所有的ECO功能和主流的工藝,都有參考腳本。而我們也不用自己去挑所需的工藝或功能,Tweaker自帶的Scripts Generator功能,能快速生成所需的Tweaker腳本。

在Tweaker的安裝目錄下(。/ect/template/twk_

utilities/special_command/script_generator),有個Script Generator的腳本,只需要去配置兩個config文件:tweaker_settings.config和script_tmplate。配置完這兩個文件后,就可以生成Tweaker的腳本,然后可以開始做ECO。

第一個配置文件tweaker_settings.config:用于配置Tweaker的輸入(如下圖)。

55188cea-ed0e-11eb-a97a-12bb97331649.png

把lib庫、lef/def、網表,還有上一步生成的Timing文件等都填進去,修Timing所需的Buffer、Delay Cell等也可以填進去。

第二個配置文件script_template:用于配置ECO的流程,比如修Timing的策略、修哪些Violation、用的什么工藝等等(如下圖)。

557385c8-ed0e-11eb-a97a-12bb97331649.png

對這個Case,PR工具可以選擇icc2,STA工具選擇pt。它提供了很多ECO的功能選擇,這個Design可以先只修Setup和Hold。還有這個Design規模比較小,選擇用twf的模式來修,可以減少ECO迭代次數。

同時可以把Job Monitor打開,方便進行Debug。

配置完兩個文件后,用Script Generator生成Tweaker主腳本:

5598d3f0-ed0e-11eb-a97a-12bb97331649.png

主腳本run.tcl生成后,run.tcl就會去調用所需要的各種腳本,不用我們親自去找。接下來就可以運行Tweaker了。

Tweaker流程step 3:運行Tweaker修Timing

這一流程用一個命令即可搞定:tweaker -t -cmd run.tcl。它就能按照我們的配置,去做Setup ECO和Hold ECO。

此外,除了簡單的Tweaker Flow,Tweaker還提供強大的Debug功能:Job Monitor。

Job Monitor

剛才我們在配置文件里把Job Monitor設為1,所以運行Tweaker時會自動彈出Job Monitor界面,此處可以查看ECO的進度以及其他信息。

55d2b408-ed0e-11eb-a97a-12bb97331649.png

Job Monitor里有大量非常有用的信息,比如可以看到“Task Table”里的步驟,包括它們都做了什么,每個步驟分別花了多少時間:

先是Datain,包括verilog、def、slack rpt、spef、sdf、twf等;

其次是Consistency Check,確保輸入的文件沒有問題;

然后開始修Setup,用了6種不同的方法去修;

接著開始修Hold,用了8種不同的方法去修;

修復結束,寫ECO腳本、報告和存Session。

如果想看修Setup的6種方法分別有什么效果,可以點擊左上角的“Scripts Finished”按鈕,然后得到以下曲線:

56337860-ed0e-11eb-a97a-12bb97331649.png

由上圖可見,一開始有1706個Violated Endpoints,然后Fix Setup第一個步驟將Violated Endpoints數目降到了446個,第二個步驟繼續降到了347個……直到第6個步驟降到了315。然后是修Hold的步驟,可以看到修Hold時并沒有損害Setup,Setup保持得非常好。

也可以看修Hold的曲線:

5660004c-ed0e-11eb-a97a-12bb97331649.png

最開始有809個Hold Violated Endpoints。Setup修完后,Hold還有762條,保持得非常好。這是因為Tweaker在修Setup時會看Hold,同時在修Hold時也會看Setup。

Hold第一個步驟從762條修到了549條,第二個步驟修到了80條……到最后一個步驟,Hold只剩下54條了。

通過這張圖,不僅能看到修復的過程及結果如何,還可以快速分析出哪些步驟是最有效的,哪些步驟是低效或者無效的,然后可以有針對性地去改進。

查看修復結果

可繼續用Job Monitor查看Summary。點擊Job Monitor界面上的Action Buttons -》 Tweaker QoR Info -》 QoR summary,會彈出網頁格式的Summary,信息非常豐富,此處可挑一些重點看看:

569611a0-ed0e-11eb-a97a-12bb97331649.png

在這里能快速看到,這個Design總共有224k的Instance,但在ECO Domain里只有8.5k的Instance,只占總Cell的1/3。這就是為什么ECO Domain能大大降低Memory使用和減少Runtime的重要原因之一。如果不用TWF Mode來修,而是基于slack rpt來修,ECO Domain可以繼續降低到10%,Runtime還可以再加快4倍!

看修復率:

56ccdb2c-ed0e-11eb-a97a-12bb97331649.png

Setup:按Endpoint個數算,修復率是83%;按Total Path TNS算,修復率是90%。

Hold:按Endpoint個數算,修復率是93%;按Total Path TNS算,修復率是64%。

最后再看看ECO的Cost:

56d90834-ed0e-11eb-a97a-12bb97331649.png

情況一目了然——總共插了1133個Cell(Buffer、Inverter、Delay Cell等),Size了32017個Cell,Cell面積約增加438.2,時間約20分鐘,用了近6.7GB的Memory。

分析剩余沒有修掉的原因

根據修復結果,Setup/Hold還有一些沒有修掉,為什么呢?Tweaker提供了多種分析功能,可選擇其中一種方法來分析——

打開Slack Review,如下圖:

56fca802-ed0e-11eb-a97a-12bb97331649.png

總共290條Setup Violated Endpoints,都在ssgnp_0p675v_125c里。其中Clock Gating占了24條,core_clock_0占了266條。

點擊clock_gating_default那一行,下面就會列出這個Group所有的Violated Path。

可以看到,這些Path雖然還有Slack,但是Slack都已經有所改進(Diff這一欄是改進的值),有的改進少些(比如Path 3679,改善了17ps),有的改進了很多(比如Path 3478,改進了57ps)。

ICG的Timing本來就很難修,加上Clock Skew很大(參考Skew那一行),所以剩下的Path的確難以修復。但可以繼續看看具體是哪些潛在因素導致修不下去,比如雙擊第一條Path 3679,可得到如下Path View:

576ac24c-ed0e-11eb-a97a-12bb97331649.png

最后一列是Blocking Code,它解釋了這個Cell不能繼續修的原因是什么。隨意點擊上面一個B086做參考,出現下圖:

5795e562-ed0e-11eb-a97a-12bb97331649.png

它除了解釋Blocking Code的意思,同時還給出了可能的解決方案,即相關的三個變量,我們可以調整這三個變量的值來進一步改進修復率。

由于篇幅限制,此處不展開敘述。

P&R工具里實現ECO

把剛才Tweaker寫出來的ECO tcl文件給icc2做ECO:

icc2_shell》 source ECO.icc2_high_level.tcl。

icc2執行結果如下:

57b7603e-ed0e-11eb-a97a-12bb97331649.png

可以看到,所有的ECO動作都沒有問題,都被成功地執行了。

然后檢查Legality:check_legality

57d1b2cc-ed0e-11eb-a97a-12bb97331649.png

可以發現,新加的Cell和Size的Cell沒有任何的Legality的問題。這就是Tweaker的Physical-Aware的強大之處。0 Displacement能讓ECO Route帶來的影響最小!

接下來做ECO 繞線:route_eco。

ECO繞線后,導出數據,給STARRC和PT再做一次STA分析。看看ECO后,真實的Timing如何:

57f1db9c-ed0e-11eb-a97a-12bb97331649.png

可以看到,Tweaker修完后的Violation條數,和PT看到的很接近,也就是Tweaker和PT的Correlation非常好。

Tweaker提供了強大的、易用的腳本,所以即使是新手,上手也非常快。同時,這些腳本經過很多項目實踐,所以基本不用做什么修改,拿來即用。

同時Tweaker也提供了強大的Debug功能,即使是新手,也能快速分析問題所在。

編輯:jq

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

    關注

    0

    文章

    52

    瀏覽量

    15116

原文標題:Tweaker詳解系列 | ECO流程的典型實例應用

文章出處:【微信號:X-EPIC,微信公眾號:芯華章科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    求助,關于GUIguider1.9.0界面上方生成字體功能問題求解

    GUIguider1.9.0 界面上方 工具-->>生成字體選項,生成的字體 會在單獨的一個文件中,在界面上,假如創建一個
    發表于 03-28 07:07

    超詳細!FMU生成器用戶手冊來啦~

    FMU生成器是TSMaster中用于將模型打包生成FMU文件的一個工具,目前支持FMI3.0和FMI2.0版本,FMU類型僅支持Co-Simulation(CS),即聯合仿真FMU。本文將介紹
    的頭像 發表于 01-17 20:02 ?732次閱讀
    超詳細!FMU<b class='flag-5'>生成</b>器用戶手冊來啦~

    生成式AI工具好用嗎

    當下,生成式AI工具正以其強大的內容生成能力,為用戶帶來了前所未有的便捷與創新。那么,生成式AI工具到底好用嗎?答案無疑是肯定的。接下來,AI部落小編帶您了解。
    的頭像 發表于 01-17 09:54 ?371次閱讀

    使用stm32cubeMX無法生成mdk工程文件

    幾年前使用過cubemx,可以生成keil的工程文件。最近有個工程使用cubemx創建,結果只能生成stm32cubemx類型的文件,無法生成
    發表于 01-04 20:03

    時序約束一時鐘與生成時鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時器會自動地接入到GT的輸出。 1.2 約束設置格式 時鐘約束使用命令create_clock進行創建,進入Timing
    的頭像 發表于 11-29 11:03 ?1215次閱讀
    時序約束一<b class='flag-5'>主</b>時鐘與<b class='flag-5'>生成</b>時鐘

    微軟生成式AI腳本GenAIScript的安裝與配置

    GenAIScript 是一種結合了生成式人工智能(Generative AI,簡稱 GenAI)和腳本編寫能力的新型腳本語言。
    的頭像 發表于 11-07 09:13 ?636次閱讀
    微軟<b class='flag-5'>生成</b>式AI<b class='flag-5'>腳本</b>GenAIScript的安裝與配置

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?910次閱讀
    如何自動<b class='flag-5'>生成</b>verilog代碼

    生成式AI工具作用

    生成式AI工具是指那些能夠自動生成文本、圖像、音頻、視頻等多種類型數據的人工智能技術。在此,petacloud.ai小編為您整理生成式AI工具作用。
    的頭像 發表于 10-28 11:19 ?628次閱讀

    AIGC生成內容的優勢與挑戰

    人工智能生成內容(AIGC,Artificial Intelligence Generated Content)是指利用人工智能技術自動生成文本、圖像、音頻和視頻等內容的過程。隨著深度學習、自然語言
    的頭像 發表于 10-25 15:36 ?1510次閱讀

    labview程序生成exe文件怎么還原

    在LabVIEW中,程序生成exe文件后,通常這個過程是不可逆的,即exe文件無法直接“還原”回原始的LabVIEW項目文件(.vi或.lvproj)。exe
    的頭像 發表于 09-04 17:12 ?2859次閱讀

    labview工程文件如何生成exe

    生成可執行文件(EXE)是LabVIEW程序開發過程中的一個重要步驟,它允許用戶在沒有安裝LabVIEW的計算機上運行程序。以下是步驟和注意事項: 1. 準備工作 在開始生成EXE文件
    的頭像 發表于 09-04 17:09 ?2875次閱讀

    labview怎么生成可執行文件

    生成可執行文件(EXE)是LabVIEW程序開發中的一個重要步驟,它允許用戶將LabVIEW項目打包成一個獨立的應用程序,便于在沒有安裝LabVIEW的計算機上運行。 1. 準備工作 在開始生成
    的頭像 發表于 09-04 17:07 ?1689次閱讀

    Efinity編譯生成文件使用指導-v1

    接上篇: (6)查看Unassigned Core Pins。 在placement下面的palce.rpt文件中搜索 Unassigned C ore Pins就可以看到。它說明這些管腳沒有用于內部連接。 大家可以點擊這個鏈接查看上文 Efinity編譯生成文件使用指導
    的頭像 發表于 08-13 14:22 ?1008次閱讀
    Efinity編譯<b class='flag-5'>生成文件</b>使用指導-v1

    請問TINA-TI如何生成.TLD文件

    如題,TINA-TI如何生成.TLD文件,我在官網下載了OPA627的模型,但是將OPA627.TLD文件放入安裝目錄下的SPICELIB文件夾下,打開TINA-TI無法找到OPA6
    發表于 08-13 07:51

    關于Makefile自動生成-autotools的使用

    的Makefile并非日常任務,但遇見需要構建大型軟件項目時,利用工具自動生成Makefile就顯得尤為關鍵。接下來,我們將重點介紹一款自動化構建工具——Autoto
    的頭像 發表于 07-25 15:50 ?1750次閱讀
    關于Makefile自動<b class='flag-5'>生成</b>-autotools的使用