欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

時(shí)序約束的相關(guān)知識(shí)(二)

CHANBAEK ? 來源:數(shù)字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-31 16:39 ? 次閱讀

Input-to-Reg 約束

設(shè)置 Input-to-Reg 時(shí)序路徑的約束時(shí),不僅需要?jiǎng)?chuàng)建時(shí)鐘模型,還需要設(shè)置輸入延時(shí) (input delay)。 設(shè)置 input delay 時(shí),需要假設(shè)輸入 port 信號(hào)是與時(shí)鐘相關(guān)聯(lián)的,且 port 信號(hào)是在時(shí)鐘上升沿到來之后延遲了一小段時(shí)間到達(dá)的 port 端。 這一小段延遲時(shí)間稱為 input delay。

圖片

假設(shè)上圖中 port A 信號(hào)是在時(shí)鐘到來之后的 0.6ns 達(dá)到,時(shí)鐘周期為 2ns,clock uncertainty 為 0.3ns,建立時(shí)間為 0.2ns,則約束語句為:

create_clock -period 2 [get_ports Clk]
set_clock_uncertainty -setup 0.3 [get_clocks Clk]
set_input_delay -max 0.6 -clock Clk [get_ports A]

則 port A 到寄存器 FF2 的 D 端的 N 路徑延時(shí)為:

Tmax = 2-0.3-0.6-0.2 = 0.9ns

只要 port A 到寄存器 FF2 的 D 端的延時(shí)小于 0.9ns,時(shí)序就能滿足要求。

當(dāng)所有輸入端口延遲相同時(shí),可利用以下語句進(jìn)行時(shí)序約束:

set_input_delay -max 0.6 -clock Clk \\
    [remove_from_collection [all_inputs] [get_ports Clk]]

當(dāng)僅有一兩個(gè)信號(hào)的輸入延遲不同時(shí),可以使用分別設(shè)置的方法,也可以使用覆蓋設(shè)置的方法:

# 首先設(shè)置所有 input delay0.6ns
set_input_delay -max 0.6 -clock Clk [all_inputs] 
# port A 的輸入延時(shí)設(shè)為 0.7ns,則上一句 A 的輸入延時(shí)屬性會(huì)被覆蓋
set_input_delay -max 0.7 -clock Clk [get_ports A]
# 去除掉 clock 端的輸入延時(shí)設(shè)置
remove_input_delay [get_ports Clk]

Reg-to-Output 約束

設(shè)置 Reg-to-Output 時(shí)序路徑的約束時(shí),也需要設(shè)置輸出延時(shí) (output delay)。

設(shè)置 output delay 時(shí),也需要假設(shè)輸出 port 信號(hào)是與時(shí)鐘相關(guān)聯(lián)的,且 port 端信號(hào)在延遲了一小段時(shí)間后可以到達(dá)可能存在的 ”下一級(jí)寄存器的 D 端“,并被時(shí)鐘捕獲。 這一小段延遲時(shí)間稱為 output delay。

圖片

假設(shè)上圖中 port B 信號(hào)輸出后到達(dá)下一級(jí)的 output delay (Tt + Tsetup) 為 0.8ns,時(shí)鐘周期為 2ns,clock uncertainty 為 0.3ns,則約束語句描述為:

create_clock -period 2 [get_ports Clk]
set_clock_uncertainty -setup 0.3 [get_clocks Clk]
set_output_delay -max 0.8 -clock Clk [get_ports B]

寄存器 FF3 的 clock 端到 port B 的最大延時(shí)為:

Tmax = 2-0.3-0.8 = 0.9ns

只要寄存器 FF3 的 clock 端到 port B 的延時(shí)小于 0.9ns,時(shí)序就能滿足要求。

當(dāng)所有輸出端口延遲相同時(shí),也可以同時(shí)對(duì)所有輸出端進(jìn)行 output delay 的設(shè)置。 當(dāng)僅有一兩個(gè)信號(hào)的輸出延時(shí)不同時(shí),可以使用分別設(shè)置的方法,也可以使用覆蓋設(shè)置的方法。

Input-to-Output 約束

當(dāng)輸入端和輸出端之間只存在組合邏輯時(shí),就需要在 DC 中創(chuàng)建虛擬時(shí)鐘來約束時(shí)序。 虛擬時(shí)鐘沒有連接到設(shè)計(jì)中的任何端口,只為方便分析 input delay 與 output delay。

例如某個(gè)設(shè)計(jì)示意圖如下所示,估算虛擬時(shí)鐘的頻率為 2ns, uncertainty 為 0.3ns,則 Input-to-Output 的約束語句描述如下:

# 創(chuàng)建虛擬時(shí)鐘時(shí)無需指定 clock 源,且不可省略 -name 選項(xiàng)
create_clock -name VCLK -period 2
set_clock_uncertainty -setup 0.3 [get_clocks VCLK]
set_input_delay -max 0.4 -clock VCLK [get_ports A]
set_output_delay -max 0.3 -clock VCLK [get_ports B]

此時(shí) port A 與 port B 之間的組合邏輯最大延時(shí)要求為:

Tcomb = 2-0.3-0.4-0.3 = 1ns

圖片


Latency/Uncertainty 對(duì) Input/Output Delay 的影響

上一個(gè)寄存器的時(shí)鐘端到下一個(gè)寄存器的數(shù)據(jù)端的路徑,可以稱為數(shù)據(jù)路徑 (data path)。 而時(shí)鐘周期的傳輸可以稱為時(shí)鐘路徑 (clock path)。

clock 建模時(shí),如果設(shè)置了 Uncertainty/Latency,則會(huì)對(duì) data path 和 clock path 產(chǎn)生影響,從而對(duì) Input/Output Delay 的相關(guān)時(shí)序可能也會(huì)產(chǎn)生影響。

某一設(shè)計(jì)示意圖及時(shí)序約束語句描述如下,圖中也簡單計(jì)算了數(shù)據(jù)到來時(shí)刻、數(shù)據(jù)捕獲時(shí)刻、時(shí)鐘到來時(shí)刻等信息。

圖片

首先分析 Input-to-Reg path:

考慮 clock latency,時(shí)鐘延時(shí)為 source latency 與 network latency 的總和:

clock latency = 0.3+0.12 = 0.42 ns

FF2 時(shí)鐘端的 clock launch 包含了 clock latency 和 uncertainty,到達(dá)時(shí)刻為:

clk launch = 2+0.42-2 = 2.22ns

數(shù)據(jù)到達(dá) port 端口的時(shí)間為 clock latency 與 input delay 的總和:

input arrival = 0.42+0.6 = 1.02ns

所以,內(nèi)部路徑 N 的最大延時(shí)為:

Npath_Tmax = clk launch - input arrival = 2.22-1.02 = 1.2ns

不考慮 clock latency,則內(nèi)部路徑 N 的最大延時(shí)為:

Npath_Tmax = 2 - 0.2 - 0.6 = 1.2ns

可見,clock latency 對(duì) Input-to-Reg 路徑時(shí)序沒有影響,clock uncertainty 有影響。

分析 Reg-to-Output 路徑:

考慮 clock latency,則 clock launch 時(shí)間不變,仍然為 2.22ns。

clock latency 與內(nèi)部路徑 S 的延時(shí)時(shí)間和為:

clock latency + Spath_Tmax
= clock launch - output_delay
=2.22 - 0.8 = 1.42ns

內(nèi)部路徑 S 的最大延時(shí)為:

Spath_Tmax = 1.42 -0.42 = 1ns

不考慮 clock latency,則內(nèi)部路徑 S 的最大延時(shí)為:

Spath_Tmax = 2 - 0.2 - 0.8 = 1ns

可見,clock latency 對(duì) Reg-to-Output 路徑時(shí)序沒有影響,clock uncertainty 有影響。

小結(jié)

clock latency 同時(shí)作用于 data_path 與 clock path,所以對(duì) Input-to-Reg 與 Reg-to-Output path 的時(shí)序分析不會(huì)產(chǎn)生影響。

clock Uncertainty 只作用于clock path,所以對(duì) Input-to-Reg 與 Reg-to-Output path 的時(shí)序分析會(huì)產(chǎn)生影響。

時(shí)序預(yù)算 (Timing Budget)

因?yàn)閼?yīng)用場景的差異,更多時(shí)候 input/output delay 的具體值是無法精確得到的,這就需要對(duì)相關(guān)的延時(shí)值進(jìn)行估計(jì),并應(yīng)用到約束設(shè)置中,即為時(shí)間預(yù)算 (timing budget)。

Timing Budget 的方式主要有兩種:按時(shí)鐘百分比估算和按寄存器輸出估算。

按時(shí)鐘百分比估算

圖片

一般建議使用時(shí)鐘周期的 40% 時(shí)長來約束 port 端到寄存器 D 的延時(shí) (上圖中 MY_BLOCK 的 N path) ,即 input delay 可以設(shè)置為時(shí)鐘周期的 60% 時(shí)長。 output delay 同理。

假如上一級(jí) Q 端到輸出端的延時(shí) (上圖中 X_BLOCK 的 S path) 也取 40%,那么 Input-to-Reg path 將有 20% 的裕量,裕量中包括 FF1 的 CQ 延時(shí) (FF1 時(shí)鐘端到輸出端) 和 FF2 的建立時(shí)間。 所以,實(shí)際設(shè)置 60% 的 input delay 是有些偏大的。

假設(shè)上述設(shè)計(jì)中,時(shí)鐘周期為 10ns,則 timing bugdet 方案可以描述如下:

create_clock -period 10 [get_ports CLK]
set_input_delay -max 6 -clock CLK \\
      [remove_from_collection [all_inputs] [get_ports CLK]]
set_output_delay -max 6 -clock CLK [all_outputs]

按寄存器輸出估算

假設(shè)所有的輸出 port 都是由寄存器驅(qū)動(dòng)的 (見上圖中的 X_BLOCK 和 Y_BLOCK 設(shè)計(jì)),那么 input delay 可以由上一級(jí)寄存器的延時(shí)特性估算,output delay 可以由下一級(jí)寄存器的延時(shí)特性估算。

例如通過查找 library 得到觸發(fā)器的 CQ 延時(shí) (時(shí)鐘端到輸出端) 最大為 1.5ns,最小為 0.2ns,那么 input/output delay 的約束語句可以描述如下:

set C2Q_MAX 1.5
set C2Q_MIN 0.2
set PERIOD 10
create_clock -period $PERIOD [get_ports CLK]
set_input_delay -max $C2Q_MAX -clock CLK \\
      [remove_from_collection [all_inputs] [get_ports CLK]]
set_output_delay -max [expr 10-$C2Q_MIN] -clock CLK [all_outputs]
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5368

    瀏覽量

    121241
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1747

    瀏覽量

    131835
  • 約束
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    12777
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    115

    瀏覽量

    13462
  • 時(shí)序路徑
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    1412
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VIVADO時(shí)序約束及STA基礎(chǔ)

    時(shí)序約束的目的就是告訴工具當(dāng)前的時(shí)序狀態(tài),以讓工具盡量優(yōu)化時(shí)序并給出詳細(xì)的分析報(bào)告。一般在行為仿真后、綜合前即創(chuàng)建基本的時(shí)序
    的頭像 發(fā)表于 03-11 14:39 ?9885次閱讀

    FPGA的IO口時(shí)序約束分析

      在高速系統(tǒng)中FPGA時(shí)序約束不止包括內(nèi)部時(shí)鐘約束,還應(yīng)包括完整的IO時(shí)序約束時(shí)序例外
    發(fā)表于 09-27 09:56 ?1800次閱讀

    FPGA時(shí)序約束的基礎(chǔ)知識(shí)

    FPGA開發(fā)過程中,離不開時(shí)序約束,那么時(shí)序約束是什么?簡單點(diǎn)說,F(xiàn)PGA芯片中的邏輯電路,從輸入到輸出所需要的時(shí)間,這個(gè)時(shí)間必須在設(shè)定的時(shí)鐘周期內(nèi)完成,更詳細(xì)一點(diǎn),即需要滿足建立和保
    發(fā)表于 06-06 17:53 ?1553次閱讀
    FPGA<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的基礎(chǔ)<b class='flag-5'>知識(shí)</b>

    FPGA主時(shí)鐘約束詳解 Vivado添加時(shí)序約束方法

    在FPGA設(shè)計(jì)中,時(shí)序約束的設(shè)置對(duì)于電路性能和可靠性都至關(guān)重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束的基礎(chǔ)知識(shí)。
    發(fā)表于 06-06 18:27 ?1.1w次閱讀
    FPGA主時(shí)鐘<b class='flag-5'>約束</b>詳解 Vivado添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>方法

    FPGA時(shí)序約束之衍生時(shí)鐘約束和時(shí)鐘分組約束

    在FPGA設(shè)計(jì)中,時(shí)序約束對(duì)于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束的主時(shí)鐘約束。
    發(fā)表于 06-12 17:29 ?2893次閱讀

    FPGA I/O口時(shí)序約束講解

    前面講解了時(shí)序約束的理論知識(shí)FPGA時(shí)序約束理論篇,本章講解時(shí)序
    發(fā)表于 08-14 18:22 ?1770次閱讀
    FPGA I/O口<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>講解

    時(shí)序約束時(shí)序分析 ppt教程

    時(shí)序約束時(shí)序分析 ppt教程 本章概要:時(shí)序約束時(shí)序分析基礎(chǔ)常用
    發(fā)表于 05-17 16:08 ?0次下載

    時(shí)序約束用戶指南

    時(shí)序約束用戶指南包含以下章節(jié): ?第一章“時(shí)序約束用戶指南引言” ?第2章“時(shí)序約束的方法” ?
    發(fā)表于 11-02 10:20 ?0次下載

    FPGA時(shí)序約束方法

    FPGA時(shí)序約束方法很好地資料,兩大主流的時(shí)序約束都講了!
    發(fā)表于 12-14 14:21 ?19次下載

    XDC約束及物理約束的介紹

    觀看視頻,了解和學(xué)習(xí)有關(guān)XDC約束,包括時(shí)序,以及物理約束相關(guān)知識(shí)。
    的頭像 發(fā)表于 01-07 07:10 ?6309次閱讀
    XDC<b class='flag-5'>約束</b>及物理<b class='flag-5'>約束</b>的介紹

    FPGA設(shè)計(jì)之時(shí)序約束

    上一篇《FPGA時(shí)序約束分享01_約束四大步驟》一文中,介紹了時(shí)序約束的四大步驟。
    發(fā)表于 03-18 10:29 ?1706次閱讀
    FPGA設(shè)計(jì)之<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    時(shí)序約束相關(guān)知識(shí)(一)

    本章節(jié)主要介紹一些簡單的時(shí)序約束的概念。
    的頭像 發(fā)表于 03-31 16:37 ?1859次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識(shí)</b>(一)

    約束、時(shí)序分析的概念

    很多人詢問關(guān)于約束、時(shí)序分析的問題,比如:如何設(shè)置setup,hold時(shí)間?如何使用全局時(shí)鐘和第全局時(shí)鐘(長線資源)?如何進(jìn)行分組約束?如何約束
    的頭像 發(fā)表于 05-29 10:06 ?878次閱讀
    <b class='flag-5'>約束</b>、<b class='flag-5'>時(shí)序</b>分析的概念

    如何在Vivado中添加時(shí)序約束

    前面幾篇文章已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束基礎(chǔ)知識(shí)以及常用的時(shí)序約束命令,相信大家已經(jīng)基本掌握了時(shí)序
    的頭像 發(fā)表于 06-23 17:44 ?2536次閱讀
    如何在Vivado中添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    淺談時(shí)序設(shè)計(jì)和時(shí)序約束

    ??本文主要介紹了時(shí)序設(shè)計(jì)和時(shí)序約束。
    的頭像 發(fā)表于 07-04 14:43 ?1515次閱讀