亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

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

2023-06-12 18:14:34 來源:FPGA入門到精通

FPGA設(shè)計(jì)中,時(shí)序約束對(duì)于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束的主時(shí)鐘約束。

本文將重點(diǎn)講解衍生時(shí)鐘約束和時(shí)鐘分組約束設(shè)置,給出詳細(xì)的約束命令和示例介紹。


(相關(guān)資料圖)

一、衍生時(shí)鐘約束

衍生時(shí)鐘(Generated Clocks),也叫生成時(shí)鐘,是從FPGA的主時(shí)鐘信號(hào)派生出來的子時(shí)鐘信號(hào)。

這些子時(shí)鐘信號(hào)可以在FPGA內(nèi)部的不同區(qū)域使用,以滿足不同模塊的需求。通常是由MMCM或PLL或由組合邏輯生成的倍、分頻時(shí)鐘信號(hào)。

衍生時(shí)鐘與源時(shí)鐘的關(guān)系如下:

簡(jiǎn)單的頻率分頻簡(jiǎn)單的頻率倍頻頻率倍頻與分頻的組合,獲得一個(gè)非整數(shù)的比例相移或波形反相占空比改變上述所有關(guān)系的組合

衍生時(shí)鐘的約束,需要可以在時(shí)鐘樹中加入生成的時(shí)鐘,可以使用create_generated_clock命令來定義衍生時(shí)鐘的時(shí)鐘約束。其語法如下:

create_generated_clock -name < generated_clock_name > \\                       -source < master_clock_source_pin_or_port > \\                       -multiply_by < mult_factor > \\                       -divide_by
參數(shù)含義
-name時(shí)鐘名稱
-source源時(shí)鐘
-multiply_by相對(duì)于源時(shí)鐘的倍頻系數(shù)
-divide_by相對(duì)于源時(shí)鐘的分頻系數(shù)
pin_or_port物理節(jié)點(diǎn)

通過create_generated_clock命令,我們就可以非常靈活地定義衍生時(shí)鐘的時(shí)序約束,并將其與主時(shí)鐘相結(jié)合,保證電路的穩(wěn)定性和正確性。

創(chuàng)建時(shí)鐘示例:

create_clock -name clk_24m -period 10 [get_ports sys_clk]create_generated_clock -name clkdiv2 -source [get_ports clk_24m] -divide_by 2 \\ [get_pins REGA/Q]

衍生時(shí)鐘通常有兩種情況:“FPGA開發(fā)軟件自動(dòng)推導(dǎo)的衍生時(shí)鐘”和“用戶自定義的衍生時(shí)鐘”

對(duì)于FPGA開發(fā)軟件自動(dòng)推導(dǎo)出來的衍生時(shí)鐘,比如MMCM和PLL分頻輸出來的時(shí)鐘,可以不用寫入時(shí)序約束,只需要對(duì)輸入MMCM和PLL的主時(shí)鐘做時(shí)序約束即可。

用戶自定義的衍生時(shí)鐘,通常指的是用戶通過組合邏輯構(gòu)建的分頻時(shí)鐘,這就需要我們自己來寫衍生時(shí)鐘約束。

二、時(shí)鐘分組約束

FPGA電路中除了主時(shí)鐘以外,還有很多其他衍生時(shí)鐘,如DFF的時(shí)鐘、時(shí)鐘分頻器的時(shí)鐘等。

這些時(shí)鐘對(duì)于電路性能和可靠性非常重要。

所以需要將這些衍生時(shí)鐘和主時(shí)鐘分組,并定義它們之間的層次關(guān)系,以確保電路的穩(wěn)定運(yùn)行。

在Vivado中可以使用set_clock_groups命令來定義時(shí)鐘分組。其語法如下:

set_clock_groups -name < group_name >                  -group < group_type > < async_port_list > < sync_port_list\\ > [-logically\\_exclusive]
參數(shù)含義
-name時(shí)鐘分組命名
-group時(shí)鐘分組的類型
aysnc_port_list異步端口列表
sync_port_list同步端口列表
-logically_exclusive用于指定是否為邏輯獨(dú)立分組

1、兩個(gè)主時(shí)鐘是異步關(guān)系

create_clock -period 12 -name clk1 [get_ports clk1]create_clock -period 6 -name clk2 [get_ports clk2]set_clock_groups -asynchronous -group clk1 -group clk2

2、驗(yàn)證同一個(gè)時(shí)鐘端口下,不同時(shí)鐘頻率的時(shí)序是否收斂

create_clock -name clk1A -period 20.0 [get_ports clk1]create_clock -name clk1B -period 10.0 [get_ports clk1] -addcreate_clock -name clk1C -period 5.0  [get_ports clk1] -add create_clock -name clk2 -period 10.0 [get_ports clk2]set_clock_groups -physically_exclusive -group clk1A -group clk1B -group clk1Cset_clock_groups -asynchronous -group "clk1A clk1B clk1C" -group clk2

3、BUFGMUX

通過MMCM生成有兩個(gè)時(shí)鐘輸入BUFGMUX時(shí),只有一個(gè)時(shí)鐘會(huì)被使用,這時(shí)設(shè)置的時(shí)序約束為:

set_clock_groups -logically_exclusive \\-group [get_clocks -of [get_pins inst_mmcm/inst/mmcm_adv_inst/CLKOUT0]] \\-group [get_clocks -of [get_pins inst_mmcm/inst/mmcm_adv_inst/CLKOUT1]]

三、總結(jié)

本文詳細(xì)介紹了衍生時(shí)鐘約束和時(shí)鐘分組約束,這兩個(gè)是在時(shí)序約束中常見的寫法,大家在學(xué)習(xí)時(shí)序約束時(shí),可以對(duì)照著學(xué)習(xí)理解。

標(biāo)簽:

上一篇:FPGA時(shí)序約束之偽路徑和多周期路徑-天天頭條
下一篇:最后一頁(yè)