Vivado使用入門(mén)之四:時(shí)序約束操作大全
一、概覽

二、創(chuàng)建約束
????Vivado的時(shí)序約束是保存在xdc文件中,添加或創(chuàng)建設(shè)計(jì)的工程源文件后,需要?jiǎng)?chuàng)建xdc文件設(shè)置時(shí)序約束。時(shí)序約束文件可以直接創(chuàng)建或添加已存在的約束文件,創(chuàng)建約束文件有兩種方式:Constraints Wizard和Edit Timing Constraints,在綜合后或?qū)崿F(xiàn)后都可以進(jìn)行創(chuàng)建。
????2.1 Constraints Wizard
????Constraints Wizard流程下將會(huì)以引導(dǎo)式的方式幫助用戶設(shè)置約束,以綜合后的設(shè)置為例,在Flow Navigator窗口中,進(jìn)入Synthesis->Open Synthesized->Constraints Wizard

點(diǎn)擊Constraints Wizard,彈出彈框提示無(wú)約束文件,選擇Define Target

選擇Create File創(chuàng)建約束文件

File name設(shè)置約束文件名字,F(xiàn)ile location設(shè)置約束文件保存路徑,默認(rèn)即可

勾選Target下的方框后,右下角的OK 高亮,點(diǎn)擊OK。

在Source窗口中查看創(chuàng)建的約束文件,包含了timing_set.xdc文件,說(shuō)明創(chuàng)建成功

?2.2?Edit Timing Constraints
??????Edit Timing Constraints和Constraints Wizard處于相同的標(biāo)題下

點(diǎn)擊Edit Timing Constraints,進(jìn)入設(shè)置界面,左側(cè)中顯示可設(shè)置的約束類型,默認(rèn)是選擇Create Clock,點(diǎn)擊紅框中的“+”號(hào),進(jìn)入添加界面

輸入Clock name,設(shè)置Source object和時(shí)鐘周期相關(guān)值,點(diǎn)擊OK,

點(diǎn)擊保存圖標(biāo)后按ctrl+s,彈出保存框,點(diǎn)擊OK

設(shè)置保存的約束文件名后,點(diǎn)擊OK

在All Constraints中將出現(xiàn)剛剛設(shè)置的約束

2.3 Constraints目錄下創(chuàng)建
????Source窗口下進(jìn)入Constraints中,鼠標(biāo)點(diǎn)擊右鍵彈出彈窗,進(jìn)入Add sources中可以創(chuàng)建或添加約束文件

點(diǎn)擊Next

選擇Create File

輸入約束文件名,點(diǎn)擊OK保存成功

2.4?Sources窗口“+”創(chuàng)建
????在Source窗口下,有一個(gè)“+”圖標(biāo),點(diǎn)擊該圖標(biāo)

進(jìn)入Add Sources窗口,剩余操作和2.3 Constraints目錄下創(chuàng)建相同

2.5? 菜單欄File中創(chuàng)建?????
在菜單欄File中的列表中,選擇“Add Sources”

進(jìn)入Add Sources界面

????選擇Create File,后續(xù)的操作和2.3節(jié)相同

三、設(shè)置約束
3.1 約束類型
????vivado支持的約束有5大類,具體見(jiàn)下圖

在timing constraints中顯示了可設(shè)置的約束,左側(cè)點(diǎn)擊要設(shè)置的約束類型,右側(cè)序號(hào)2位置處自動(dòng)顯示該類約束,此時(shí)再點(diǎn)擊3,自動(dòng)進(jìn)入創(chuàng)建約束的窗口中。

進(jìn)入set system jitter窗口

3.2 約束命令
各種約束的使用格式可參見(jiàn)Language Templates,在Language templates的模板templates中,XDC中Timing Constraints選擇需要設(shè)置的約束,右側(cè)Preview自動(dòng)顯示約束的格式
