日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > ZYNQ


在同步電路設(shè)計中,各功能邏輯單元之間的數(shù)據(jù)傳輸由一個同步信號控制,這個執(zhí)行統(tǒng)一指揮的信號就是時鐘信號,因此需要在設(shè)計之初創(chuàng)建時鐘,基于該時鐘頻率進行優(yōu)化設(shè)計,使設(shè)計性能達到時序收斂的目的。

創(chuàng)建時鐘

時鐘信號為一個周期性信號,定義時鐘需要包括以下主要信息:

(1)時鐘源點

時鐘源點可以根據(jù)情況定義為設(shè)計中一個端口,一個網(wǎng)絡(luò),也可以是一個邏輯單元的PIN腳。為端口時用[get_ports  端口名],為網(wǎng)絡(luò)時用[get_nets  網(wǎng)絡(luò)名],為PIN腳時用[get_pins  引腳名]。

(2)時鐘周期

時鐘周期定義為時鐘的震蕩周期,為時鐘頻率的倒數(shù)。時鐘周期是時序分析中最基本的、最小的時間單元。用{-period  period_value}表示

(3)時鐘占空比

時鐘占空比主要定義時鐘高低電平在一個時鐘周期內(nèi)的分布情況。用-[waveform edge_list]表示

通過使用SDC命令creat_clock來創(chuàng)建時鐘,比如通過該命令定義一個從CLK端口輸出并且時鐘周期為10、占空比為50%的時鐘信號,命令如下。

creat_clock  -period  10  -waveform { 0  5 }  [ get_ports  clk ]

如上圖所示,該命令可以對所有內(nèi)部觸發(fā)器到觸發(fā)器類型的路徑進行約束。

(4)命名時鐘

每個時鐘定義都會給時鐘信號命名。用 -name選項可以指定一個字符串作為時鐘名稱。當-name選項沒有明確指定字符串并且時鐘已被聲明時,工具將指定自己的名字給時鐘信號命名。時鐘信號一旦被定義并且命名,所有其他依賴于此時鐘信號的SDC指令只需要提到時鐘信號的名稱,而不用提供其他任何特征。當提到時鐘信號名字的時候,時鐘信號的所有特征就都知道了。時鐘名稱提供了更加簡單的方法來統(tǒng)稱時鐘信號的所有特征。

下面以定義一個占空比不是50%的時鐘為例。

creat_clock  -name  BDYCLK  -period  15  -waveform  {5  12}  [get_ports  CLK]

時鐘信號波形如下圖所示。

(4)時鐘轉(zhuǎn)換延時

時鐘轉(zhuǎn)換延時定義時鐘在高低電平狀態(tài)下切換所需要的延時。

通過SDC命令set_clock_transition來定義時鐘轉(zhuǎn)換延時信息,示例命令如下:

set_clock_transition  -rise  0.1  [get_clocks  clk]

set_clock_transition  -fall  0.12  [get_clocks  clk]

以上命令定義名為clk的時鐘信號上升轉(zhuǎn)換延時為0.1ns,下降轉(zhuǎn)換延時為0.12ns。

(5)時鐘不確定性

由于實際時鐘本身與理想時鐘有一定的誤差,所以通過時鐘不確定來涵蓋這些實際的導致誤差的因素,比如時鐘抖動、時鐘偏斜等因素。

由于芯片內(nèi)部各個觸發(fā)器的位置不同,導致每個觸發(fā)器到時鐘源點的距離不相同,所以時鐘源點的時鐘信號到達每個觸發(fā)器的時間與理想情況的時間有誤差。如下圖所示,假設(shè)路徑P1的時間為0.5ns,路徑P2的時間為1ns,路徑P3的時間為1.2ns,路徑P4的時間為1.3ns。那么,時鐘不確定性的延時為0.8ns。

通過使用SDC命令set_clock_uncertainty來定義時鐘不確定性信息,示例如下:

set_clock_uncertainty  -setup  0.2  [get_clocks  clk]

set_clock_uncertainty  -hold  0.05  [get_clocks  clk]

以上命令定義名為CLK時鐘信號的不確定性為:建立時間為0.2ns,保持時間為0.05ns。其結(jié)果如下圖所示。

設(shè)計中可能存在由不同的時鐘信號驅(qū)動的時序路徑,如下圖所示。

不同時鐘域之間也可以定義時鐘不確定性,示例命令如下:

set_clock_uncertainty  -from  CLK1  -to  CLK2  -hold  0.05

set_clock_uncertainty  -from  CLK2  -to  CLK1  -hold  0.05

set_clock_uncertainty  -from  CLK1  -to  CLK2  -setup  0.1

set_clock_uncertainty  -from  CLK2  -to  CLK1  -setup  0.1

以上命令定義名為CLK1和CLK2時鐘之間的不確定性為:建立時間為0.1ns,保持時間為0.05ns。

(6)時鐘延遲

時鐘信號從時鐘源輸出端到達時序單元時鐘輸入端是需要傳播時間的。時鐘延遲由時鐘源點到達時鐘定義的端口的延時(source latency)和時鐘定義的端口到時序單元時鐘輸入端的延時(network latency)兩部分組成,如下圖所示。

通過使用SDC命令set_clock_latency來定義時鐘延遲信息,示例命令如下:

set_clock_latency  1.8  -rise  [all_clocks]

set_clock_latency  2.1  -fall  [all_clocks]

以上命令定義了時鐘網(wǎng)絡(luò)延遲:上升延遲為1.8ns,下降延遲為2.1ns。

set_clock_latency  0.851  -source  -min  [get_clocks  CLK]

set_clock_latency  1.322  -source  -max  [get_clocks  CLK]

以上命令定義了時鐘源信號到達時鐘CLLK輸出端的延時,最大延遲為1.322ns,最小延遲為0.851ns。

時鐘網(wǎng)絡(luò)延遲與時鐘源延遲的一個明顯區(qū)別是,時鐘網(wǎng)絡(luò)延遲是時鐘樹生成前的設(shè)置。當實際時鐘樹生成后,時鐘網(wǎng)絡(luò)延遲的設(shè)置將會通過命令set_propagated_clock被時鐘樹的實際結(jié)果替代,而時鐘源延遲會一直存在,即使使用實際的時鐘樹傳播延時信息。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉