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

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

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

時序分析基本概念介紹<sdc檢查>

冬至子 ? 來源:數(shù)字后端IC芯片設(shè)計 ? 作者:Tao ? 2023-07-05 10:32 ? 次閱讀

sdc是整個設(shè)計中最重要的文件,它的正確與否直接決定了PR能否順利進行以及timing的最終sign off。很多設(shè)計團隊經(jīng)常只有等到做完綜合,STA,PR后才發(fā)現(xiàn)到sdc上的問題,再去修改sdc重新run job。這樣就浪費了項目寶貴的schedule。而且,不同的工具,不同的design team處理約束的方式都不盡相同。這些因素,都要求我們必須在設(shè)計前期盡早的完成sdc的檢查。

sdc的問題有很多種,我大致羅列了以下一些:

Missing clock definition

和clock相關(guān)的問題都要引起特別大的重視,因為它會嚴(yán)重影響到timing還有CTS的質(zhì)量。有沒有正確地定義generate clock, 關(guān)鍵節(jié)點上的時鐘有沒有傳過去,哪些地方應(yīng)該stop clock propagation......這些問題我們都應(yīng)該第一時間去檢查確認(rèn)。

Unconstrained endpoint

這也是很嚴(yán)重的一點問題,unconstrained就代表著工具不會去檢查該條timing path,也就不會發(fā)現(xiàn)潛在的時序問題了。有的endpoint確實可能是靜態(tài)信號,但也不排除我們遺漏input/output delay或者錯誤地設(shè)置了false path。因此,這也值得我們重點檢查。

No input/output delay

理論上,每個端口上都需要設(shè)置端口約束。因此,我們必須正確地檢查它有沒有遺漏,以及掛在正確的clock上。

set_case_analysis conflict

通常我們會在DFT模式切換時設(shè)置case analysis值。因此,需要和DFT team確認(rèn)值的正確性。因為設(shè)了case analysis的port就不會再去檢查該條timing path了。

Incorrect timing exception

timing exception也是很重要的,false path和multicycle path的設(shè)定也需要和前端team確認(rèn),設(shè)置完以后也要檢查一下是否正確運行,或是被別的exception覆蓋。

那我們?nèi)绾卧谇捌谌プ鰏dc的檢查呢?

方法有很多,首先最基本的需要做到以下幾點:

Log

首先,檢查zero wire load階段的timing log是最重要的一點,我們需要確保沒有任何的Error,每個warning也要逐條分析,有合理的解釋,記得需要把message條數(shù)的限制關(guān)掉,工具默認(rèn)報出的條數(shù)有限。

set_message_info –id UITE-123 –limit 10000

圖片

check_timing

這也是普遍常用的一個命令,它能檢查出No clock,Unconstrained endpoint,No input/output delay等最基本的約束問題。完整的檢查列表如下所示:

圖片

STA和PR工具里都能使用,而且建議兩邊都檢查一下,因為PR工具里會用ETM model, 而STA工具通常都是flatten運行,檢查的數(shù)據(jù)有所不同。為了便于區(qū)分,通常把function mode和DFT mode分開檢查。

可以使用以下命令檢查:

check_timing -verbose > func_check_timing.rpt

圖片

report_analysis_coverage

這是個檢查timing check覆蓋率的命令??梢詧蟪霎?dāng)前約束下,各種timing check (setup, hold,min_period,min_pulse_width等) 的覆蓋率,報告如下所示:

圖片

我們主要關(guān)注報告中的Untested這一欄,它說明我們約束沒有覆蓋的點,造成untested的原因有很多,主要有以下幾點。因此我們必須逐條歸納分析原因,如果是sdc造成的,那就要修改sdc。

如果要看那么多文件的話,也許會很麻煩,而且總會覺得遺漏了一些。其實,很多公司也是有專門檢查sdc的小工具。學(xué)會用這些工具,會專業(yè)方便得多,起到事半功倍的效果。這邊推薦Galaxy Constraint AnalyzerSpyGlass這兩個專門檢查sdc的工具。

最后,對于上述檢查出來的這些問題,有很多是可以waive的,那我們?nèi)绾稳シ治瞿兀?/p>

工具本身提供很多很方便的debug命令

all_fanin/all_fanout

這兩個命令可以很容易的trace timing path的起點和終點,大家可以對應(yīng)對IO設(shè)計表格和sdc,來檢查一下約束是否有錯。

pt_shell> all_fanin –only_cells –flat –startpoints –to F1/CLK

get_attribute

這個db的命令大家一定很熟悉,我們可以使用它來得到pin上的clock,arrival window等信息,來檢查clock有沒有正確propagation

還有以下一些常用命令也可以幫我們報出各種有用的信息,不分別介紹了

report_cell

report_case_propagation

report_disable_timing

講到這,大家對該如何檢查sdc有個簡單認(rèn)識了吧,一定要記住,sdc很重要,一定要好好寫。

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

    關(guān)注

    2

    文章

    127

    瀏覽量

    22529
  • STA
    STA
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    18914
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    15487
  • CTS
    CTS
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    13983
  • 時序分析器
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    5258
收藏 人收藏

    評論

    相關(guān)推薦

    詳細(xì)介紹時序基本概念Timing arc

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

    介紹時序分析基本概念lookup table

    今天要介紹時序分析基本概念是lookup table。中文全稱時序查找表。
    的頭像 發(fā)表于 07-03 14:30 ?1261次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>的<b class='flag-5'>基本概念</b>lookup table

    時序分析基本概念SDC概述

    今天我們要介紹時序概念是設(shè)計約束文件 **SDC** . 全稱 ***Synopsys design constraints*** . SDC
    的頭像 發(fā)表于 07-03 14:51 ?5603次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>—<b class='flag-5'>SDC</b>概述

    時序分析基本概念介紹&amp;lt;Operating Condition&amp;gt;

    今天我們要介紹時序分析概念是 **Operating Condition** 。也就是我們經(jīng)常說的PVT環(huán)境,分別代表fabrication process variations(工
    的頭像 發(fā)表于 07-04 10:57 ?2630次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Operating Condition&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Latency&amp;gt;

    今天要介紹時序分析基本概念是Latency, 時鐘傳播延遲。主要指從Clock源到時序組件Clock輸入端的延遲時間。
    的頭像 發(fā)表于 07-04 15:37 ?2119次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Latency&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Skew&amp;gt;

    今天要介紹時序分析基本概念是skew,我們稱為偏差。
    的頭像 發(fā)表于 07-05 10:29 ?3112次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Skew&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析Slew/Transition基本概念介紹

    今天要介紹時序分析基本概念是Slew,信號轉(zhuǎn)換時間,也被稱為transition time。
    的頭像 發(fā)表于 07-05 14:50 ?2613次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b>Slew/Transition<b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>

    時序分析基本概念介紹&amp;lt;spice deck&amp;gt;

    今天我們要介紹時序分析概念是spice deck。平時用得可能比較少,是PT產(chǎn)生的一個spice信息文件,可以用來和HSPICE做correlation。
    的頭像 發(fā)表于 07-05 15:45 ?988次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;spice deck&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;generate clock&amp;gt;

    今天我們要介紹時序分析概念是generate clock。中文名為生成時鐘。generate clock定義在sdc中,是一個重要的時鐘
    的頭像 發(fā)表于 07-06 10:34 ?1995次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;generate clock&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Critical Path&amp;gt;

    今天我們要介紹時序分析概念是Critical Path。全稱是關(guān)鍵路徑。
    的頭像 發(fā)表于 07-07 11:27 ?1061次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Critical Path&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;wire load model&amp;gt;

    今天我們要介紹時序分析基本概念是wire load model. 中文名稱是線負(fù)載模型。是綜合階段用于估算互連線電阻電容的模型。
    的頭像 發(fā)表于 07-07 14:17 ?945次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;wire load model&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Virtual Clock&amp;gt;

    今天我們介紹時序分析基本概念是Virtual Clock,中文名稱是虛擬時鐘。
    的頭像 發(fā)表于 07-07 16:52 ?1230次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Virtual Clock&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Uncertainty&amp;gt;

    今天我們要介紹時序分析命令是uncertainty,簡稱時鐘不確定性。
    的頭像 發(fā)表于 07-07 17:23 ?2702次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Uncertainty&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;ILM&amp;gt;

    今天我們要介紹時序分析基本概念是ILM, 全稱Interface Logic Model。是一種block的結(jié)構(gòu)模型。
    的頭像 發(fā)表于 07-07 17:26 ?2589次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;ILM&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;

    時序分析基本概念介紹&amp;lt;Combinational logic&amp;gt;

    今天我們要介紹時序分析概念是Combinational logic. 中文名組合邏輯單元。這是邏輯單元的基本組成器件。
    的頭像 發(fā)表于 07-10 14:31 ?697次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>lt</b>;Combinational logic&<b class='flag-5'>amp</b>;<b class='flag-5'>gt</b>;