【 Vivado 】UCF到XDC之間的轉(zhuǎn)換
有時候會有這樣的需求,就是之前在ISE上的工程,現(xiàn)在需要用Vivado來操作,這樣其中的一部分工作就是將ISE上的時序約束文件UCF轉(zhuǎn)換為XDC文件。

如下圖1所示為UCF與SDC的約束命令比較,可以發(fā)現(xiàn)常用的命令都能對應(yīng)上。
(圖1)
下面簡單舉例說明:
Clock Period:
UCF :
NET "clka" TNM_NET = "clka";
TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns HIGH 50.00%;
XDC :
create_clock -name clka -period 13.330 -waveform {0 6.665} [get_ports clka]
Input Port:
UCF :
OFFSET = IN 8 BEFORE clka;
XDC :
set_input_delay -clock clka 2 [all_inputs]
注: clock period = 10 ns.
Output Port:
UCF :
OFFSET = OUT 12 AFTER clkc;
XDC :
set_output_delay -clock clkc 8 [all_outputs]
注:clock period = 20 ns.
除了以上約束命令的差別外,UCF和XDC間的主要差別如下:
1.??XDC是順序執(zhí)行約束,每個約束指令有優(yōu)先級
2.??UCF一般約束nets對象,而XDC約束類型是pins, ports和cells對象
3.??UCF約束默認(rèn)不對異步時鐘間路徑進(jìn)行時序分析,而XDC約束默認(rèn)所有時鐘是相關(guān)的,會分析所有路徑,可以通過設(shè)置時鐘組(set_clock_groups)取消時鐘間的相關(guān)性。
下面介紹一下在Vivado中添加XDC文件以及加入約束命令的方法:
首先在Project Manager中展開Constraints類,選擇Add Sources即可添加或者新建XDC約束文件,如下圖2所示。
(圖2)
選擇新建的XDC文件,雙擊打開,選擇左側(cè)的Templates,其中有XDC約束命令的實例,所有的約束命令都可以在其中找到,非常方便,如圖3、4所示。
(圖3)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (圖4)
XDC約束文件可以在編譯綜合和實現(xiàn)過程中使用時,在綜合和實現(xiàn)設(shè)置中都能選擇需要的約束,如圖5。通過創(chuàng)建約束文件集,如圖6,設(shè)計者可以使能不同的約束集合測試FPGA設(shè)計的性能;在約束文件集中可以包含多個XDC約束文件,在FPGA設(shè)計比較復(fù)雜時,可以分模塊或者IP核約束,相應(yīng)的則有多個XDC約束文件,這樣設(shè)計和維護(hù)效率都能得到提高。
(圖5)
(圖6)
單片機(jī)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。