Xilinx 网站资源导读2

Xilinx 网站资源导读

———版权声明———–
本文做者 Ricky Su
www.fpganotes.com
rickysu.fpga@gmail.comphp

欢迎转载,转载请保持原样及署名
商业使用须获得本人受权
———版权声明———–前端

0. 序

俗话说,好的开始是成功的一半。在这个信息爆炸的时代,好的资料就是成功学习的一半。git

时常看到有人在论坛上跪求资料,也有人在论坛上灌水换积分排队下资料。若是这篇文章能帮助你们花更少的时间找到更有价值的资料,那么我花时间维护这篇文章也就值了。web

好,废话很少说,咱们言归正传。写这篇文章主要想介绍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。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 提供了一个集中化的管理界面,它收录了多数经常使用文档,并以器件、软件、文档类型作了分类,提供方便的搜索功能,而且能一键下载全部文档以提供本地离线阅读。有了它,查阅文档就方便不少。

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)

全部以上的建议,目的归根到底能够总结为:

  1. 以最大努力保证设计平台的稳定(Linux的内存管理比Windows好,系统也更稳定)
  2. 避免陷入已知的Bug中浪费时间
  3. 减少遇到未知的Bug的可能性 (中文版操做系统上不必定跑过详尽的软件测试)

在产品开发过程当中,设计软件老是稳定比功能多来得重要,操做系统老是稳定比好看来得重要。

Xilinx全部的软件下载均可以在Download Center找到(www.xilinx.com/download) 。其内容包括:

  1. IDS的完整版下载
  2. IDS更新包的下载
  3. CAE Vendor Library 就是第三方工具须要使用到的库文件,好比Cadence/Synopsys的综合工具、形式验证工具等。
  4. Device Models 能够下载用于第三方仿真工具(HSpice, HyperLinks等)所须要使用的 IBIS、HSpice、BSDL模型等。

过往版本的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 搜索方法:

当软件报出一个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的版本
相关文章
相关标签/搜索