———版權聲明———–
本文做者 Ricky Su
www.fpganotes.com
rickysu.fpga@gmail.comphp
歡迎轉載,轉載請保持原樣及署名
商業使用須獲得本人受權
———版權聲明———–前端
俗話說,好的開始是成功的一半。在這個信息爆炸的時代,好的資料就是成功學習的一半。git
時常看到有人在論壇上跪求資料,也有人在論壇上灌水換積分排隊下資料。若是這篇文章能幫助你們花更少的時間找到更有價值的資料,那麼我花時間維護這篇文章也就值了。web
好,廢話很少說,咱們言歸正傳。寫這篇文章主要想介紹Xilinx各類資料的找法、分類方法和什麼問題該看哪些資料。限於經驗,不免有錯漏,但願你們指出錯誤並繼續補充。算法
———版本更新說明———–
Dec, 2012
本文初版寫於ISE 10的時代。經歷數年爲你們廣爲轉載。時值ISE Design Suite 即將發佈14的最後一個升級版本,未來也將切換到Vivado套件系列。在此更新一些內容,與時俱進。後端
Xilinx的軟件設計理念曾經是基於Linux工具的理念:每一個工具都負責一項具體功能,多個工具組合成一個套件完成系統的設計功能。在設計初期因爲應用還相對簡單,獨立的工具版本維護仍是得以進行,好比ISE, EDK, ChipScope Pro 等軟件單獨給出安裝和升級包。服務器
隨着設計愈來愈複雜,各個軟件之間的互動也愈來愈多,衆多獨立軟件更新給用戶更新帶來不便,所以產生了軟件套件的概念,稱爲 ISE Design Suite。從10的版本開始,IDS基本是以每一年一個大版本號,每一個季度一個小版本升級的步伐在向前推動,好比第一個版本是IDS 10.1, 下季度更新到 IDS 10.2. 每一次升級,都只須要一個包,就能升級全部的工具。併發
因爲工具軟件衆多,IDS又被分紅不一樣的Edition。其中WebPack Edition是面向小器件的免費版本,除了 ISE 邏輯設計工具以外,它還包含仿真器 ISim 和 新一代的佈局規劃工具 PlanAhead。app
除了免費的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 是片內的邏輯分析儀。可讓用戶方便地抓取片內信號進行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 提供了一個集中化的管理界面,它收錄了多數經常使用文檔,並以器件、軟件、文檔類型作了分類,提供方便的搜索功能,而且能一鍵下載全部文檔以提供本地離線閱讀。有了它,查閱文檔就方便不少。
Xilinx的軟件工具更新很頻繁。自從IDS10之後,基本是三個月出一次升級包 (Service Pack),一年出一個新版本 (Major Version)。如此高的升級速度,一方面是爲了更上新器件的支持要求,一方面是爲了修補前期版本的bug。
那麼咱們是否須要以最快的速度更上更新的速度呢? 我我的的建議一般是:
對於操做系統,建議也是相似的:
(操做系統支持參考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
要學習使用Xilinx的軟件工具,比較好的資源有這些:
做爲入門教程來講,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網站中搜索:
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通常羅列幾份最重要的以下:
由與非網登載的《基於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。有機會參加的話也不錯。對於學校教授,賽靈思大學計劃還會在各高校不定時舉辦各類講座。
全部的硬件資料不外乎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 能夠自動發現文檔更新,並提醒用戶下載更新。
總體應用設計的參考資源能夠分爲三類:
在Demo板的網頁上能夠找到參考設計的連接。它一般都提供了Demo板上各類接口的驅動例程。好比
www.xilinx.com/kc705
www.xilinx.com/zc702
www.xilinx.com/ml605
www.xilinx.com/sp605
Xilinx Application Notes是另外一種針對特定應用的說明文檔。每篇文章指望解決一個問題,好比:
對於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板設計到參考設計。因而咱們應該儘可能多地利用現有資源,以下降設計難度加快上市速度。相信隨着「目標平臺」的發展,咱們能夠看到愈來愈多的有價值的參考設計。
再次重申,遇到軟件問題先考慮本身有沒有打上最新的Service Pack和IP Update。
若是有疑問,其實最快的方法不是到論壇提問,而是到Xilinx Answer Database找答案。大多數已知問題的答案那裏邊都有了。能不能找到就看會不會搜索了。
Answer Database 搜索方法:
當軟件報出一個Error或者Warning,咱們必定要先將錯誤信息通讀一遍。英文的錯誤信息可能理解得不是很透徹,沒法從這些信息裏看到解決方法,不知道是本身錯了仍是軟件bug,就能夠按這個Error Message去Answer Database查找。
若是 Answer Database 中沒有收錄相關的錯誤信息,還能夠在Xilinx Forums上提問。Xilinx 官方論壇分類很細。上面不只有來自Xilinx的工程師,更有來自世界各地的工程師分享經驗解答問題。
http://forums.xilinx.com/
能夠說解決問題有兩種途徑,一是本身解決,一是尋求幫助。一般我都以爲先嚐試本身解決問題比較好,一來培養能力,二來仔細研究問題後,尋求別人的幫助更容易理解別人的指點,另外一方面也更尊重給你指點的人。
在信息爆炸的時代,咱們的資源太多,咱們的時間太少。謹但願此文可以爲在學習FPGA路途上的朋友們節省一些尋找資源的時間,而用更多的時間來創造本身的價值。
點擊日期查看原始版本