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

标签:  ISE  Xilinx  入门  资源  2009-09-01 20:41

虽然自己也曾想过,但如果不是向农要求,把曾经写过的文章编排整理,我是静不下心来好好做这件事的。温故而知新,可以为师已。与大家共勉。

俗话说,好的开始是成功的一半。在这个信息爆炸的时代,好的资料就是成功学习的一半。
时常看到有人在论坛上跪求资料,也有人在论坛上灌水换积分排队下资料。如果这篇文章能帮助大家花更少的时间找到更有价值的资料,那么我花时间维护这篇文章也就值了。

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

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

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

Topics:
1. Xilinx软件介绍
2. 软件版本和软件更新
3. 软件教程哪里找
4. 硬件资料
5. 参考设计
6. 问题解决

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

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

1. Xilinx软件介绍

用Xilinx的软件做FPGA开发,主要涉及到得软件是Xilinx自家的ISE, EDK, ChipScope Pro, System Generator, PlanAhea 和第三方的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,顾名思义就是用来做嵌入式系统的。它提供对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) 。其内容包括:
- 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.htm

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

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

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大学计划的成员,就可以通过访问大学计划网页得到丰富的教学资料。

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

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

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查找。

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

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

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

7. 总结

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

2009.08.31

History
2007-04-05 -- Initial Release
2007-04-06 -- 添加ML403,UG071,UG072,修改错别字
2007-04-13 -- 添加WebCast,DSP,Manual说明
2007-05-14 -- 修改ModelSim MXE Starter Version的说明
2007-05-26 -- 添加声明和dod注册信息
2007-05-30 -- 添加PlanAhead简介
2007-10-07 -- 软件-->download center不需要注册登陆
2008-12-14 -- 添加EDK、Sysgen说明,并更新一些已经改变的功能
2009-02-17 -- 更新视频教程的那部分,添加了Xilinx Free Course视频链接
2009-03-02 -- 添加Hiden in Plain View链接
2009-08-31 -- 更新为ISE11相匹配的版本

xilinx 网站资源导读的更多相关文章

  1. Xilinx 网站资源导读2

    Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...

  2. Xilinx 网站资源导

    Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...

  3. 使用KRPano资源分析工具分析动态网站资源

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  4. JS版本网站资源状态检测

    Title:JS版本网站资源状态检测  --2012-08-28 14:08 前几天需要一个网站状态检测的东东,后面写了个蹩脚的JS版本,里面用到了以前没用过的东西,在这里记下来,其实批处理加curl ...

  5. SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期

    SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期 一.拦截器配置 <mvc:interceptors> <mvc:interceptor> < ...

  6. 获取网站资源 getResourceAsStream

    获取网站资源(重点) public void doGet(HttpServletRequest request, HttpServletResponse response)throws Servlet ...

  7. 用Mediawiki做百科网站资源大参考

    MediaWiki简易安装教程**关于mediawiki 一些好的资料: http://codex.wordpress.org.cn/Mediawiki%E5%BB%BA%E7%AB%99%E7%BB ...

  8. 使用HttpWebRequest请求API接口以及其他网站资源

    很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...

  9. 添加ASP.NET网站资源文件夹

    ASP.NET应用程序包含7个默认文件夹,分别为Bin.APP_Code.App_GlobalResources.App_LocalResources.App_WebReferences.App_Br ...

随机推荐

  1. ASP.NET服务器端控件(class0617)

    ASP.Net服务端基本控件介绍 ASP.Net服务端控件是ASP.Net对HTML的封装,在C#代码中就可以用txt1.Text=‘abc’这种方式来修改input的值,ASP.Net会将服务端控件 ...

  2. Tomcat 7 Connector 精读(2) CoyoteAdapter

    这个适配器类只讲2个方法,构造方法中我们看到一个适配器对象有自己关联的连接器类. 其中Service的重要任务就是讲客户端端请求交给容器. public void service(org.apache ...

  3. MMU(what,how,todo)

    出处:http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11580&fromuid=5490 正文黑色,代码蓝色,重点标红. ...

  4. 字符串旋转(str.find()---KMP)

    此题旋转带有技巧性,问题转化为常见的问题,熟练STL可以直接用str.find()函数,其是主要想用KMP算法实现字符串的查找算法... //如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的 ...

  5. Kotlin 学习

    http://kotlinlang.cn/ 资料: https://segmentfault.com/a/1190000004494727 http://blog.csdn.net/u01413448 ...

  6. yii2 i18n学习

    举例说明常见的翻译:Yii::t('app','Login'):追踪源码:BaseYii.php 文件 ,Yii::t($category, $message, $params = [], $lang ...

  7. iOS开发-网络-合理封装请求接口

    概述 如今大多App都会与网络打交道,作为开发者,合理的对网络后台请求接口进行封装十分重要.本文要介绍的就是一种常见的采用回调函数(方法)的网络接口封装,也算的是一种构架吧. 这个构架主要的idea是 ...

  8. C# & SQLite - Storing Images

      Download source code - 755 KB Introduction This article is to demonstrate how to load images into ...

  9. java Swing图形化界面

    学过java的人应该对java的图形化界面很是反感,特别是接触java不久的人.如果想和其他语言那样用鼠标拖拽,可以使用wondosbulider插件.但是用起来也不是那么方便.当然对于不乐意写代码的 ...

  10. POJ3273-Monthly Expense (最小化最大值)

    题目链接:cid=80117#problem/E">click here~~ [题目大意] 农夫JF在n天中每天的花费,要求把这n天分作m组.每组的天数必定是连续的.要求分得各组的花费 ...