早在2017年1月初,我們宣布Xilinx IP目錄中的所有IP使用xci和xcix格式的文件,這已經(jīng)不是什么新鮮事了,其實(shí)我們之前一直在說這是我們多年來的主要建議,這其中包括很多重要的原因,xci文件是一個(gè)xml格式的文件,它能夠搜集ip所有的配置信息,更重要的是包括Vivado指向的ip所生成的大量文件,比如上下文綜合、約束和模擬文件等。根據(jù)xci文件Vivado可以確定IP是否已經(jīng)“完全生成”或者缺少哪些文件。
許多客戶都更喜歡與ISE core生成器接近的生成模型,因?yàn)檫@樣會(huì)生成單個(gè)文件,將.dcp文件從生成目錄拷貝到Vivado工程目錄,作為源文件代替之前使用的.xci文件,我們嘗試支持這種模式,但是這種方法存在很多問題我們還無法解決,因此從某種意義上講,我們正遠(yuǎn)離這一點(diǎn),并試圖引導(dǎo)我們的客戶使用我們所推薦的流程。
為此從2017年1月開始,如果用戶向工程中添加.dcp文件,尤其是涉及Xilinx IP目錄中的模塊將會(huì)看到一個(gè)嚴(yán)重的警告,提示他們不推薦這樣做,這個(gè)流程將繼續(xù)像以前一樣持續(xù),并且保持2017年1月之前就存在的一些限制條件。

我們還修改了IP OOC綜合的工作方式,為了避免約束多余的應(yīng)用,在2017年1月初,OOC dcp文件將不再包含任何約束信息,如果你遵循我們的建議使用IP xci文件,那么之前的約束信息將能夠重新應(yīng)用于IP,通過將約束信息從dcp文件中移除,我們能夠確保不會(huì)有重復(fù)的信息。
我將用一分鐘時(shí)間向大家展示一個(gè)示例:
如果客戶在工程中使用了RTL代碼,并且開啟了OOC綜合或者使用“自下而上的綜合”,那么這個(gè)流程不會(huì)受到影響,并且仍然會(huì)像之前那樣正常工作,這些更改僅適用于Xilinx IP目錄內(nèi)的IP和用戶自定義封裝的IP模塊。
下圖展示了使用.xci文件和.dcp文件工作流程的差異,這有助于讓我們理解使用獨(dú)立的dcp格式的文件:

當(dāng)讀取xci文件時(shí),Vivado會(huì)讀取生成的dcp文件,跳過嵌入的約束信息,采用的是原始IP的約束文件,這是我們推薦的流程,可以確保應(yīng)用的約束信息符合IP設(shè)計(jì)者的想法。
另一方面,當(dāng)單獨(dú)讀取dcp文件時(shí),Vivado并不會(huì)涉及原始的IP約束文件,DCP文件會(huì)被解壓到一個(gè)臨時(shí)目錄,讀取網(wǎng)表信息并且應(yīng)用DCP文件中嵌入的約束信息,理解這個(gè)問題的根源在于原始ip xdc文件和嵌入到dcp中的xdc文件之間的差異,生成的DCP文件包括用于OOC綜合的約束信息,這是一個(gè)“關(guān)乎上下文的”綜合過程,需要合理的約束才能生成正確的網(wǎng)表,但是這些約束信息并不關(guān)心外部的設(shè)計(jì)。
還有一些問題用戶可能還沒有意識(shí)到,.xci文件指向的IP模塊還需要其他一些必需的文件,dcp文件中沒有嵌入關(guān)鍵的內(nèi)存初始化信息,比如elf和coe文件等,當(dāng)我們使用dcp文件時(shí),工具無法訪問層次信息,這有助于我們確定是否存在控制MIG校準(zhǔn)的嵌入式MicroBlaze處理器,所以DDR的MIG流程使用獨(dú)立的dcps文件無法正確工作時(shí),我們需要引入xci文件。
除此之外,使用.dcp進(jìn)行的模擬操作發(fā)生在結(jié)構(gòu)化后綜合的網(wǎng)表文件中,這與行為描述的RTL文件(由.xci文件指向和傳遞)相比速度會(huì)非常的慢,大約會(huì)慢100倍。
其他通常會(huì)發(fā)生的問題是丟失.xci文件——它包含有IP的配置信息,IP不能通過dcp文件重新生成——因此用戶必須保持對(duì).xci文件的跟蹤,在早期IP的支持中,Vivado會(huì)大量的文件,我們非常努力的減少這些文件的數(shù)量,現(xiàn)在的文件數(shù)量相比2014年減少了2/3,因此用戶檢查所有生成文件的版本控制會(huì)比之前容易的多,至少用戶可以使用.xci文件來重新生成IP或者檢查所有生成的文件從而減少編譯時(shí)間。
這些問題可以通過使用.xci或者.xcix文件來避免,這是我們測試和支持的—我們沒有測試獨(dú)立的dcps文件。
現(xiàn)在的情況比之前少了很多,與幾年前相比,用戶看到的文件數(shù)量和大小都減少了很多,這是對(duì)使用.xci和.dcp腳本進(jìn)行的單行更改,用戶仍然可以完全控制使用.xci的生成過程,因此不應(yīng)該有太多的阻力就可以轉(zhuǎn)移到這個(gè)流程。
.xcix文件會(huì)提供一個(gè)文件,可以用來進(jìn)行版本控制,它保留了我們建議流程的優(yōu)勢。

下面是一些幫助用戶了解我們設(shè)計(jì)流程建議的資源,通常人們想要使用dcp文件的原因可以歸結(jié)于版本控制方法,我們創(chuàng)建了快速入門視頻、教程和示例來幫助用戶理解我們的建議,你可以參考用戶指南:? 版本控制快速入門視頻:https://www.xilinx.com/video/hardware/vivado-design-suite-revision-contr...? 版本控制設(shè)計(jì)示例和腳本:https://github.com/xilinx/revCtrl? 版本控制教程用戶指南(最后更新2016.3):https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_3/ug1...? 使用IP設(shè)計(jì)用戶指南:https://www.xilinx.com/support/documentation/sw_manuals/xilinx20171/ug89...
我們還想說的是我們的IP用戶設(shè)計(jì)指南中關(guān)于.xci文件的使用建議已經(jīng)非常清晰了,很長一段時(shí)間使用dcp文件都會(huì)有局限性,這對(duì)用戶來說應(yīng)該并不奇怪,我們理解有時(shí)用戶無法在短時(shí)間內(nèi)跟上用戶指南中大量的建議,這也是我們引入警告信息的原因,并且能夠提示用戶使用.xci文件的重要性。

遵循Xilinx的建議非常的重要,可以充分利用我們最新技術(shù)帶來的便利,dcp文件的設(shè)計(jì)目的并不是為了完全符合IP復(fù)雜的設(shè)計(jì)流程,它實(shí)際上是網(wǎng)表/約束/路由設(shè)計(jì)信息的數(shù)據(jù)庫,為了能夠正確使用IP,你應(yīng)該使用專為此而設(shè)計(jì)的.xci或.xcix文件。
作者簡介
Greg Daughtry是一名產(chǎn)品營銷總監(jiān),他的團(tuán)隊(duì)負(fù)責(zé)Vivado的核心基礎(chǔ)架構(gòu):IDE、工程、Tcl腳本、部分可重配置、布局實(shí)現(xiàn)算法、邏輯優(yōu)化、路由和所有相關(guān)分析功能,Greg擁有北卡羅萊納州立大學(xué)計(jì)算機(jī)工程碩士學(xué)位,擁有25年的電子行業(yè)經(jīng)驗(yàn),曾主導(dǎo)過全定制化的ASIC器件設(shè)計(jì)、大容量母板設(shè)計(jì)、軟件開發(fā)、應(yīng)用工程和技術(shù)銷售等業(yè)務(wù),在Intel、多家初創(chuàng)公司中任過職,Greg已經(jīng)在Xilinx工作了10年,專注于新一代開發(fā)工具和方法的研發(fā),從而提高Xilinx用戶的生產(chǎn)力和生產(chǎn)效率。
-
FPGA
+關(guān)注
關(guān)注
1646文章
22054瀏覽量
618814 -
Xilinx
+關(guān)注
關(guān)注
73文章
2185瀏覽量
125442
原文標(biāo)題:【技術(shù)支持】:使用“獨(dú)立的”.dcp文件代替.xci文件
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
一個(gè)單音信號(hào)分2路由FPGA輸入到DAC,然后在頻譜儀上面看為何頻譜不對(duì)呢?請問為何
Vivado生成的XDC約束的嚴(yán)重警告
實(shí)施過程中的嚴(yán)重警告
為何multisim中測量的值嚴(yán)重錯(cuò)誤,而不燒毀?(我曾經(jīng)看到別人multisim電路LED燒毀)
什么表明下面粘貼的嚴(yán)重警告
來自FIFO的嚴(yán)重警告怎么解決?
華清遠(yuǎn)見FPGA代碼-在Xilinx的FPGA開發(fā)板上運(yùn)行第一個(gè)
EDA實(shí)驗(yàn)之在FPGA上設(shè)計(jì)一個(gè)DDS模塊

FPGA經(jīng)常有哪些常見警告應(yīng)該如何解決

為何要學(xué)習(xí)FPGA 四個(gè)理由告訴你
四個(gè)理由告訴你,為何要學(xué)習(xí)FPGA
四個(gè)理由告訴你,為何要學(xué)習(xí)FPGA
創(chuàng)建一個(gè)能夠警告接近障礙物的系統(tǒng)

評(píng)論