在進(jìn)行布局約束前,通常會(huì)對(duì)現(xiàn)有設(shè)計(jì)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)(Implementation)編譯。在完成第一次設(shè)計(jì)實(shí)現(xiàn)編譯后,工程設(shè)計(jì)通常會(huì)不斷更新迭代,此時(shí)對(duì)于設(shè)計(jì)中一些固定不變的邏輯,設(shè)計(jì)者希望它們的編譯結(jié)果能夠保持穩(wěn)定不變,使用增量式編譯是一種選擇,而使用布局約束是另一種更靈活的選擇。此時(shí)的布局約束,通常不會(huì)針對(duì)用戶邏輯部分,而是針對(duì)一些相對(duì)固定的片內(nèi)存儲(chǔ)器或乘法器,基于第一次編譯的結(jié)果進(jìn)行固定布局約束的設(shè)計(jì)重用,保證后續(xù)每次新的編譯不再改變其布局位置,從而達(dá)到獲得相對(duì)穩(wěn)定的編譯結(jié)果的目的。
這類基于設(shè)計(jì)重用的布局約束,簡(jiǎn)單易用,可以減少一定的編譯時(shí)間,也無(wú)需設(shè)計(jì)者對(duì)底層器件結(jié)構(gòu)非常了解。但也有其局限性,不適用于較大的設(shè)計(jì)變更,也不適合于固定太多的設(shè)計(jì)邏輯。因?yàn)檫@類設(shè)計(jì)重用,相當(dāng)于為前期設(shè)計(jì)鎖定了資源,使其占據(jù)了先發(fā)優(yōu)勢(shì),而對(duì)于隨后的設(shè)計(jì)變更,則因?yàn)闊o(wú)法分配到較優(yōu)的資源,可能引起時(shí)序違規(guī)。因此,在實(shí)際工程應(yīng)用中,此類固定布局約束需要謹(jǐn)慎使用。
點(diǎn)擊OpenImplemented Design,進(jìn)入Implemented頁(yè)面。
Implemented頁(yè)面下,如圖1所示,點(diǎn)擊菜單Layout->Floorplanning。
圖1Floorplanning菜單
接著,如圖2所示,點(diǎn)擊菜單Edit->Find。
圖2 Find菜單
如圖3所示,在彈出的Find對(duì)話框中,設(shè)置Find為Cells,Properties為PRIMITIVE_TYPEis BMEM。即查找設(shè)計(jì)中已經(jīng)布局的所有Block Memory(FPGA片內(nèi)塊RAM)。
圖3 Find對(duì)話框
此時(shí),如圖4所示,在FindResults列表中,出現(xiàn)了所有搜索到的設(shè)計(jì)中使用了BMEM的Cell。
圖4 FindResults列表
如圖5所示,選中所有搜索到的RAMB36E1,右鍵單擊,彈出菜單中點(diǎn)擊FixCells,將所有已布局的BMEM的位置固定,使其在下一次編譯時(shí)不被移動(dòng)。
圖5 FixCells菜單
如圖6所示,可以選擇FindResults中的任意一個(gè)Cell,查看其Cell Properties,其STATUS項(xiàng)都已被修改為了FIXED。
圖6查看BMEM屬性
如圖7所示,可以直接點(diǎn)擊保存按鈕,覆蓋到當(dāng)前的xdc文件中。
圖7SaveConstraints按鈕
如圖8所示,也可以點(diǎn)擊菜單File->Constraints->SaveAs創(chuàng)建新方案存儲(chǔ)約束腳本。
圖8SaveConstraints As菜單
如圖9所示,新的約束設(shè)置將會(huì)另存到新創(chuàng)建的約束方案constrs_2中。
圖9SaveConstraints As對(duì)話框
最后,如圖10所示,在Source面板中可以看到,新創(chuàng)建的約束方案constrs_2被高亮為active狀態(tài),同時(shí)打開其下的約束文件at7.xdc,set_property BEL或set_property LOC腳本即剛添加的布局約束。重新編譯后,約束將會(huì)生效。
圖10約束腳本文件
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618564 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167422 -
約束
+關(guān)注
關(guān)注
0文章
82瀏覽量
12971 -
編譯
+關(guān)注
關(guān)注
0文章
679瀏覽量
34002
原文標(biāo)題:物理約束實(shí)踐:基于設(shè)計(jì)重用的布局約束
文章出處:【微信號(hào):FPGA快樂學(xué)習(xí),微信公眾號(hào):FPGA快樂學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Xilinx FPGA管腳物理約束介紹
FPGA時(shí)序約束之衍生時(shí)鐘約束和時(shí)鐘分組約束
FPGA時(shí)序約束之建立時(shí)間和保持時(shí)間

FPGA物理約束之布線約束

FPGA時(shí)序約束的幾種方法
FPGA時(shí)序約束的幾種方法
物理約束之布局約束
【MiniStar FPGA開發(fā)板】配套視頻教程——Gowin進(jìn)行物理和時(shí)序約束
FPGA的約束設(shè)計(jì)和時(shí)序分析
FPGA設(shè)計(jì)約束技巧之XDC約束之I/O篇(下)

FPGA約束的詳細(xì)介紹
FPGA設(shè)計(jì)之時(shí)序約束

Xilinx FPGA的約束設(shè)置基礎(chǔ)

評(píng)論