ISE使用,Xilinx学习
———版權聲明———–
本文作者 Ricky Su
www.fpganotes.com
rickysu.fpga@gmail.com歡迎轉載,轉載請保持原樣及署名
商業使用須得到本人授權
———版權聲明———–
轉載源http://www.cnblogs.com/sangreal/archive/2011/07/14/2105906.html
俗話說,好的開始是成功的一半。在這個信息爆炸的時代,好的資料就是成功學習的一半。時常看到有人在論壇上跪求資料,也有人在論壇上灌水換積分排隊下資料。如果這篇文章能幫助大家花更少的時間找到更有價值的資料,那么我花時間維護這篇文章也就值了。好,廢話不多說,我們言歸正傳。寫這篇文章主要想介紹Xilinx各種資料的找法、分類方法和什么問題該看哪些資料。限于經驗,難免有錯漏,希望大家指出錯誤并繼續補充。
用Xilinx的軟件做FPGA開發,主要涉及到得軟件是Xilinx自家的ISE, EDK, ChipScope Pro, System Generator, PlanAhead 和第三方的ModelSim和Synplify。ISE是主要的邏輯設計軟件,其他軟件的具體實現功能都依附于ISE。ISE有Foundation版和WebPack版。WebPack版免費,Foundation版收費。兩者的區別是支持的器件不同。功能是相同的。WebPack版支持的功能可以看這里:
http://www.xilinx.com/ise/products/webpack_config.htm。
Foundation當然支持所有功能,功能列表可以在這里找到:
http://www.xilinx.com/ise/logic_design_prod/foundation.htm說這些的目的是,如果開發所使用的器件是WebPack版支持的,那么就從網上下載免費版就好了,不用費勁心機地找Fondation版卻用不到他支持的功能。ChipScope Pro 是片內的邏輯分析儀。可以讓用戶方便地抓取片內信號進行debug。ChipScope支持的Trig方式非常多樣,用熟悉了以后幾乎是想要觀察什么內部信號都可以觀察到,即使他有BRAM深度的限制。
www.xilinx.com/chipscopePlanAhead工具自從ISE7時代被開發出來并發展了這么多年之后,已經成為了提高設計效率和提高產品性能的有力工具。
它可以幫我們在布局布線之前做好管腳定位和DRC檢查、規劃區域約束、查看綜合網表,并且可以跑多次實現,找出最佳的布局并分析時序。
www.xilinx.com/planaheadEDK - Embedded Development Kit,顧名思義就是用來做嵌入式系統的。
EDK提供對PowerPC硬核和MicroBlaze軟核的支持,免費提供一些常用的硬件IP Core,比如各種Memory Controller、各種外設如IIC, SPI, GPIO,并集成了GNU工具鏈,使之成為軟硬件設計一體化的設計工具。設計出的嵌入式系統集標準性與靈活性于一身,可以支持Linux等操作系統,也可讓用戶自己設計用戶IP用作模塊接口或硬件加速。
www.xilinx.com/edkSystem Generator 借助 Matlab Simulink 的框架使DSP算法用圖形化的數據流來說明,在Sysgen的幫助下DSP算法可以輕易在FPGA上實現。特別是它的Hardware Co-simulation功能大大降低了Debug的難度。
www.xilinx.com/sysgenISE 產品現在被包裝為 ISE Design Suite 發布。Suite 分為 Logic Edition, Embedded Edtion 和 DSP Edition。每個套裝都包含了必要的設計和調試工具。任何套裝都可以從網站上下載30天免費評估版。
http://www.xilinx.com/ise_eval/index.htm除了Xilinx的軟件,我們通常還會用到一些第三方的軟件,比如Synopsys (曾經Synplicity) 的 Synplify 綜合工具,Mentor Graphic 的 ModelSim 工具等。Synplify 可以替代 ISE 自帶的 XST。他的優勢是編譯速度快,編譯產生的網表質量可能更高(面積小,頻率高);缺點是1.貴 2.對新器件的支持比原廠慢一拍。ModelSim 是一款常用的仿真工具。其他和ISE搭配使用的仿真工具有Cadence的NC-Sim和Synopsys的VCS。ModelSim根據價格高低和支持功能的多少分為SE, PE, XE 等版本。其中XE是Xilinx Edition的意思,也就是Xilinx定制版。ModelSim MX有免費的starter version,也有付費取得License的版本。ModelSim XE 可以和ISE WebPack 一起下載,安裝以后在開始里面點licens_e request就可以申請starter的使用權了。另外,可以VHDL和Verilog各申請一個,那么就可以仿真兩種語言了,不過不支持mix language。
http://www.xilinx.com/ise/verification/mxe_details.html
不過那一頁說的ModelSim XE的use case不準,XE,PE,SE的差別還是仔細看這里吧。
http://www.xilinx.com/support/answers/24506.htmModelSim XE自帶有Xilinx的仿真庫。如果ISE軟件升級,可以從Download Center下載更新的仿真庫。如果使用ModelSim PE/SE,那么就需要使用compxlib工具編譯仿真庫。2. 軟件版本和軟件更新Xilinx的軟件工具更新很頻繁。自從IDS10以后,基本是三個月出一次升級包 (Service Pack),一年出一個新版本 (Major Version)。如此高的升級速度,一方面是為了更上新器件的支持要求,一方面是為了修補前期版本的bug。那么我們是否需要以最快的速度更上更新的速度呢? 我的建議通常是:正在進行中的項目,如果不是需要新功能或繞過某些已經存在的Bug,那么就不要盲目升級大版本,但是一定要勤快地升級到最新的升級包。新設計盡量用新版本的最穩定版本。比如現在最近版本是11的時候,還是不要急于追新,用最穩定的10.1.03來做開發。對于操作系統,建議也是類似的:習慣使用Windows的用戶還是用Windows XP SP2,最好還是英文版公司最好能有一臺大內存64位服務器跑RHEL Linux,提供多用戶使用,也更適合跑大器件(操作系統支持參考http://www.xilinx.com/ise/ossupport/index.htm)所有以上的建議,目的歸根到底可以總結為:以最大努力保證設計平臺的穩定(Windows XP 用的人最多;Linux的內存管理比Windows好,64位系統上的軟件業更成熟)避免陷入已知的Bug中浪費時間減小遇到未知的Bug的可能性在產品開發過程中,設計軟件總是穩定比功能多來得重要,操作系統總是穩定比好看來得重要。Xilinx所有的軟件下載都可以在Download Center找到(www.xilinx.com/download) 。其內容包括:IDS的完整版下載IDS更新包的下載CAE Vendor Library 就是第三方工具需要使用到的庫文件,比如Cadence/Synopsys的綜合工具、形式驗證工具等。ModelSim XE 版本的仿真庫更新 (記得我們上面說過ModelSim XE不需要自己編譯仿真庫嗎?)Device Models 可以下載用于第三方仿真工具(HSpice, HyperLinks等)所需要使用的 IBIS、HSpice、BSDL模型等。過往版本的ISE WebPack,可以到ISE Classic頁面下載,但是不再提供付費軟件的Evaluation。
http://www.xilinx.com/tools/classics.htm過往版本的最終Update,也可以在Download Center找到,但是中間版本需要在以下這些Answer Record中查找:
http://www.xilinx.com/support/answers/10959.htm
http://www.xilinx.com/support/answers/31741.htm3. 軟件教程作為入門教程來說,Xilinx的Free Course視頻教程應該是最合適的了。訪問
http://www.xilinx.com/support/training/free-courses.htm 可以找到關于Architecture, Software tools, HDL Coding technique等各方面的視頻教程,內容豐富,且原汁原味,屬于自我學習最好的參考資料。放在Demosondemond網站上的那些視頻教程的鏈接現在在主頁上找不到了,但是可以從下面的鏈接進入:
http://www.demosondemand.com/clients/xilinx/001/page/index.asp
里面的視頻教程內容有關于最新的硬件的,也有各種軟件的,也算齊全,只不過不再有新內容更新了。
最近要查看demosondemand網站的錄像需要注冊了,dod的注冊比較嚴格,注冊需要公司郵件地址或者學校帶edu的郵件地址。視頻資料還有一類,就是WebCast(網上研討會錄像)。WebCast不是Tutorial,它最主要不是說明工具怎么用,解釋FPGA的具體結構等,而是根據當前的熱門問題告訴大家你可以嘗試哪些Solution來解決設計問題。看了WebCast后可以知道我可以再繼續讀哪方面資料來了解更詳細的情況。
Xilinx網站上登錄的過往的WebCast:http://www.xilinx.com/events/webcasts_od.htm
以前在TechOnline上搞過的WebCast:http://www.techonline.com/electronics_directory/webinar/896最新的WebCast都是可以與演講者實時互動的。就像我在這篇文章中提到的,曾經WebCast只在美國開設,時區跟我們有差異,中國用戶很難參與到互動環節,但是中國的WebCast也逐漸多起來了。最新的中文研討會信息,可以查詢
http://china.xilinx.com/china/company/ch_events.htm。
參加研討會不僅有機會抽獎得到小禮品,活躍互動者更有可能得到比較豐厚的禮品(看著IPOD就口水~~)。接下來應該看的是Tutorial。
http://www.xilinx.com/support/techsup/tutorials/
主要是ISE, EDK, PlanAhead的,還有Timing Constraint的。ISE做了Tutorial基本操作應該沒問題了。
ChipScope比較簡單看了Demosondemond的視頻教程應該就會了。還不清楚的話看看安裝目錄里的UG029。
PlanAhead雖然比ChipScope復雜,但是視頻教程還是很不錯的,再加上Tutorial,應該也夠了。
時序約束的那篇文檔算是講得比較全的,還有可以深入閱讀的一篇文檔就是wp237,關于offset約束的。更進階地了解ISE,需要閱讀ISE的Manual。
打開Manual可以從開始菜單中ISE→Documentation→Software Manuals;
也可以在開始菜單中的ISE –> Documentation中找到。列出幾個重要的Manual:XST User Guide (xst.pdf):關于XST的開關選項等Command Tool and Development System Reference Guide (dev.pdf) :除了XST外的實現工具比如map, par, trce等的實用指南Constraint Guide (cgd.pdf) :約束的指南。包括時序約束/非時序約束;UCF約束/XCF約束。Synthesis and Simulation Guide (sim.pdf):其實主要是說明仿真的具體內容。Library Guide:針對每個器件不同的primitive例化模板和說明。ModelSim官方網站有些Flash的演示也很不錯
http://www.model.com/resources/resources_demos.asp
安裝目錄下的User Guide如果能跟著做一遍,基本使用已經沒有問題。關于HDL的寫法,除了XST User Guide中說明的支持的HDL語句,wp231也很實用。關于EDK,最好的起步教程是EDK Concepts, Tools, and Techniques,可以在EDK Documents頁面找到。這是一份既有講解又有實戰的Hands-on Guide。跟著他做一遍,EDK的大概功能心中就能有個數了。EDK最重要的幾篇文檔也在安裝目錄的doc目錄下。像ISE一般羅列幾份最重要的如下:est_rm.pdf : EDK系統的構成工具使用指南psf_rm.pdf : EDK系統使用的各種文件格式的語法說明oslib_rm.pdf: EDK提供的庫文件說明mb_ref_guide.pdf : MicroBlaze體系結構說明由與非網登載的《基于XILINX FPGA片上嵌入式系統的用戶IP開發》是一本關于設計Custom IP方面非常好的參考資料,現在也已經出版。
China-pub鏈接在此:http://www.china-pub.com/43606EDK系統由于既牽涉到FPGA硬件和很多IP Core,又牽涉到C語言軟件的編寫和GNU工具鏈甚至Linux操作系統的相關知識,只是涉及范圍之廣,不是三言兩語可以概括,因此文檔也是多得數不過來,日后將再撰文祥述。關于Sysgen,其實它的User Guide寫的還是很不錯的。他不僅提供了功能描述,并且詳述了操作步驟,而且還帶有實例工程,安裝目錄中提供例子很有參考價值。User Guide位于help目錄下的sysgen_user.pdf關于系統設計,Xilinx有本中文版的DSP書,名字叫《DSP:最佳結果設計》。免費放出PDF版本,在http://china.xilinx.com/publications/books/dsp/index.htm可以找到。關于DSP的特性,System Generator教程,XtremeDSP Kit的演示,在Demosondemond的視頻教程里也都有。另外,Xilinx有豐富的客戶培訓教程,大客戶由Xilinx直接上課,小客戶交給第三方來完成的,中國這邊是E-Elements。有機會參加的話也不錯。對于學校教授,賽靈思大學計劃還會在各高校不定時舉辦各種講座,部分講座可以從openhard觀看視頻。除此之外還有一個特別優待:只要是XUP大學計劃的成員,就可以通過訪問大學計劃網頁得到豐富的教學資料。4. 硬件資料所有的硬件資料不外乎DataSheet和User Guide。這些文檔都可以在主頁右上角的Documentation鏈接中找到。User Guide闡述器件使用方法,DataSheet標明器件的具體參數。User Guide 包括很多種。以Virtex5為例,User Guide的種類從片內資源 - 基本的Slice功能, BRAM, DSP, IOB的使用、復雜硬核GTP, EMAC, PPC等,到片外使用包括Configuration和PCB設計指導,都有自己的User Guide。Datasheet也根據內容分類到不同的文檔中。同樣以Virtex5為例,Datasheet Overview 介紹了V5的Feature,所有家族成員的資源列表和提供的封裝列表。DC and Switching Characteristics 文檔中介紹了各種電壓參數和時序參數。文檔網頁http://www.xilinx.com/support/documentation/index.htm 在注冊網站之后可以選擇收取文檔更新通知。5. 參考資源整體應用設計的參考資源可以分為三類:Demo板的參考設計(Reference Design)應用設計文檔(Application Notes)XCELL雜志中報道的各種應用。在Demo板的網頁上可以找到參考設計的鏈接。它通常都提供了Demo板上各種接口的驅動例程。比如
www.xilinx.com/ml507
www.xilinx.com/ml403Xilinx Application Notes是另一種針對特定應用的說明文檔。每篇文章期望解決一個問題,比如:怎樣通過外部CPU配置FPGA?有哪些使用方法來幫助我debug嵌入式設計?Application Notes文檔編號都以xapp開頭。地址www.xilinx.com/xapp對于CPLD,有一個Application Note的合集,叫做CPLD Applications Handbook。
http://www.xilinx.com/publications/products/cpld/cpld_applications_handbook.pdfXCELL不會提供設計文件,因為他是一項成功應用的介紹文檔,通常他們會講解一個真正產品中FPGA設計的結構和設計難點。
http://www.xilinx.com/publications/Xilinx現在推行的“目標平臺”概念,照我的理解其目的是希望讓用戶站在巨人的肩膀上,盡量少操心底層的細節,而更多地關注真正提供價值的設計。對于“目標平臺”覆蓋到的應用,都提供了從芯片選型、Demo板設計到參考設計。于是我們應該盡量多地利用現有資源,以降低設計難度加快上市速度。相信隨著“目標平臺”的發展,我們可以看到越來越多的有價值的參考設計。6. 問題解決再次重申,遇到軟件問題先考慮自己有沒有打上最新的Service Pack和IP Update。如果有疑問,其實最快的方法不是到論壇提問,而是到Xilinx Answer Database找答案。大多數已知問題的答案那里邊都有了。能不能找到就看會不會搜索了。Xilinx的高級搜索http://www.xilinx.com/company/advanced-search.htm。、、在Answer Database選項上打勾,就能查找Answer Record。當軟件報出一個Error或者Warning,我們一定要先將錯誤信息通讀一遍。英文的錯誤信息可能理解得不是很透徹,無法從這些信息里看到解決方法,不知道是自己錯了還是軟件bug,就可以按這個Error Message去Answer Database查找。可以說解決問題有兩種途徑,一是自己解決,一是尋求幫助。通常我都覺得先嘗試自己解決問題比較好,一來培養能力,二來仔細研究問題后,尋求別人的幫助更容易理解別人的指點,另一方面也更尊重給你指點的人。7. 總結在信息爆炸的時代,我們的資源太多,我們的時間太少。謹希望此文能夠為在學習FPGA路途上的朋友們節省一些尋找資源的時間,而用更多的時間來創造自己的價值。
總結
以上是生活随笔為你收集整理的ISE使用,Xilinx学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初中数学抽象教学的案例_初中数学典型教学
- 下一篇: U盘数据恢复软件使用教程