生成時鐘包括自動生成時鐘(又稱為自動衍生時鐘)和用戶生成時鐘。自動生成時鐘通常由PLL或MMCM生成,也可以由具有分頻功能的時鐘緩沖器生成如7系列FPGA中的BUFR、UltraScale系列FPGA中的BUFGCE_DIV/BUFG_GT以及Versal中的MBUFG/BUFG_GT等。對于這類時鐘,Vivado會自動創(chuàng)建時鐘,并不需要用戶手工通過create_generated_clock創(chuàng)建。
案例1:單端時鐘
這是比較典型的場景,如下圖所示:時鐘由全局時鐘管腳進入經(jīng)IBUF驅(qū)動MMCM以及BUFG。此時只用在輸入時鐘管腳處(圖中紅色橢圓標(biāo)記)創(chuàng)建時鐘即可,MMCM生成時鐘如圖中端口CLKOUT0,Vivado會自動創(chuàng)建。注意主時鐘的位置在sysClk對應(yīng)的全局時鐘管腳處,不是MMCM的輸出端口,也不是BUFG的輸出端口。
案例2:差分時鐘
如下圖所示,差分時鐘轉(zhuǎn)單端驅(qū)動MMCM,這里主時鐘為clk_pin_p(圖中紅色方框所示),因此只用對該端口施加create_clock命令。
使用create_clock時,對于差分時鐘,施加對象為差分的P端而不是N端,同時只用對P端使用該命令,如下圖所示。
有了上述約束,工具就會自動推斷出MMCM生成時鐘,這可通過report_clocks命令查看并驗證,如下圖所示(需要打開綜合后的網(wǎng)表)。
案例3:7系列FPGA中高速收發(fā)器的TXOUTCLK/RXOUTCLK
如下圖所示,7系列FPGA中高速收發(fā)器的TXOUTCLK,輸出端口接BUFG。這時要在TXOUTCLK處施加命令create_clock,因此,要用get_pins而不是get_ports。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603315 -
緩沖器
+關(guān)注
關(guān)注
6文章
1922瀏覽量
45481 -
時鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131478 -
輸出端口
+關(guān)注
關(guān)注
0文章
24瀏覽量
10147
原文標(biāo)題:create_clock你用對了嗎?
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論