FPGA 時序約束 二 :創建時鐘和時鐘不相關約束

創建時鐘是針對代碼中主時鐘而言,創建時鐘之前需要知道代碼中的主時鐘都是什麼,可以在綜合以後,打開綜合,然後在TCL 中輸入命令:

report_clock_networks –name mynetwork  

確定了主時鐘,就可以對其創建時鐘週期約束:

情形1:主時鐘之間有明確的相位關係

-waveform不僅確定了時鐘的佔空比,也確定了時鐘之間的相位關係。

(1)clka頻率爲200Mhz,等佔空比。(初始化爲1,waveform不是從0開始)

(2)clkb頻率爲100Mhz,佔空比爲40:60。

(3)clkc頻率爲200Mhz,等佔空比,時鐘抖動爲120ps。

下面這些指令,可以在tools --- language templates  ---- XDC   裏面對應查找


create_clock -name <clock_name> -period <period> [get_ports <clock port>]

create_clock -period 8 -name i_x1_sys_clkp0  [get_ports i_x1_sys_clkp0]


          
           

 

情形2:主時鐘之間爲異步關係

主時鐘之間如果是異步關係,則需要通過set_clock_groups命令明確指定。

set_clock_groups -asynchronous -group <clock_name_1> -group <clock_name_2>

如果兩個主時鐘還通過MMCM或PLL生成了其他時鐘,若這兩個主時鐘爲異步關係,則它們的生成時鐘也爲異步關係。

set_clock_groups -asynchronous -group <clock_name_1> -group <clock_name_2>

創建兩個時鐘不相關

set_clock_groups -asynchronous -group i_x1_sys_clkp0 -group i_x4_sys_clkp0 

創建兩個時鐘不相關,其生產時鐘也不相關

set_clock_groups -asynchronous -group [get_clocks  i_x1_sys_clkp0 -include_generated_clocks] -group  [get_clocks i_x4_sys_clkp0 -include_generated_clocks] 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章