??在我之前寫的FPGA時(shí)序約束教程中,有一篇中講到了虛擬時(shí)鐘:
但文中對(duì)虛擬時(shí)鐘的應(yīng)用介紹的還不夠詳細(xì),因此這里我們?cè)賹?duì)虛擬時(shí)鐘做一個(gè)更加細(xì)致的介紹。
??首先,虛擬時(shí)鐘用于什么地方?
??虛擬時(shí)鐘通常用于設(shè)定輸入和輸出的延時(shí),即set_input_delay和set_output_delay。可能有同學(xué)忘記這兩個(gè)約束的用法了,這里我們?cè)僬故疽幌拢?/p>
set_input_delay0.5-clockclkA[get_portsA]
set_output_delay1-clockclkB[get_portsB]
其中clkA和clkB就是我們使用create_clock創(chuàng)建的主時(shí)鐘或者虛擬時(shí)鐘。
??主時(shí)鐘在創(chuàng)建的時(shí)候需要指定時(shí)鐘輸入端口,虛擬時(shí)鐘不需要指定端口,所以稱之為虛擬時(shí)鐘。那什么場(chǎng)景下要用到虛擬時(shí)鐘呢?
- 外部IO的參考時(shí)鐘并不是設(shè)計(jì)中的時(shí)鐘
下圖中,外部IO的參考時(shí)鐘比設(shè)計(jì)中主時(shí)鐘的路徑上多了一個(gè)BUFFER,因此我們需要使用虛擬時(shí)鐘來進(jìn)行約束。

create_clock-namesysclk-period10[get_portsclkin]
create_clock-namevirtclk-period10
set_clock_latency-source1[get_clockvirtclk]
set_input_delay-clockvirtclk-max4[get_portsdina]
set_input_delay-clockvirtclk-min2[get_portsdina]
- FPGA I/O路徑參考時(shí)鐘來源于內(nèi)部衍生時(shí)鐘,但與主時(shí)鐘的頻率關(guān)系并不是整數(shù)倍
如果I/O路徑參考時(shí)鐘源于內(nèi)部的衍生時(shí)鐘,那set_input_delay和set_output_delay約束中-clock參數(shù)后的時(shí)鐘不能是衍生時(shí)鐘,比如下圖的例子中,輸入10MHz時(shí)鐘經(jīng)過了MMCM后去采輸入的數(shù)據(jù)。
image-20211206203529124a) 如果MMCM沒有負(fù)的相移而且輸出的頻率也是10MHz,那么直接使用主時(shí)鐘來約束input delay。
create_clock-period100.000-nameclk[get_portsclk]
set_input_delay-clockclk-max2.000[get_portsdatain]
set_input_delay-clockclk-min1.000[get_portsdatain]
b) 如果MMCM輸出頻率是60MHz,那么這個(gè)衍生時(shí)鐘跟主時(shí)鐘并不是整數(shù)倍關(guān)系,這時(shí)就需要用到虛擬時(shí)鐘了
create_clock-period100.000-nameclk[get_portsclk]
create_clock-nameclk_port_vclk-period16.67
set_input_delay-clockclk_port_vclk-max2[get_portsdatain]
set_input_delay-clockclk_port_vclk-min1[get_portsdatain]
- 在不修改時(shí)鐘特性的情況下針對(duì)I/O指定不同的jitter和latency
這個(gè)需求我們可以在Constraints Wizards中指定,簡(jiǎn)單又方便
image-20211206212729797
在設(shè)置完成后,可以看到Tcl Command Preview中提示的約束指令。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1664文章
22509瀏覽量
639582 -
虛擬時(shí)鐘
+關(guān)注
關(guān)注
0文章
5瀏覽量
6710
原文標(biāo)題:FPGA的虛擬時(shí)鐘如何使用?
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
eiQ Toolkit TFLite 轉(zhuǎn)換器失敗問題可能出在什么地方
Xilinx FPGA中的混合模式時(shí)鐘管理器MMCME2_ADV詳解
淺談FPGA的時(shí)鐘輸入要求
時(shí)鐘緩沖器與時(shí)鐘發(fā)生器各自優(yōu)勢(shì)介紹
Xilinx FPGA中IDELAYCTRL參考時(shí)鐘控制模塊的使用
系統(tǒng)從DeepSleep下喚醒時(shí)鐘默認(rèn)為原時(shí)鐘,如果原時(shí)鐘頻率特別高,是否有存在啟動(dòng)不穩(wěn)定問題?
防爆時(shí)鐘適用于制藥、石油、化工、油庫、鋼鐵、焦化、礦山等企業(yè)。安全防爆,抵抗惡劣環(huán)境
開源RISC-V處理器(蜂鳥E203)學(xué)習(xí)(二)修改FPGA綜合環(huán)境(移植到自己的Xilinx FPGA板卡)
基于FPGA的高效除法器設(shè)計(jì)
時(shí)鐘設(shè)計(jì)優(yōu)化實(shí)戰(zhàn)
配置了串口DMA,現(xiàn)在是接收可以,發(fā)送不行,是什么地方沒有設(shè)置對(duì)嗎?
超級(jí)法拉電容都用在什么地方
法拉超級(jí)電容用在什么地方
FPGA的虛擬時(shí)鐘用于什么地方?
評(píng)論