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

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

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

3天內不再提示

時序分析基本概念介紹—時鐘sdc

冬至配餃子 ? 來源:數字后端IC芯片設計 ? 作者:Tao ? 2023-07-05 10:57 ? 次閱讀

雖然sdc大大小小有上百條命令,但實際常用的其實就那么10幾條。今天我們來介紹下與時鐘相關的命令。主要有以下命令:

create_clock

create_generated_clock

set_clock_uncertainty

set_clock_groups

任何sdc首先定義的都是時鐘,對于一個同步電路而言,緩存器和緩存器之間的路徑延遲時間必須小于一個Clock 周期(Period),也就是說,當我們確認了Clock 規格,所有緩存器間的路徑的Timing Constraint 就會自動給定了。

Clock規格主要包含 Waveform 、UncertaintyClock group的定義。我們把它們稱為時鐘的 三要素 ,當然創建任何時鐘都要檢查一下這三者有沒有正確定義。

create_clock

主要定義一個Clock的source源端、周期、占空比(時鐘高電平與周期的比例)及信號上升沿及下降沿的時間點。

來看一個最簡單的例子:

圖片

這個時鐘描述成sdc語句就是:

***create_clock -name SYSCLK -period 20 ***

-waveform {0 5} [get_ports2 SCLK]

waveform后面跟上升沿和下降沿的時間

-waveform {time_rise time_falltime_rise time_fall ...}

如果沒指定-period,默認的waveform為{0, period/2}

create_generated_clock

generated clocks是另外一個重要的時鐘概念

generated clocks 是從master clock中取得的時鐘定義。master clock就是指create_clock命令指定的時鐘產生點,如圖所示:

圖片

我們可以用如下命令來描述generated clocks:

#定義master clock

***create_clock -name CLKP -period 10 ***

-waveform {0 5} [get_pins UPLL0/CLKOUT]

#在Q點定義generated clock

***create_generated_clock -name CLKPDIV2 ***

*** -source UPLL0/CLKOUT ***

-master_clock CLKP -divide_by 2 [get_pins UFF0/Q]

一般我們把時鐘的源頭會定義成 create_clock ,而分頻時鐘則會定義為 create_generated_clock . 兩者的主要區別在于CTS步驟,generated clock并不會產生新的clock domain, 而且定義generated clock后,clock path的起點始終位于master clock, 這樣source latency并不會重新的計算。這是定義generated clock的優點所在。

Virtual clock

這邊還有一個經常用的概念就是Virtual Clock,虛擬時鐘。

前面介紹的 create_clock , ***create_generated_clock ***都是real clock。而virtual clock則不掛在任何port或者pin上,只是虛擬創建出來的時鐘。如下所示:

#定義虛擬時鐘

create_clock -name VCLK -period 10 -waveform {0 5}

我們通常會把input/output delay掛在virtual clock上,因為input/output delay約束本來就是指片外的時鐘,所以掛在虛擬時鐘上較為合理。當然如果要省事情,直接掛在real clock上也是可以的。

set_clock_uncertainty

主要定義了Clock信號到時序器件的Clock端可能早到或晚到的時間。主要是用來降低jitter對有效時鐘周期的影響。值得注意的是,在setup check中,clock uncertainty是代表著降低了時鐘的有效周期;而在hold check中,clock uncertainty是代表著hold check所需要滿足的額外margin。

來看下面一條reg2reg path. 對照著如下時鐘波形圖??梢詫懗鱿旅娴募s束。

圖片

圖片

***set_clock_uncertainty-from VIRTUAL_SYS_CLK ***

***-to SYS_CLK -hold 0.05

set_clock_uncertainty -from VIRTUAL_SYS_CLK ***

***-to SYS_CLK -setup 0.3

set_clock_uncertainty -from SYS_CLK ***

***-to CFG_CLK -hold 0.05

set_clock_uncertainty -from SYS_CLK ***

-to CFG_CLK -setup 0.1

set_clock_groups

定義完時鐘后,我們也需要通過設置clock group來確認各個時鐘之間的關系。這是很重要的一步,因為通常我們還需要做cross domain check,如果clock group設錯了,會導致整個STA檢查錯誤。一般有三個選項:asynchronous,physically_exclusive和logically_exclusive。

asynchronous代表兩個異步的clock group

physically_exclusive代表兩個clock group在物理意義上相互排斥,比如在一個source pin上定義了兩個時鐘。

logically_exclusive代表兩個clock group在邏輯上相互排斥,比如兩個clock經過MUX選擇器。一個簡單的例子:

***set_clock_groups -physically_exclusive ***

***-group {CLK1 CLK2} *** -group {CLK3 CLK4}

clock group的定義異常謹慎,需要和前端再三確認。

時鐘的定義就到此為止了,只是一些基礎的概念,具體命令還有很多延伸擴展的內容,大家要去翻doc,深入研究下!

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

    關注

    2

    文章

    127

    瀏覽量

    22551
  • 緩存器
    +關注

    關注

    0

    文章

    63

    瀏覽量

    11652
  • SDC
    SDC
    +關注

    關注

    0

    文章

    48

    瀏覽量

    15528
  • CTS
    CTS
    +關注

    關注

    0

    文章

    35

    瀏覽量

    14061
  • 時序分析器
    +關注

    關注

    0

    文章

    24

    瀏覽量

    5270
收藏 人收藏

    評論

    相關推薦

    時序分析基本概念介紹——時序庫Lib,除了這些你還想知道什么?

    時序分析基本概念介紹——時序庫Lib。用于描述物理單元的時序和功耗信息的重要庫文件。lib庫是最
    的頭像 發表于 12-15 17:11 ?1.2w次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>——<b class='flag-5'>時序</b>庫Lib,除了這些你還想知道什么?

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

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

    詳細介紹下與時鐘相關的命令

    時序分析基本概念介紹——時鐘sdc。
    的頭像 發表于 01-27 09:18 ?6989次閱讀

    時序分析基本概念之生成時鐘詳細資料介紹描述

    今天我們要介紹時序分析概念是generate clock。中文名為生成時鐘。generate clock定義在
    的頭像 發表于 09-24 08:12 ?8921次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>之生成<b class='flag-5'>時鐘</b>詳細資料<b class='flag-5'>介紹</b>描述

    時序分析時序約束的基本概念詳細說明

    時序分析時FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些
    發表于 01-08 16:57 ?28次下載
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b>和<b class='flag-5'>時序</b>約束的<b class='flag-5'>基本概念</b>詳細說明

    FPGA設計中時序分析基本概念

    時序分析時FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些
    的頭像 發表于 03-18 11:07 ?2654次閱讀

    靜態時序分析基本概念和方法

    向量和動態仿真 。本文將介紹靜態時序分析基本概念和方法,包括時序約束,時序路徑,
    的頭像 發表于 06-28 09:38 ?1467次閱讀
    靜態<b class='flag-5'>時序</b><b class='flag-5'>分析</b>的<b class='flag-5'>基本概念</b>和方法

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

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

    時序分析基本概念SDC概述

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

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

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

    介紹時序分析基本概念MMMC

    今天我們要介紹時序分析基本概念是MMMC分析(MCMM)。全稱是multi-mode, multi-corner, 多模式多端角
    的頭像 發表于 07-04 15:40 ?2491次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>MMMC

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

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

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

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

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

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

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

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