最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

FPGA設(shè)計(jì)時(shí)序約束一、主時(shí)鐘與生成時(shí)鐘

2023-09-20 23:37 作者:行中悟_悟中行  | 我要投稿

一、主時(shí)鐘create_clock

1.1 定義

????主時(shí)鐘是來(lái)自FPGA芯片外部的時(shí)鐘,通過(guò)時(shí)鐘輸入端口或高速收發(fā)器GT的輸出引腳進(jìn)入FPGA內(nèi)部。對(duì)于賽靈思7系列的器件,主時(shí)鐘必須手動(dòng)定義到GT的輸出,對(duì)于Ultrascale和Ultrascale+系列的器件,定時(shí)器會(huì)自動(dòng)地接入到GT的輸出。

1.2 約束設(shè)置格式

????主時(shí)鐘約束使用命令create_clock進(jìn)行創(chuàng)建,進(jìn)入Timing Constraints窗口,clocks選擇Create Clock,單擊添加圖標(biāo)或雙擊Create Clock,進(jìn)入創(chuàng)建窗口

Create Clock窗口中,Clock name為時(shí)鐘約束命名,Source objects設(shè)置約束的對(duì)象類(lèi)型,可以是ports,nets,pin,Waveform設(shè)置波形的形狀,Period為波形周期,Rise at設(shè)置時(shí)鐘的上升沿位置,F(xiàn)all at設(shè)置時(shí)鐘的下降沿位置。command后面為根據(jù)上述的設(shè)置自動(dòng)生成對(duì)應(yīng)的約束命令。

1.3?Add this clock to the existing clock

Add this clock to the existing clock勾選后,對(duì)于如果某個(gè)對(duì)象已創(chuàng)建時(shí)序約束,再次創(chuàng)建時(shí)將不會(huì)將之前的約束覆蓋。

下面兩條約束create_clk1和create_clk2的約束對(duì)象source objects都是clk1,約束內(nèi)容不同,未勾選Add this clock to the existing clock時(shí),約束如下

查看時(shí)序分析結(jié)果,只有create_clk2的信號(hào),create_clk1已被覆蓋

勾選Add this clock to the existing clock

時(shí)序分析報(bào)告中,create_clk1和create_clk2都存在


1.4 示例

????以時(shí)鐘輸入端口為例,時(shí)鐘信號(hào)周期為10ns,占空比為50%,通過(guò)輸入緩沖器和全局時(shí)鐘緩沖器BUFG到達(dá)寄存器的時(shí)鐘輸入端口。

? 約束命令:?create_clock -period 10 [get_ports sysclk]

? ?來(lái)自高速收發(fā)器GT的時(shí)鐘rxclk,周期為3.33ns,50%的占空比,經(jīng)過(guò)時(shí)鐘管理單元MMCM,生成不同的分頻時(shí)鐘信號(hào),分頻時(shí)鐘信號(hào)再傳輸?shù)郊拇嫫鳌?

約束命令:create_clock -name rxclk -period 3.33 [get_pins gt0/RXOUTCLK]

1.5 差分信號(hào)

約束命令:create_clock -name sysclk -period 3.33 [get_ports SYS_CLK_clk_p]

????差分信號(hào)作為主時(shí)鐘輸入時(shí),以一個(gè)差分信號(hào)輸入到PLL的時(shí)鐘輸入端口CLKIN1為例,主時(shí)鐘必須約束到差分端口的輸入正極(sys_clk_clk_p)


二、生成時(shí)鐘generate_clock

2.1 定義

????????生成時(shí)鐘通常來(lái)源于設(shè)計(jì)內(nèi)部的時(shí)鐘管理單元,如MMCM,PLL等,生成時(shí)鐘是與主時(shí)鐘相關(guān),其來(lái)源來(lái)自主時(shí)鐘或其他生成時(shí)鐘。因此,需先定義主時(shí)鐘,再定義生成時(shí)鐘。優(yōu)點(diǎn)是主時(shí)鐘變化時(shí)會(huì)同步進(jìn)行變化。

生成時(shí)鐘與主時(shí)鐘關(guān)系可以是分頻,倍頻,非整數(shù)倍頻率,相移,占空比切換,以及上述關(guān)系的組合。

2.2 格式

在Timing Constraints中,左側(cè)選擇Create Generated Clock,

????在Create Generated Clock可以看到生成時(shí)鐘的相關(guān)參數(shù)設(shè)置

clock name: 設(shè)置生成時(shí)鐘的名稱(chēng)

Master pin(source):設(shè)置生成時(shí)鐘的來(lái)源,可以是IO ports或cells pin

Master clock:設(shè)置生成時(shí)鐘的源時(shí)鐘

Source objects:指定指定生成時(shí)鐘的實(shí)際對(duì)象,可以是I/O ports,cell pins或nets.

Do not override clocks already defined on the same Source object:勾選后,如果Source objects上有其他時(shí)鐘約束,將不會(huì)被覆蓋,不勾選,則覆蓋原先的約束信息

Derive from source clock waveform:設(shè)置生成時(shí)鐘波形與源時(shí)鐘的關(guān)系,有頻率相關(guān)和邊沿相關(guān)兩種方式,見(jiàn)2.2.1和2.2.2

2.2.1 by clock frequency

Multiply source clock frequency by:生成時(shí)鐘是源時(shí)鐘的倍頻關(guān)系,值大于或等于1

Divide source clock frequency by:生成時(shí)鐘是源時(shí)鐘的分頻關(guān)系,值大于或等于1

Duty cycle:設(shè)置生成時(shí)鐘的占空比

Invert the generated clock signal:勾選后對(duì)生成信號(hào)進(jìn)行倒置,即高低電平互換,0變1,1變0

下圖設(shè)置的命令為:create_generated_clock -name gen_clk -source [get_ports clk1] -multiply_by 2 -invert -master_clock [get_clocks create_clk1]

2.2.2 by clock edges

通過(guò)源時(shí)鐘的邊沿設(shè)置生成時(shí)鐘,以下圖為例。

對(duì)應(yīng)的命令為create_generated_clock -name gen_clk -source [get_pins clk_IBUF_BUFG_inst/O] -edges {1 3 4} -edge_shift {2.0 0.0 1.0} -add -master_clock [get_clocks? "*"] [get_pins {shiftr_reg[13]/C}]



含義解釋:-edge {1,3,4}即生成時(shí)鐘的第1個(gè)上升沿位置,第1個(gè)下降沿位置,第2個(gè)上升沿位置分別對(duì)應(yīng)源時(shí)鐘的第1,3,4個(gè)變化邊沿,-edge_shift的3個(gè)值為在源時(shí)鐘基礎(chǔ)上的偏移。假設(shè)源時(shí)鐘clk周期為10ns,占空比為50%,從0時(shí)刻開(kāi)始,統(tǒng)計(jì)了邊沿變化的數(shù)目,-edge {1,3,4}如中間波形所示,對(duì)應(yīng)了clk第1,3,4的邊沿;Generate clk即為各個(gè)邊沿的偏移值,分別是0+2,10+0,15+1,即為Generate clk的波形。

2.2.3 示例

a)二分頻的生成時(shí)鐘實(shí)現(xiàn)用寄存器實(shí)現(xiàn)

主時(shí)鐘周期為10ns,對(duì)應(yīng)的約束命令為

b)邊沿生成時(shí)鐘

時(shí)鐘邊沿設(shè)置生成時(shí)鐘,對(duì)應(yīng)命令為,由波形可看出生成時(shí)鐘的3個(gè)邊沿剛好對(duì)應(yīng)主時(shí)鐘的第1,3,5,因?yàn)闊o(wú)偏移,故不需要-edge_shift,

生成時(shí)鐘的波形clkdiv2如下圖所示

c)非整數(shù)倍頻生成時(shí)鐘

????通過(guò)同時(shí)設(shè)置倍頻和分頻可以設(shè)置非整數(shù)倍的生成時(shí)鐘頻率,如果需要生成一個(gè)4/3倍頻的生成時(shí)鐘,先用倍頻參數(shù)multiply_by 4,再用分頻參數(shù)divide_by 3。

2.2.4 自動(dòng)生成時(shí)鐘

????Vivado在某些場(chǎng)景下會(huì)根據(jù)已定義的主時(shí)鐘自動(dòng)產(chǎn)生生成時(shí)鐘,將生成時(shí)鐘約束到時(shí)鐘修正塊(CMB:clock modifying blocks)中,CMB可以是MMCM,PLL,BUFR等,在UltraScale器件中,還包括GT_COMMON/GT_CHANNEL/IBUFDS_GTE3,ISERDESE3,BITSLICE_CONTROL / RX*_BITSLICE。

????如果用戶在需自動(dòng)產(chǎn)生生成時(shí)鐘的網(wǎng)表對(duì)象中設(shè)置了約束,則不會(huì)產(chǎn)生生成時(shí)鐘。自動(dòng)產(chǎn)生的生成時(shí)鐘是以定義位置連接net的最頂層的部分名來(lái)命名。

????以下圖連接示例,主時(shí)鐘clkin驅(qū)動(dòng)MMCM實(shí)例化為clkip/mmcm0的CLKIN,自動(dòng)產(chǎn)生的生成時(shí)鐘名稱(chēng)為cpuclk,約束到clkip/mmcm0/CLKOUT


2.2.5?重命名生成時(shí)鐘

????對(duì)于自動(dòng)生成的生成時(shí)鐘,可以使用約束對(duì)其進(jìn)行重命名,命令格式如下

new_name:重命名的名稱(chēng)

source_object:為自動(dòng)生成時(shí)鐘的源對(duì)象

source/master_clock:在源對(duì)象source_object存在其他時(shí)鐘時(shí),必須加上該參數(shù),避免沖突或產(chǎn)生歧義

????并不是生成時(shí)鐘都可以重命名,自動(dòng)生成時(shí)鐘重命名于來(lái)源的pin,例如MMCM/PLL的輸出端口,不能重命名于BUFG的輸出端口,并且用戶定義的生成時(shí)鐘不能重命名。

FPGA設(shè)計(jì)時(shí)序約束一、主時(shí)鐘與生成時(shí)鐘的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
濮阳县| 光山县| 宁都县| 四平市| 神池县| 淳安县| 黄梅县| 郧西县| 虞城县| 沂水县| 祁门县| 柏乡县| 宜兰市| 安宁市| 高雄市| 望奎县| 精河县| 措勤县| 灵宝市| 江山市| 交城县| 镇巴县| 连江县| 云林县| 文水县| 上杭县| 金昌市| 光泽县| 大竹县| 新巴尔虎左旗| 渝北区| 肥西县| 漳平市| 云和县| 岐山县| 始兴县| 彩票| 淄博市| 稻城县| 郴州市| 阜城县|