提到位置約束,我們會(huì)想到手工布局的方式,即畫Pblock,將指定模塊放入相應(yīng)Pblock內(nèi),這既是面積約束又是位置約束,但顯然這種約束是較為具體的位置約束。這種方式需要工程師有一定的經(jīng)驗(yàn),有時(shí)還需要借鑒參考Vivado之前的布局結(jié)果,換言之,我們確定的Pblock位置未必是工具認(rèn)為的最佳位置。對于特定的底層單元,例如RAMB36K或DSP48,可通過屬性LOC指定其具體位置(site的位置),顯然這也是非常具體的位置約束。那么是否可以做模糊的位置約束?即希望指定的模塊彼此靠得近一些,或一些底層單元在指定區(qū)域(無需指定具體site的位置)。答案是肯定的。這里我們就介紹幾個(gè)屬性。
CLOCK_REGION 屬性CLOCK_REGION可用于指定時(shí)鐘緩沖器如BUFG的位置,不同于屬性LOC,/CLOCK_REGION僅確定指定時(shí)鐘緩沖器位于哪個(gè)時(shí)鐘區(qū)域,這個(gè)區(qū)域內(nèi)會(huì)有多個(gè)時(shí)鐘緩沖區(qū)可供選擇。CLOCK_REGION可以在XDC中使用,方法如下:
在大多數(shù)情況下,時(shí)鐘緩沖器由全局時(shí)鐘管腳、MMCM/PLL或GT*_CHANNELs驅(qū)動(dòng),這種情況下,Vivado會(huì)自動(dòng)確定時(shí)鐘緩沖器的位置,無需人工干預(yù)。 CLOCK_LOW_FANOUT 如果某個(gè)時(shí)鐘所驅(qū)動(dòng)的負(fù)載較小(時(shí)鐘扇出較低),那么可以對時(shí)鐘緩沖器輸出端所連接的網(wǎng)線施加屬性CLOCK_LOW_FANOUT,并將其值設(shè)置為TRUE,這樣工具將嘗試將這些負(fù)載放置在一個(gè)時(shí)鐘區(qū)域內(nèi),但用戶無需指定到底是哪個(gè)時(shí)鐘區(qū)域。具體使用方法如下:
這里需要注意:這個(gè)屬性的施加對象是網(wǎng)線net,這個(gè)net應(yīng)是時(shí)鐘緩沖器輸出端所連接的net。此外,如果這些負(fù)載無法放置在一個(gè)時(shí)鐘區(qū)域內(nèi)(資源不夠),那么工具將會(huì)忽略此約束。
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:Vivado里如何使用模糊性的位置約束?
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
相關(guān)推薦
時(shí)序約束的目的就是告訴工具當(dāng)前的時(shí)序狀態(tài),以讓工具盡量優(yōu)化時(shí)序并給出詳細(xì)的分析報(bào)告。一般在行為仿真后、綜合前即創(chuàng)建基本的時(shí)序約束。Vivado使用SDC基礎(chǔ)上的XDC腳本以文本形式約束
發(fā)表于 03-11 14:39
?9595次閱讀
(約束指令介紹)UG904 - Vivado Design Suite User Guide -Implementation UG906- Vivado Design Suite User Guide
發(fā)表于 09-26 15:35
出于某種原因,Vivado忽略了我的約束文件,當(dāng)我嘗試在tcl控制臺(tái)中逐個(gè)輸入約束時(shí),我嘗試分配的每個(gè)端口都會(huì)出現(xiàn)以下錯(cuò)誤:set_property PACKAGE_PIN T19
發(fā)表于 11-06 11:36
使用xdc文件進(jìn)行管腳、位置、時(shí)序和屬性等約束的時(shí)候,經(jīng)常會(huì)使用各種get命令。Vivado提供了很豐富的匹配表達(dá)式,比如等于==、不等于!=、匹配=~、不匹配!~、《、》、《=、》=等等,這些
發(fā)表于 01-26 07:03
最近有些朋友在ISE中做的V7項(xiàng)目需要切換到vivado來,但導(dǎo)入代碼后,導(dǎo)入約束時(shí),發(fā)現(xiàn)vivado不再支持UCF文件,如果手抄UCF約束到 VI
發(fā)表于 03-24 13:54
?8805次閱讀
上面我們講的都是xdc文件的方式進(jìn)行時(shí)序約束,Vivado中還提供了兩種圖形界面的方式,幫我們進(jìn)行時(shí)序約束:時(shí)序約束編輯器(Edit Timing Constraints )和時(shí)序
發(fā)表于 03-08 17:17
?2w次閱讀
Vivado IDE約束管理器將任何已編輯的約束保存回XDC文件中的原始位置,但不會(huì)保存在Tcl腳本中。 任何新約束都保存在標(biāo)記為目標(biāo)的XD
發(fā)表于 11-13 10:53
?4056次閱讀
很對人在使用Vivado時(shí)喜歡使用多個(gè)約束文件對整個(gè)工程進(jìn)行約束,同時(shí)Vivado允許設(shè)計(jì)者使用一個(gè)或多個(gè)約束文件。雖然使用一個(gè)
發(fā)表于 10-13 16:56
?6795次閱讀
Vivado下set_multicycle_path的使用說明 vivado下多周期路徑約束(set_multicycle_path)的使用,set_multicycle_path一般...
發(fā)表于 12-20 19:12
?1次下載
XDC約束可以用一個(gè)或多個(gè)XDC文件,也可以用Tcl腳本實(shí)現(xiàn);XDC文件或Tcl腳本都要加入到工程的某個(gè)約束集(set)中;雖然一個(gè)約束集可以同時(shí)添加兩種類型約束,但是Tcl腳本不受
發(fā)表于 06-30 11:27
?3621次閱讀
今天介紹一下,如何在Vivado中添加時(shí)序約束,Vivado添加約束的方法有3種:xdc文件、時(shí)序約束向?qū)В–onstraints Wiza
發(fā)表于 06-26 15:21
?3612次閱讀
Vivado綜合默認(rèn)是timing driven模式,除了IO管腳等物理約束,建議添加必要的時(shí)序約束,有利于綜合邏輯的優(yōu)化,同時(shí)綜合后的design里面可以評估時(shí)序。
發(fā)表于 07-03 09:03
?634次閱讀
幫到不經(jīng)??慈合⒌男』锇?,另一方面也算是我們的技術(shù)積累。 Q:Vivado的Implementation階段約束報(bào)警告? ? [Vivado?12-627]?No?clocks?matched
發(fā)表于 08-08 14:10
?1152次閱讀
電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:使用約束.pdf》資料免費(fèi)下載
發(fā)表于 09-13 15:48
?2次下載
有時(shí)我們對時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序約束
發(fā)表于 10-24 15:08
?75次閱讀
評論