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

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

0. 序

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

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

好,废话不多说,我们言归正传。写这篇文章主要想介绍Xilinx各种资料的找法、分类方法和什么问题该看哪些资料。限于经验,难免有错漏,希望大家指出错误并继续补充。

1. 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/chipscope

PlanAhead工具自从ISE7时代被开发出来并发展了这么多年之后,已经成为了提高设计效率和提高产品性能的有力工具。
它可以帮我们在布局布线之前做好管脚定位和DRC检查、规划区域约束、查看综合网表,并且可以跑多次实现,找出最佳的布局并分析时序。
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

ISE 产品现在被包装为 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.htm

ModelSim 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)

所有以上的建议,目的归根到底可以总结为:

  1. 以最大努力保证设计平台的稳定(Windows XP 用的人最多;Linux的内存管理比Windows好,64位系统上的软件业更成熟)
  2. 避免陷入已知的Bug中浪费时间
  3. 减小遇到未知的Bug的可能性

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

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

  1. IDS的完整版下载
  2. IDS更新包的下载
  3. CAE Vendor Library 就是第三方工具需要使用到的库文件,比如Cadence/Synopsys的综合工具、形式验证工具等。
  4. ModelSim XE 版本的仿真库更新 (记得我们上面说过ModelSim XE不需要自己编译仿真库吗?)
  5. 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.htm

3. 软件教程

作为入门教程来说,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/43606

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可以找到。

关于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/ml403

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找答案。大多数已知问题的答案那里边都有了。能不能找到就看会不会搜索了。

Xilinx的高级搜索http://www.xilinx.com/company/advanced-search.htm。、、在Answer Database选项上打勾,就能查找Answer Record。

当软件报出一个Error或者Warning,我们一定要先将错误信息通读一遍。英文的错误信息可能理解得不是很透彻,无法从这些信息里看到解决方法,不知道是自己错了还是软件bug,就可以按这个Error Message去Answer Database查找。

可以说解决问题有两种途径,一是自己解决,一是寻求帮助。通常我都觉得先尝试自己解决问题比较好,一来培养能力,二来仔细研究问题后,寻求别人的帮助更容易理解别人的指点,另一方面也更尊重给你指点的人。

7. 总结

在信息爆炸的时代,我们的资源太多,我们的时间太少。谨希望此文能够为在学习FPGA路途上的朋友们节省一些寻找资源的时间,而用更多的时间来创造自己的价值

转载于:https://www.cnblogs.com/sangreal/archive/2011/07/14/2105906.html

【转】Xilinx 网站资源导读相关推荐

  1. Xilinx 网站资源导读2

    Xilinx 网站资源导读 ---版权声明---– 本文作者 Ricky Su www.fpganotes.com rickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名 商业使 ...

  2. xilinx 网站资源导读

    [经验整理.01]Xilinx网站资源导读 ISE11版 标签:   ISE   Xilinx   入门   资源   2009-09-01 20:41 序 虽然自己也曾想过,但如果不是向农要求,把曾 ...

  3. 【经验整理.01】Xilinx网站资源导读 ISE11版

    [经验整理.01]Xilinx网站资源导读 ISE11版 标签:   ISE   Xilinx   入门   资源   2009-09-01 20:41 序 虽然自己也曾想过,但如果不是向农要求,把曾 ...

  4. Xilinx网站资源导读

    一.软件 Xilinx的软件主要是ISE, EDK, ChipScope Pro, System Generator,PlanAhead, ModelSim,如果要算上AccelDSP也凑合,不过相信 ...

  5. Xilinx 网站资源导

    Xilinx 网站资源导读 ---版权声明---– 本文作者 Ricky Su www.fpganotes.com rickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名 商业使 ...

  6. Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示

    这是 JavaScript 常用的手法用于网站方保护源码不被大家轻易的查看到,会一直循环调用 function anonymous() {debugger} 方法使网页始终处于调试状态,干扰大家查看网 ...

  7. 改进 网站资源探测工具(添加代理)

    对网站资源探测工具进行调整,并且添加代理,防止多次访问ip被封的情况. #获取代理,并写入agents列 def agent_list(url):global agent_listsagent_lis ...

  8. 7个管理和优化网站资源的 Python 工具

    前一篇:?[清单]6个将 Python 源码编译成软件的构建工具 汇总一些管理.压缩.缩小网站资源的工具在这里供大家各取所需. 1️⃣django-compressor 将链接和内联的 JavaScr ...

  9. python资源网站_Python 博客网站资源

    # Python 博客网站资源 * **本人编写的 Python 系列文章** 本草根编写的 Python 文章,里面有各种例子代码 传送门: [Gitbook](https://www.readwi ...

最新文章

  1. 在CentOS 6.3 64bit上为Apache Traffic Server 4.2.3挂载SSD并压测
  2. 给Chrome“捉虫”16000个,Google开源bug自检工具
  3. Sitemesh排除Exclude不装饰特定页面的解决办法
  4. 核心概念 —— 门面(Facades)
  5. 临时文件_Go语言学习基础-文件路径、目录、临时文件和目录
  6. 【AI视野·今日Robot 机器人论文速览 第二十八期】Wed, 1 Dec 2021
  7. GP学习(三)—How to run a geoprocessing tool
  8. 沉浸式状态栏的简易实现
  9. 洞察CRM对企业的真正价值
  10. 计算机网络基础知识 帮助学习网络管理的初学者快速了解网络管理的初步结构知识...
  11. Application.DoEvents可能不是线程安全的
  12. 【GDOI2017】【gmoj5101】【7.15模拟赛T4】凡喵识图【暴力】
  13. Origin绘制柱状图
  14. 基于Android的BMI指数运算
  15. python中tan函数如何表示_Python入门之三角函数tan()函数实例详解
  16. 四旋翼自主飞行器设计方案
  17. 智能客服机器人+在线客服,让你的服务不间断
  18. Python + Tkinter:图片浏览器(二)
  19. 【生产力工具】Surfingkeys——网页版Vim
  20. Linux chromium弹出your preferences can not be read

热门文章

  1. OC 中的分类(Category)详解
  2. vagrant 安装centos7后,安装 docker, mysql redis nginx 开发环境
  3. python opencv检测高光点及findContours计算连通域重心
  4. linux 符号连接文件,Linux 硬链接和软链接(符号链接)
  5. 2020年408计算机学科专业基础综合考试大纲
  6. Linux 文档编辑 : grep 命令详解
  7. 太赫兹安检“无形检测”时代已经来临
  8. PAT题集2019.5.1排名变动
  9. python决策树预测用户等级_使用python抓取婚恋网用户数据并用决策树生成自己择偶观...
  10. Java制作简易画图板