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

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

3天內(nèi)不再提示

時序(Timing)對功能ECO有多重要

sanyue7758 ? 來源:NanDigits ? 2023-07-05 14:06 ? 次閱讀

功能ECO與時序ECO的關(guān)系

功能ECO主要指當RTL更新后對后端APR網(wǎng)表做的功能方面的改動。功能ECO可以由手工或者自動化工具完成,得到ECO網(wǎng)表。再由后端布局布線工具(如ICC2、Innovus)讀入ECO網(wǎng)表,進行ECO Place和ECO Route。

時序ECO主要指為了解決后端ECO Route時的setup和hold時序違例,可以用后端工具指令、外部工具(本廠或者第三方)、人工替換Cell、優(yōu)化DRC等方法完成。

5b043b56-1af0-11ee-962d-dac502259ad0.jpg

從上圖可以看出,功能ECO主要是由前端工程師做,時序ECO主要是由后端工程師做。前端工程師做完一版功能ECO后,需要對ECO網(wǎng)表進行LEC檢查,確認ECO網(wǎng)表與新RTL等價,之后再把驗證無誤的ECO網(wǎng)表交給后端工程師。

后端工程師拿到ECO網(wǎng)表后,到ICC2/Innovus里做后端實現(xiàn),并解決DRC、時序等問題。在PostMask ECO時,ECO網(wǎng)表的很小的改動都可以可能引起DRC和時序的違例,原因可能是:Cell太遠、連線太長、驅(qū)動能力不夠、繞線擁擠等。遇到時序問題,首先是利用后端工具來優(yōu)化。小時序問題可以手工或者用Timing ECO工具優(yōu)化過去,大時序問題就需要前端工程師進行返工。

前端工程師返工時,有哪些辦法呢?一是,挑選距離近的sparecell;二是,盡量復用現(xiàn)有stdcell,減少改動的連線的根數(shù);三是,從RTL層面簡化修改方案,能不新加DFF就不加,能復用現(xiàn)成的信號就復用現(xiàn)成的信號。四是,與項目經(jīng)理、產(chǎn)品經(jīng)理、市場部一起對BUG進行排序,優(yōu)先解決影響客戶使用的BUG,軟件繞不過去的BUG,放棄一些次要的BUG。

所以功能ECO常常需要迭代好幾次,才能得到一個折中的結(jié)果。當然如果必須要解決的BUG太多,或者后端無法實現(xiàn),那么就只能走Full layer Tapeout,但芯片交付客戶也會多晚幾個月?,F(xiàn)在芯片市場競爭異常激烈,你的產(chǎn)品不行,別人頂上,客戶可能就沒了。

NanDigits GOF ECO的方案

我們一直在思考如何才能減少功能ECO的迭代次數(shù),讓前端工程師在做功能ECO時就能夠提早看到時序的影響,并在功能ECO的同時就解決掉時序問題。我們嘗試、實踐、并成功開發(fā)出多個方案。

第一,是前端邏輯層面,自研了LEC(邏輯等價性)算法,利用這個算法能夠精準找到新RTL與老APR網(wǎng)表的差異,這會大大縮小ECO的范圍。

第二,原創(chuàng)了RTL Patch ECO,在APR網(wǎng)表里寫RTL,這種方法可以找到更精準的修改點,彌補了算法在少數(shù)案例中表現(xiàn)不佳的情況。

第三,自研了在APR網(wǎng)表中查找RTL等價net的功能。由于綜合優(yōu)化、后端優(yōu)化,人工在網(wǎng)表中查找rtl等價net是非常麻煩的事情。點一下按鈕或者一個命令,GOF ECO就會通過分析網(wǎng)表、兩根net做LEC等方式找到等價net。這對手工ECO網(wǎng)表、網(wǎng)表不等價debug等提供了便利。

第四,GOF ECO支持讀入DEF/LEF,從中得到每個cell的物理信息。在spare cell映射時考慮這些cell位置信息,挑選出修改點附近更合適的spare cell。當附近沒有某個cell時,會做等價變換,用附近的其它cell代替。

第五,GOF ECO實現(xiàn)了spare cell類型的約束,前端工程師可以根據(jù)當前spare cell的類型和數(shù)量,來指導工具實現(xiàn)更優(yōu)化的方案。

第六,最新發(fā)布的GOF ECO實現(xiàn)了類似PT的report_timing的功能,這樣前端工程師在功能ECO的同時就可以評估時序,不需要等后端同事迭代,就能夠提前知道當前功能ECO結(jié)果在后端實現(xiàn)的難度和風險。也可以同時評估多個ECO方案,擇優(yōu)提供給后端。另外,前端工程師還可以利用GOF API來提前解決一部分時序問題,不需要全部丟給后端。不但減輕了后端的壓力,還減少了ECO迭代次數(shù),縮短了ECO時間,加速了芯片交付客戶的進度。




審核編輯:劉清

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

    關(guān)注

    1

    文章

    385

    瀏覽量

    59665
  • DRC
    DRC
    +關(guān)注

    關(guān)注

    2

    文章

    148

    瀏覽量

    36090
  • ECO
    ECO
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    14853
  • apr
    apr
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6462

原文標題:時序(Timing)對功能ECO有多重要

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ENOB是什么? ENOB對于選擇示波器多重要?

    ENOB是什么?ENOB說明了什么?如何判斷ENOB的大小?ENOB對于選擇示波器多重要?
    發(fā)表于 05-06 09:26

    內(nèi)存時序究竟有多重要呢?究竟該如何去選擇內(nèi)存條呢?

    內(nèi)存時序究竟有多重要呢?究竟該如何去選擇內(nèi)存條呢?DDR內(nèi)存時序是高一些好還是低一些好?
    發(fā)表于 06-18 08:20

    嵌入式架構(gòu)多重要?

    嵌入式架構(gòu)多重要?要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構(gòu)怎么行?如果沒有好的架構(gòu),移植將會是一件很痛苦的事情。如果沒有好的架構(gòu),復用是最大的難題,沒法更大限度的復用原有的代碼。接下來嵌入式ARM便和大家分享一下,嵌入式架構(gòu)那些事兒……
    發(fā)表于 07-22 06:00

    單片機中的系統(tǒng)時鐘多重要

    一、單片機中的系統(tǒng)時鐘多重要?系統(tǒng)時鐘就好比人的心臟,芯片沒有時鐘就是一塊廢料。51單片機不需要配置時鐘,因為一個時鐘管理所有的功能資源。STM32單片機低功耗的原因之一在于時鐘。每個功能
    發(fā)表于 07-29 09:30

    嵌入式架構(gòu)多重要

    嵌入式架構(gòu)多重要?要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構(gòu)怎么行?如果沒有好的架構(gòu),移植將會是一件很痛苦的事情。如果沒有好的架構(gòu),復用是最大的難題,沒法更大限度的復用
    發(fā)表于 10-27 08:15

    單片機中的系統(tǒng)時鐘多重要?

    單片機中的系統(tǒng)時鐘多重要?STM32芯片的時鐘簡介,時鐘從哪里來?芯片的系統(tǒng)時鐘從哪里來?系統(tǒng)時鐘如何向下分配時鐘資源?
    發(fā)表于 11-02 07:24

    詳細介紹時序基本概念Timing arc

    時序分析基本概念介紹——Timing Arc
    的頭像 發(fā)表于 01-02 09:29 ?2.4w次閱讀
    詳細介紹<b class='flag-5'>時序</b>基本概念<b class='flag-5'>Timing</b> arc

    時序約束資料包】培訓課程Timing VIVADO

    好的時序是設計出來的,不是約束出來的 時序就是一種關(guān)系,這種關(guān)系的基本概念哪些? 這種關(guān)系需要約束嗎? 各自的詳細情況哪些? 約束的方法
    發(fā)表于 08-06 15:08 ?530次閱讀

    AppleID是什么 蘋果官方科普多重要

    雖然時常和Apple ID打交道,但你知道Apple ID多重要嗎?今天,蘋果官方公眾號進行了全面科普,再也不要把自己的Apple ID借給別人了。
    的頭像 發(fā)表于 03-08 11:39 ?5655次閱讀

    詳解Xilinx FPGA的ECO功能

    ECO 指的是 Engineering Change Order ,即工程變更指令。目的是為了在設計的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗證的功能時序ECO 是從
    的頭像 發(fā)表于 08-02 09:18 ?3733次閱讀
    詳解Xilinx FPGA的<b class='flag-5'>ECO</b><b class='flag-5'>功能</b>

    什么是ECO?ECO的應用場景和實現(xiàn)流程

    ECO指的是 Engineering Change Order ,即工程變更指令。目的是為了在設計的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗證的功能時序
    的頭像 發(fā)表于 04-23 09:06 ?4895次閱讀
    什么是<b class='flag-5'>ECO</b>?<b class='flag-5'>ECO</b>的應用場景和實現(xiàn)流程

    什么是時序路徑timing path呢?

    今天我們要介紹的時序分析概念是 **時序路徑** (Timing Path)。STA軟件是基于timing path來分析timing的。
    的頭像 發(fā)表于 07-05 14:54 ?2066次閱讀
    什么是<b class='flag-5'>時序</b>路徑<b class='flag-5'>timing</b> path呢?

    時序分析基本概念介紹—Timing Arc

    今天我們要介紹的時序基本概念是Timing arc,中文名時序弧。這是timing計算最基本的組成元素,在昨天的lib庫介紹中,大部分時序
    的頭像 發(fā)表于 07-06 15:00 ?3175次閱讀
    <b class='flag-5'>時序</b>分析基本概念介紹—<b class='flag-5'>Timing</b> Arc

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?1780次閱讀

    pcb應變測試多重要?一文了解!

    pcb應變測試多重要?一文了解!
    的頭像 發(fā)表于 02-24 16:26 ?1000次閱讀