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

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

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

詳細介紹下與時鐘相關(guān)的命令

數(shù)字后端IC芯片設(shè)計 ? 2018-01-27 09:18 ? 次閱讀

上次介紹了sdc的基本概念,那接下來幾期,我們來講解一些比較常用的sdc命令。雖然sdc大大小小有上百條命令,但實際常用的其實就那么10幾條。今天我們來介紹下與時鐘相關(guān)的命令。主要有以下命令:

create_clock

create_generated_clock

set_clock_uncertainty

set_clock_groups

任何sdc首先定義的都是時鐘,對于一個同步電路而言,緩存器和緩存器之間的路徑延遲時間必須小于一個Clock 周期(Period),也就是說,當我們確認了Clock 規(guī)格,所有緩存器間的路徑的Timing Constraint 就會自動給定了。Clock規(guī)格主要包含Waveform、Uncertainty和Clock group的定義。我們把它們稱為時鐘的三要素,當然創(chuàng)建任何時鐘都要檢查一下這三者有沒有正確定義。

create_clock

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

來看一個最簡單的例子:

詳細介紹下與時鐘相關(guān)的命令

這個時鐘描述成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命令指定的時鐘產(chǎn)生點,如圖所示:

詳細介紹下與時鐘相關(guān)的命令

我們可以用如下命令來描述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_clockCLKP -divide_by 2 [get_pins UFF0/Q]

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

Virtual clock

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

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

#定義虛擬時鐘

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束。

詳細介紹下與時鐘相關(guān)的命令

set_clock_uncertainty-from VIRTUAL_SYS_CLK \

-to SYS_CLK -hold 0.05set_clock_uncertainty -from VIRTUAL_SYS_CLK \

-to SYS_CLK -setup 0.3set_clock_uncertainty -from SYS_CLK \

-to CFG_CLK -hold 0.05set_clock_uncertainty -from SYS_CLK \

-to CFG_CLK -setup 0.1

set_clock_groups

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

asynchronous代表兩個異步的clock group

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

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

set_clock_groups -physically_exclusive \

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

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

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

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

    關(guān)注

    11

    文章

    1735

    瀏覽量

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

    關(guān)注

    0

    文章

    49

    瀏覽量

    15555

原文標題:時序分析基本概念介紹——時鐘sdc

文章出處:【微信號:IC_Physical_Design,微信公眾號:數(shù)字后端IC芯片設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MCU時鐘相關(guān)功能引腳操作

    目前 i.MXRT1xxx 系列主要分為 i.MXRT10xx 和 i.MXRT11xx 兩大分支。這兩個分支的時鐘系統(tǒng)設(shè)計是有一些差異的,不過總體來說,架構(gòu)差別不大,我們以如下 i.MXRT1170 的時鐘架構(gòu)為例來具體介紹。
    的頭像 發(fā)表于 09-28 14:40 ?3059次閱讀
    MCU<b class='flag-5'>時鐘相關(guān)</b>功能引腳操作

    MSP430G2231單片機,求助其時鐘相關(guān)問題,在線等?。。?/a>

    ,我覺得指令周期應(yīng)該隨時鐘周期變化的吧,為什么手冊上直接寫它的指令周期是62.5ns呢?在程序中只禁看門狗,對時鐘相關(guān)寄存器不操作的情況,使用內(nèi)部晶振,此時的指令周期到底是多少呢?
    發(fā)表于 07-25 11:22

    關(guān)于SPI的配置問題,就是時鐘的極性和時鐘相位問題

    關(guān)于SPI的配置問題,就是時鐘的極性和時鐘相位問題
    發(fā)表于 07-04 16:54

    時鐘相噪對ADC性能的影響是什么?

    時鐘相噪對ADC性能的影響是什么?鎖相環(huán)的基本原理和相噪優(yōu)化方式
    發(fā)表于 04-07 06:25

    總結(jié)RTC(Real Time Clock)實時時鐘相關(guān)的知識

    STM32F030_RTC詳細配置說明今天總結(jié)RTC(Real Time Clock)實時時鐘相關(guān)的知識。在進行RTC的講解前,我先對BKP進行一個簡單的講解。STM32的RTC模塊和時鐘配置系統(tǒng)
    發(fā)表于 08-05 08:19

    RTC實時時鐘相關(guān)知識點匯總,不看肯定后悔

    RTC實時時鐘相關(guān)知識點匯總,不看肯定后悔
    發(fā)表于 11-23 07:12

    32單片機時鐘相關(guān)知識

    32單片機時鐘相關(guān)知識使用HSE配置系統(tǒng)時鐘,可以用來控制燈的亮滅快慢
    發(fā)表于 12-06 07:01

    HbirdV2-SoC中如何配置QSPI1和QSPI2的時鐘極性CPOL和時鐘相位CPHA?

    HbirdV2-SoC中QSPI0的時鐘極性CPOL和時鐘相位CPHA可以通過SPI_SCKMODE寄存器來配置;在QSPI1和QSPI2中沒有找到相關(guān)寄存器,如何配置QSPI1和QSPI2的
    發(fā)表于 08-12 06:17

    一種基于FPGA的時鐘相移時間數(shù)字轉(zhuǎn)換器_王巍

    一種基于FPGA的時鐘相移時間數(shù)字轉(zhuǎn)換器_王巍
    發(fā)表于 01-07 22:23 ?3次下載

    時鐘相關(guān)的PCB的設(shè)計考慮主要分為兩部分

    今天我們講一時鐘(clock)相關(guān)的PCB的設(shè)計考慮,主要分兩部分:原理圖設(shè)計 - 針對時鐘電路應(yīng)該放置哪些器件?以及PCB布局和走線 - 如何擺放與
    發(fā)表于 11-25 11:09 ?1573次閱讀

    FPGA中的時鐘相關(guān)概念

    一、時鐘相關(guān)概念 理想的時鐘模型是一個占空比為50%且周期固定的方波。Tclk為一個時鐘周期,T1為高脈沖寬度,T2為低脈沖寬度,Tclk=T1+T2。占空比定義為高脈沖寬度與周期之比,即T1
    的頭像 發(fā)表于 01-15 09:37 ?4993次閱讀
    FPGA中的<b class='flag-5'>時鐘相關(guān)</b>概念

    STM32F030_RTC實時時鐘相關(guān)的知識資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32F030_RTC實時時鐘相關(guān)的知識資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-04 08:55 ?13次下載
    STM32F030_RTC實時<b class='flag-5'>時鐘相關(guān)</b>的知識資料下載

    MCU時鐘相關(guān)功能引腳作用介紹

    目前 i.MXRT1xxx 系列主要分為 i.MXRT10xx 和 i.MXRT11xx 兩大分支。這兩個分支的時鐘系統(tǒng)設(shè)計是有一些差異的,不過總體來說,架構(gòu)差別不大,我們以如下 i.MXRT1170 的時鐘架構(gòu)為例來具體介紹
    的頭像 發(fā)表于 07-07 09:27 ?5650次閱讀

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

    雖然sdc大大小小有上百條命令,但實際常用的其實就那么10幾條。今天我們來介紹時鐘相關(guān)命令
    的頭像 發(fā)表于 07-05 10:57 ?2020次閱讀
    時序分析基本概念<b class='flag-5'>介紹</b>—<b class='flag-5'>時鐘</b>sdc

    SPI時鐘極性和時鐘相

    在 SPI 中,主機可以選擇時鐘極性和時鐘相位。在空閑狀態(tài)期間,CPOL 為設(shè)置時鐘信號的極性??臻e狀態(tài)是指傳輸開始時 CS 為高電平且在向低電平轉(zhuǎn)變的期間,以及傳輸結(jié)束時 CS 為低電平且在向
    的頭像 發(fā)表于 07-21 10:08 ?6195次閱讀
    SPI<b class='flag-5'>時鐘</b>極性和<b class='flag-5'>時鐘相</b>位