版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ISE約束文件的基本操作1約束文件的概念FPGA設(shè)計中的約束文件有3類:用戶設(shè)計文件(.UCF文件)、網(wǎng)表約束文件(.NCF文件)以及物理約束文件(.PCF文件),可以完成時序約束、管腳約束以及區(qū)域約束。3類約束文件的關(guān)系為:用戶在設(shè)計輸入階段編寫UCF文件,然后UCF文件和設(shè)計綜合后生成NCF文件,最后再經(jīng)過實現(xiàn)后生成PCF文件。本節(jié)主要介紹UCF文件的使用方法。UCF文件是ASC2碼文件,描述了邏輯設(shè)計的約束,可以用文本編輯器和Xilinx約束文件編輯器進(jìn)行編輯。NCF約束文件的語法和UCF文件相同,二者的區(qū)別在于:UCF文件由用戶輸入,NCF文件由綜合工具自動生成,當(dāng)二者發(fā)生沖突時,以U
2、CF文件為準(zhǔn),這是因為UCF的優(yōu)先級最高。PCF文件可以分為兩個部分:一部分是映射產(chǎn)生的物理約束,另一部分是用戶輸入的約束,同樣用戶約束輸入的優(yōu)先級最高。一般情況下,用戶約束都應(yīng)在UCF文件中完成,不建議直接修改NCF文件和PCF文件。2創(chuàng)建約束文件約束文件的后綴是.ucf,所以一般也被稱為UCF文件。創(chuàng)建約束文件有兩種方法,一種是通過新建方式,另一種則是利用過程管理器來完成。第一種方法:新建一個源文件,在代碼類型中選取ImplementationConstrainsFile,在FileName中輸入one2two_ucf”。單擊Next”按鍵進(jìn)入模塊選擇對話框,選擇模塊one2two,然后單
3、擊Next進(jìn)入下一頁,再單擊“Finish”按鍵完成約束文件的創(chuàng)建。第二種方法:在工程管理區(qū)中,將“Sourcefor”設(shè)置為“Synthesis/lmplementation”?!癈onstrainsEditor”是一個專用的約束文件編輯器,雙擊過程管理區(qū)中“UserConstrains”下的“CreateTimingConstrains”就可以打開“ConstrainsEditor,其界面如圖所示:圖啟動ConstrainsEditor引腳約束編輯在“Ports”選項卡中可以看到,所有的端口都已經(jīng)羅列出來了,如果要修改端口和FPGA管腳的對應(yīng)關(guān)系,只需要在每個端口的“Location”列中
4、填入管腳的編號即可。例如在UCF文件中描述管腳分配的語法為:NET“端口名稱”LOC=引腳編號;需要注意的是,UCF文件是大小敏感的,端口名稱必須和源代碼中的名字一致,且端口名字不能和關(guān)鍵字一樣。但是關(guān)鍵字NET是不區(qū)分大小寫的。3編輯約束文件在工程管理區(qū)中,將“Sourcefor”設(shè)置為“Synthesis/lmplementation”,然后雙擊過程管理區(qū)中“UserConstrains下的“EditConstraints(Text)就可以打開約束文件編輯器,如下圖所示,就會新建當(dāng)前工程的約束文件。圖用戶約束管理窗口UCF文件的語法說明1語法UCF文件的語法為:NET|INST|PINsi
5、gnal_nameAttribute;其中,signal_name是指所約束對象的名字,包含了對象所在層次的描述Attribute為約束的具體描述;語句必須以分號“;”結(jié)束??梢杂谩?”或“/*/”添加注釋。需要注意的是:UCF文件是大小寫敏感的,信號名必須和設(shè)計中保持大小寫一致,但約束的關(guān)鍵字可以是大寫、小寫甚至大小寫混合。例如:NETCLKLOC=P30;“CLK”就是所約束信號名,LOC=P30;是約束具體的含義,將CLK信號分配到FPGA的P30管腳上。對于所有的約束文件,使用與約束關(guān)鍵字或設(shè)計環(huán)境保留字相同的信號名會產(chǎn)生錯誤信息,除非將其用括起來,因此在輸入約束文件時,最好用將所有的
6、信號名括起來。2通配符在UCF文件中,通配符指的是“*”和“?”?!?”可以代表任何字符串以及空,“?”則代表一個字符。在編輯約束文件時,使用通配符可以快速選擇一組信號,當(dāng)然這些信號都要包含部分共有的字符串。例如:NET*CLK?FAST;將包含“CLK”字符并以一個字符結(jié)尾的所有信號,并提高了其速率。在位置約束中,可以在行號和列號中使用通配符。例如:INST/CLK_logic/*LOC=CLB_r*c7;把CLK_logic層次中所有的實例放在第7列的CLB中。3定義設(shè)計層次在UCF文件中,通過通配符*可以指定信號的設(shè)計層次。其語法規(guī)則為:*遍歷所有層次Levell/*遍歷levell及以
7、下層次中的模塊Level1/*/遍歷level1種的模塊,但不遍歷更低層的模塊例4-5根據(jù)圖4-75所示的結(jié)構(gòu),使用通配符遍歷表4-3所要求的各個模塊。圖層次模塊示意圖表要求遍歷的符號列表要求遍歷的符號相應(yīng)的約束語句所有符號INST*或INSTAl,B1/C1INSTj(INSTAlJA3INSTAlWINSTAlB22;C22:INST嚴(yán).管腳和區(qū)域約束語法LOC約束是FPGA設(shè)計中最基本的布局約束和綜合約束,能夠定義基本設(shè)計單元在FPGA芯片中的位置,可實現(xiàn)絕對定位、范圍定位以及區(qū)域定位。此外,LOC還能將一組基本單元約束在特定區(qū)域之中。LOC語句既可以書寫在約束文件中,也可以直接添加到設(shè)
8、計文件中。換句話說,ISE中的FPGA底層工具編輯器(FPGAEditor)、布局規(guī)劃器(Floorplanner)和引腳和區(qū)域約束編輯器的主要功能都可以通過LOC語句完成。LOC語句語法INSTinstance_nameLOC=location;其中“l(fā)ocation”可以是FPGA芯片中任一或多個合法位置。如果為多個定位,需要用逗號“,”隔開,如下所示:LOC=location1,location2,.,locationx;目前,還不支持將多個邏輯置于同一位置以及將多個邏輯至于多個位置上。需要說明的是,多位置約束并不是將設(shè)計定位到所有的位置上,而是在布局布線過程中,布局器任意挑選其中的一個
9、作為最終的布局位范圍定位的語法為:INST“instance_name”LOC=location:locationSOFT;常用的LOC定位語句如表4-4所列。表常用的LOC定位語句3C逶旬說明INSTd,instaiice_BaiMHL0C=P12;單葩翻將no管腳H2分目血例啟號IMST單定位語旬將翻豈于坐標(biāo)柵久列3的ULB申閑任嚴(yán)于SILCEINST丸instaimjtaine”LOC=SLICE,X3Y2-單定便翻疑燧箱萱于曲xy網(wǎng)1格中的(32J位輕上IHSTrtinst?aice-na砂bOOTBUF_RlC2.倉單定監(jiān)語句將辭至于1你2列位置的兩于TBUF中IHSTinstanc
10、EjiamjeLOC=MUU1SX13_XOY6;單咸銅貉乘法署遲輯置于罪法器xy碗中co.位豊上的MULTI3X32乘注將中INSTinstancejtauie”LOC=cfo_r4c5s1jcb_ii4c6將鈾喪脣萱于4行5列CLS和4疔6列的CLB中捷右端的SliM申INST於LJOOSUCE_X2Y10,SEICE_XJY10,事定位語旬將邏輯置于曲即網(wǎng)鎔中(2i10(1j迎他置曲購中INSTinstaiojaii計LDC=SLICE,兀3仍:SUCE_X520-宛團走恆語旬將邃輯至于4行4列CLB左上対的任一Sitae上INSTinstsiiciiauijeIjC1C=5UCE_X3
11、Y5SUCE_X50F菇國定位語句將逵輯至乎Sli砂網(wǎng)格中,3j51兩點斕箱皴的矩衲的任一Slice中使用LOC完成端口定義時,其語法如下:NETTop_Module_PORTLOC=Chip_Port;其中,“Top_Module_PORT”為用戶設(shè)計中頂層模塊的信號端口,“Chip_Port”為FPGA芯片的管腳名。LOC語句中是存在優(yōu)先級的,當(dāng)同時指定LOC端口和其端口連線時,對其連線約束的優(yōu)先級是最高的。例如,在圖4-76中,LOC=11的優(yōu)先級高于LOC=38。圖LOC優(yōu)先級示意圖2LOC屬性說明LOC語句通過加載不同的屬性可以約束管腳位置、CLB、Slice、TBUF、塊RAM、硬
12、核乘法器、全局時鐘、數(shù)字鎖相環(huán)(DLL)以及DCM模塊等資源,基本涵蓋了FPGA芯片中所有類型的資源。由此可見,LOC語句功能十分強大,表4-5列出了LOC的常用屬性。表LOC語句常用屬性列表m用瞎性示例瞎性含義10當(dāng)腳約束F12特告號萱于由石片引腳號運僮關(guān)口上A12將信號査于由忑片引騰降列號走位跡口上bpl,t,r將倍號定位到芯片特定邊畀中從物理位置上別分的上、下、左、右痢分)的端口上-1_B,RB,LI;町BR.TR,BITL將信號定位到芯片將定邊界上4半(從艇位置上劃綢Lt左、上右,下左、下右、左上、坐卞右上以盪右下g部分)位進(jìn)中瞬口上.BajahO.BanM.Bank2,BanKS.BflnkJ.BankS,Bank?特信號譽于特走肆分組中的端口上OLE?CLB_R4C3(ffr.S0orj)指定確運位置的CLB親實現(xiàn)遲輯CLB_RC3SQtorS3)拾罡確定位置的CL軸聲決釆實現(xiàn)邏韻SliceSUCE_K22Y3SSilalSlke坐標(biāo)莉總羽鑼癥包査的Slke采淇規(guī)卻TBUFTBUFC7(or.Oof.1)指危確定位琶的TBtJF來實現(xiàn)迸幗TBUF_X6Y7塊RAMRAMBR3d指定確走述置的咖山1來冥現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子競技產(chǎn)業(yè)賽事組織與運營策略設(shè)計
- 電影制作發(fā)行合同
- 農(nóng)業(yè)智能化生產(chǎn)技術(shù)開發(fā)協(xié)議
- 哪吒鬧海故事解讀與啟示
- 2025年安慶怎么考貨運從業(yè)資格證
- 2025年廊坊貨運考試
- 裝修工程用工合同
- 2025年內(nèi)江貨運從業(yè)資格模擬考
- 2025年西藏貨運從業(yè)資格考試模擬考試題庫及答案解析
- 2025年邯鄲貨運駕駛員從業(yè)資格證考試題庫答案
- 麻醉科主任述職報告
- PDCA降低護士針刺傷發(fā)生率
- 申請失業(yè)保險金承諾書
- 工程竣工資料整理工程資料服務(wù)合同
- 智能化手術(shù)室介紹strykerisuite課件
- 2023年非標(biāo)自動化工程師年度總結(jié)及來年計劃
- 2023-2024學(xué)年甘肅省嘉峪關(guān)市酒鋼三中高三上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 水利機械施工方案
- 懸挑式腳手架驗收記錄表
- 廣東省佛山市南海區(qū)大瀝鎮(zhèn)2023-2024學(xué)年九年級上學(xué)期期中物理試卷
- ESD內(nèi)部審核日程計劃表+內(nèi)審檢查表+內(nèi)審報告全套資料
評論
0/150
提交評論