Xilinx 网站资源导读2
Xilinx 網站資源導讀
———版權聲明———–
本文作者 Ricky Su
www.fpganotes.com
rickysu.fpga@gmail.com
歡迎轉載,轉載請保持原樣及署名
商業使用須得到本人授權
———版權聲明———–
0. 序
俗話說,好的開始是成功的一半。在這個信息爆炸的時代,好的資料就是成功學習的一半。
時??吹接腥嗽谡搲瞎蚯筚Y料,也有人在論壇上灌水換積分排隊下資料。如果這篇文章能幫助大家花更少的時間找到更有價值的資料,那么我花時間維護這篇文章也就值了。
好,廢話不多說,我們言歸正傳。寫這篇文章主要想介紹Xilinx各種資料的找法、分類方法和什么問題該看哪些資料。限于經驗,難免有錯漏,希望大家指出錯誤并繼續補充。
———版本更新說明———–
Dec, 2012
本文第一版寫于ISE 10的時代。經歷數年為大家廣為轉載。時值ISE Design Suite 即將發布14的最后一個升級版本,將來也將切換到Vivado套件系列。在此更新一些內容,與時俱進。
1. Xilinx軟件介紹
套件的由來
Xilinx的軟件設計理念曾經是基于Linux工具的理念:每個工具都負責一項具體功能,多個工具組合成一個套件完成系統的設計功能。在設計初期由于應用還相對簡單,獨立的工具版本維護還是得以進行,比如ISE, EDK, ChipScope Pro 等軟件單獨給出安裝和升級包。
隨著設計越來越復雜,各個軟件之間的互動也越來越多,眾多獨立軟件更新給用戶更新帶來不便,因此產生了軟件套件的概念,稱為 ISE Design Suite。從10的版本開始,IDS基本是以每年一個大版本號,每個季度一個小版本升級的步伐在向前推進,比如第一個版本是IDS 10.1, 下季度更新到 IDS 10.2. 每一次升級,都只需要一個包,就能升級所有的工具。
由于工具軟件眾多,IDS又被分成不同的Edition。其中WebPack Edition是面向小器件的免費版本,除了 ISE 邏輯設計工具之外,它還包含仿真器 ISim 和 新一代的布局規劃工具 PlanAhead。
除了免費的WebPack Edition之外,還有各種收費版本,比如可以設計大容量FPGA的 Logic Edition, 包含嵌入式開發工具EDK的Embedded Edition, 包含數字信號處理設計工具的 DSP Edition, 以及包含所有工具的 System Edition.
各個Edition支持的功能可以看這里:
http://www.xilinx.com/products/design-tools/ise-design-suite/?
詳細的每個Edition支持的器件列表、操作系統列表等信息可以查看:
http://www.xilinx.com/publications/matrix/Software_matrix.pdf
一方面由于PlanAhead工具在用戶中得到了非常好的反響,另一方面在FPGA芯片容量設計得越來越大之后,原始的布局布線工具已經不能非常好地勝任在短時間內滿足時序收斂的要求,Xilinx又著手開發了一套新的開發工具,命名為Vivado。
Vivado 的前端界面以 PlanAhead 為原型,后端的綜合、布局布線、時序分析工具根據新的大容量器件的設計要求完全重寫,以期望在更短的時間內將更大的設計實現時序收斂。它支持7系列所有的器件。如果是大器件比如Virtex 7 2000T,那么就只能用Vivado來設計。它與IDS 14.x 是并行發展的,但是 IDS 將來的更新將僅限于對已經支持的器件的維護和更新。新的8系列器件將都使用Vivado來設計。
Vivado 的版本號也與IDS有所區別,將單純以數字作為版本號改為以發布年份作為版本號,比如2012.4就表示2012年的第四次更新發布。
了解更多Vivado套件的說明可以看這里:
http://www.xilinx.com/products/design-tools/vivado/index.htm
根據以上的說明,你可以更方便地找到適合自己的開發工具。如果開發所使用的器件是WebPack版支持的,并且僅開發邏輯,不需要嵌入式功能,那么免費的WebPack最適合。
如果希望試用收費版本,可以在這個網址申請30天的評估License。
http://www.xilinx.com/ise_eval/index.htm
所有版本的軟件都可以在下載中心找到
http://www.xilinx.com/support/download/index.htm
獨立工具說明
ChipScope Pro 是片內的邏輯分析儀??梢宰層脩舴奖愕刈ト∑瑑刃盘栠M行debug。ChipScope支持的Trig方式非常多樣,用熟悉了以后幾乎是想要觀察什么內部信號都可以觀察到,即使他有BRAM深度的限制。
www.xilinx.com/chipscope
PlanAhead工具自從ISE7時代被開發出來并發展了這么多年之后,已經成為了提高設計效率和提高產品性能的有力工具。
它可以幫我們在布局布線之前做好管腳定位和DRC檢查、規劃區域約束、查看綜合網表,并且可以跑多次實現,找出最佳的布局并分析時序。
在 PlanAhead 工具變得越來越強大之后,原先必須使用 ISE 的設計工程頂層也可以僅使用 PlanAhead 來完成。www.xilinx.com/planahead
EDK - Embedded Development Kit,顧名思義就是用來做嵌入式系統的。
EDK提供對PowerPC硬核和MicroBlaze軟核的支持,免費提供一些常用的硬件IP Core,比如各種Memory Controller、各種外設如IIC, SPI, GPIO,并集成了GNU工具鏈,使之成為軟硬件設計一體化的設計工具。設計出的嵌入式系統集標準性與靈活性于一身,可以支持Linux等操作系統,也可讓用戶自己設計用戶IP用作模塊接口或硬件加速。
www.xilinx.com/edk
System Generator 借助 Matlab Simulink 的框架使DSP算法用圖形化的數據流來說明,在Sysgen的幫助下DSP算法可以輕易在FPGA上實現。特別是它的Hardware Co-simulation功能大大降低了Debug的難度。
www.xilinx.com/sysgen
在 Vivado 套件中除了包含以上這些獨立工具之外,還有一項新的工具叫做 Vivado HLS,即 High Level Synthesis。它可以完成從 C 到 HDL 的綜合,使一個以C實現的復雜算法僅通過工具的自動轉換,就能完成到FPGA芯片的硬件實現,大大加速了算法設計、驗證、實現的效率。
除了Xilinx的軟件,我們通常還會用到一些第三方的軟件,比如Synopsys (曾經Synplicity) 的 Synplify 綜合工具,Mentor Graphic 的 ModelSim 工具等。
Synplify 可以替代 ISE 自帶的 XST。他的優勢是編譯速度快,編譯產生的網表質量可能更高(面積小,頻率高);缺點是1.貴 2.對新器件的支持比原廠慢一拍。
ModelSim (QuestaSim) 是一款常用的仿真工具。其他和ISE搭配使用的仿真工具有Cadence的NC-Sim和Synopsys的VCS。ModelSim根據價格高低和支持功能的多少分為SE, PE 等版本。曾經有一個為Xilinx特別優化的 XE 版本,但是后來取消了。
除了設計工具,套件中新增的 Document Navigator (DocNav) 工具也是提高設計效率的有力工具。由于Xilinx的工具越來越多,越來越復雜、器件家族越來越豐富,產品文檔和使用手冊數量和更新頻率都急劇增加,導致用戶比較難管理、發現有用的文檔。 DocNav 提供了一個集中化的管理界面,它收錄了多數常用文檔,并以器件、軟件、文檔類型做了分類,提供方便的搜索功能,并且能一鍵下載所有文檔以提供本地離線閱讀。有了它,查閱文檔就方便很多。
2. 軟件版本和軟件更新
Xilinx的軟件工具更新很頻繁。自從IDS10以后,基本是三個月出一次升級包 (Service Pack),一年出一個新版本 (Major Version)。如此高的升級速度,一方面是為了更上新器件的支持要求,一方面是為了修補前期版本的bug。
那么我們是否需要以最快的速度更上更新的速度呢? 我個人的建議通常是:
- 正在進行中的項目,如果不是需要新功能或繞過某些已經存在的Bug,那么就不要盲目升級大版本(13→14),但是一定要勤快地升級到最新的升級包(13.3→13.4)。
- 新設計盡量用新版本的最穩定版本。比如現在最近版本是14.1的時候,還是不要急于追新,用最穩定的13.4來做開發。
對于操作系統,建議也是類似的:
- Windows的用戶建議使用英文版 Windows7 或 Windows XP SP2。
- 公司最好能有一臺大內存64位服務器跑RHEL Linux,即能提供多用戶使用,也更適合跑大器件?
(操作系統支持參考http://www.xilinx.com/publications/matrix/Software_matrix.pdf)
所有以上的建議,目的歸根到底可以總結為:
在產品開發過程中,設計軟件總是穩定比功能多來得重要,操作系統總是穩定比好看來得重要。
Xilinx所有的軟件下載都可以在Download Center找到(www.xilinx.com/download) 。其內容包括:
過往版本的ISE WebPack,可以到ISE Classic頁面下載,但是不再提供付費軟件的Evaluation。
http://www.xilinx.com/tools/classics.htm
過往版本的最終Update,也可以在Download Center找到,但是中間版本需要在以下這些Answer Record中查找:
Download Center:?http://www.xilinx.com/support/download/index.htm
Old Service Pack:?http://www.xilinx.com/support/answers/10959.htm
Old IP Update:?http://www.xilinx.com/support/answers/31741.htm
3. 軟件教程
要學習使用Xilinx的軟件工具,比較好的資源有這些:
- Xilinx官方網站的視頻教程
- 放在YouTube和Youku的視頻教程
- WebCast 網上研討會
- Tutorial
- 工具的 User Guide
作為入門教程來說,Xilinx的Online視頻教程應該是最合適的了。訪問?
http://www.xilinx.com/training/index.htm?
可以找到關于FPGA Architecture, Software tools, HDL Coding technique 等各方面的視頻教程,內容豐富,且原汁原味,屬于自我學習最好的參考資料。
YouTube里也有大量視頻教學資料,比如一些現場Demo, ChipScope Debug技巧等。
http://www.youtube.com/user/XilinxInc?
http://i.youku.com/u/id_UMjU4NDk1ODg4
如果想了解Xilinx的最新技術,參加WebCast (網上研討會)是最好的途徑。通常訂閱了Xilinx Newsletter就會收到WebCast的郵件通知。如果有感興趣的網上研討,記得注冊參加,通常還會有抽獎活動。
要真的開始動手,可以跟著Tutorial來一步一步練習。Tutorial是一種提供原始設計和詳細操作步驟的文檔。跟著Tutorial把一個實驗做完,就能對軟件工具有一個基本的了解。Training網頁上有Tutorial列表
http://www.origin.xilinx.com/training/fpga-tutorials.htm
在做完Tutorial后如果對工具的某一部分功能還是有疑惑,那么可以查看這個工具的 User Guide,它是對這個工具功能最詳細的解釋。User Guide可以從DocNav中找到。
邏輯設計入門
除了以上提到的資源,Vivado Tutorial 在文檔中心有專門的Tutorial分類。比如Vivado 2012.3 Tutorial:
http://www.xilinx.com/support/documentation/dt_vivado2012-3_tutorials.htm
文檔中心:?http://www.xilinx.com/support/
Vivado的文檔在DocNav中有專門的分類,很容易查找辨認,ISE中幾個重要工具的文檔不是很容易找到,在此列出幾個重要的Manual,有必要的話可以在Xilinx網站中搜索:
- 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.mentor.com/products/fv/multimedia/overview/modelsim-demo-overview-34d471dc-cb74-400b-be98-5a81213cf45a
安裝目錄下的User Guide如果能跟著做一遍,基本使用已經沒有問題。
關于HDL的寫法,除了XST User Guide和Vivado Synthesis User Guide中說明的支持的HDL語句,wp231很實用,YouTube教程中也有介紹對于某個特定器件優化代碼的方法。
嵌入式入門
關于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/43606
在發布了基于雙核 ARM Cortex A9 的片上 SoC 芯片 ZYNQ 之后,Xilinx在開源軟件方面也大大增強。一方面它提供了 Open Source Linux 以及其他開源工具的源代碼庫,一方面還開通了對源代碼庫作說明的Wiki站點。
http://git.xilinx.com
http://wiki.xilinx.com
EDK系統由于既牽涉到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可以找到。
另外,Xilinx有豐富的客戶培訓教程,大客戶由Xilinx直接上課,小客戶交給第三方來完成的,中國這邊是E-Elements。有機會參加的話也不錯。對于學校教授,賽靈思大學計劃還會在各高校不定時舉辦各種講座。
4. 硬件資料
所有的硬件資料不外乎DataSheet和User Guide。 這些文檔都可以在主頁右上角的Documentation鏈接或者DocNav中找到。
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?在注冊網站之后可以選擇收取文檔更新通知。DocNav 可以自動發現文檔更新,并提醒用戶下載更新。
5. 參考資源
整體應用設計的參考資源可以分為三類:
- Demo板的參考設計(Reference Design)
- 應用設計文檔(Application Notes)
- XCELL雜志中報道的各種應用。
在Demo板的網頁上可以找到參考設計的鏈接。它通常都提供了Demo板上各種接口的驅動例程。比如
www.xilinx.com/kc705?
www.xilinx.com/zc702?
www.xilinx.com/ml605?
www.xilinx.com/sp605?
Xilinx 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.pdf
XCELL不會提供設計文件,因為他是一項成功應用的介紹文檔,通常他們會講解一個真正產品中FPGA設計的結構和設計難點。
http://www.xilinx.com/publications/
Xilinx現在推行的“目標平臺”概念,照我的理解其目的是希望讓用戶站在巨人的肩膀上,盡量少操心底層的細節,而更多地關注真正提供價值的設計。對于“目標平臺”覆蓋到的應用,都提供了從芯片選型、Demo板設計到參考設計。于是我們應該盡量多地利用現有資源,以降低設計難度加快上市速度。相信隨著“目標平臺”的發展,我們可以看到越來越多的有價值的參考設計。
6. 問題解決
再次重申,遇到軟件問題先考慮自己有沒有打上最新的Service Pack和IP Update。
如果有疑問,其實最快的方法不是到論壇提問,而是到Xilinx Answer Database找答案。大多數已知問題的答案那里邊都有了。能不能找到就看會不會搜索了。
Answer Database 搜索方法:
- 先進入Xilinx的高級搜索頁面?http://www.xilinx.com/company/advanced-search.htm。
- 在Answer Database選項上打勾,就能查找Answer Record。
當軟件報出一個Error或者Warning,我們一定要先將錯誤信息通讀一遍。英文的錯誤信息可能理解得不是很透徹,無法從這些信息里看到解決方法,不知道是自己錯了還是軟件bug,就可以按這個Error Message去Answer Database查找。
如果 Answer Database 中沒有收錄相關的錯誤信息,還可以在Xilinx Forums上提問。Xilinx 官方論壇分類很細。上面不僅有來自Xilinx的工程師,更有來自世界各地的工程師分享經驗解答問題。
http://forums.xilinx.com/
可以說解決問題有兩種途徑,一是自己解決,一是尋求幫助。通常我都覺得先嘗試自己解決問題比較好,一來培養能力,二來仔細研究問題后,尋求別人的幫助更容易理解別人的指點,另一方面也更尊重給你指點的人。
7. 總結
在信息爆炸的時代,我們的資源太多,我們的時間太少。謹希望此文能夠為在學習FPGA路途上的朋友們節省一些尋找資源的時間,而用更多的時間來創造自己的價值。
8. 更新記錄
點擊日期查看原始版本
- 2012.12 (This Version)- 更新到14.3/2012.3;添加Vivado, Vivado HLS;添加ZYNQ Git, wiki
- 2011.05?- 維護原來基于10.1的版本
轉載于:https://www.cnblogs.com/hfyfpga/p/3447278.html
總結
以上是生活随笔為你收集整理的Xilinx 网站资源导读2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你为什么学不好Python?
- 下一篇: 初中数学与计算机论文,初中数学优秀论文1