俗话说“授之鱼不如授之以渔”,看到这边有人要资料有人送资料的,其实论坛不更应该是一个交流的空间么?那就让找
资料更有效率一点,让大家花更多时间来交流吧。
9 F6 B& f! U X1 }: U8 S0 A8 l& {6 G7 K- b: r' R* P1 T2 z0 F) X+ B言归正传,写这篇文章主要想介绍
Xilinx各种资料的找法、分类方法和什么问题该看哪些资料。限于经验,难免有错漏,希望大家指出错误并继续补充。
+ S. w: h, e2 f7 S# i, D7 M/ e" E# N, C* r) M8 [$ e/ o1 X: R9 s8 d9 a3 D7 W3 ]4 P一、软件, o+ u# s1 S F' h( i, U, q3 H9 \6 AXilinx的软件主要是
ISE, EDK, ChipScope Pro, System Generator, PlanAhead,
ModelSim,如果要算上Accel
DSP也凑合,不过相信国内没多少人用。
6 @* U9 { % @7 h4 h/ `0 Z4 Z% D$ G- M' ^7 uISE是主要的逻辑
设计软件,其他软件的具体实现功能都依附于ISE。ISE有Foundation版和WebPack版。WebPack版免费,Foundation版收费。两者的区别是支持的器件不同。
功能是相同的。
+ `* h1 w; o( Z1 K- H+ |' ^8 z" Q* p K) i X ]. }WebPack版支持的功能可以看
http://www.xilinx.com/ise/products/webpack_config.htm。
- F. M1 t' @6 I' M/ e- y3 b( _Foundation的话当然全支持拉,要看的话在这里
http://www.xilinx.com/ise/logic_design_prod/foundation.htm。
/ O, k( W! m* \* l说这些的目的就是,如果你的器件WebPack支持,就直接到网上
下载WebPack吧,没有版权之类的后顾之忧;如果不行,Verycd上找些东西还是挺方便的。
5 W' p' U) \8 ]6 G! p* t8 ^, i, [' N& t. w" WModelSim MX有免费的starter version,可以和ISE
WebPack一起下载,安装以后在开始里面点licens_e request就可以申请starter的使用权了。另外,可以
VHDL和
Verilog各申请一个,那么就可以
仿真两种
语言了,不过不支持mix language。
http://www.xilinx.com/ise/verification/mxe_details.html5 C+ P( ]* l: I2 x不过那一页说的ModelSim XE的use case不准的,XE,PE,SE的差别还是仔细看这里吧。
http://www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=24506% L9 ^- E7 ^) o: @. |3 z& b7 r9 [- O, [- W. d4 j3 _* G( h5 a+ h; oChipScope有(好像是)60天的评估版。
, e. @6 }, }7 twww.xilinx.com/chipscope3 o q" R3 _1 i. ^( l" G9 Q/ o. L% M! h' b; F" aPlanAhead(稍微介绍下子,没有接触过的朋友可能不知道这是什么)
9 [& E# v3 s1 @/ H6 @" uPlanAhead是ISE7以后推出的软件,它的主要功能是对一个
综合后的NGC/EDIF网表进行布局
布线的规划。听上去功能有点像FloorPlanner,但是功能却强大得多。
) U1 |) {& W8 ^% L罗列一下我喜欢它的地方:
7 L( o; B' p8 x6 p4 _1、因为使用了GateVision的EDIF显示引擎,使网表显示非常漂亮。
( S9 v$ j, Y Z; c) O1 z% y! {2、ExplorerAhead可以控制具体使用哪些MAP/PAR的
参数,比使用Xplorer更方便,提高Timing结果很有效率,还支持多CPU。
* Q, C1 b x6 u3、Show Hie
rarchy可以看出每个层次的连接以及每个层次占地大小的比例。
: R: p6 |; L7 q4、画Pblock,规划布局布线。这个就有点像FloorPlanner,但是可以显示每个画出的Pblock包括多少
资源,并可以仅对某个Pblock布局布线,布局后还能整体移动整个Pblock。
) e: b9 M5 c! v$ z: l# D5、自带的Tutorial很周到,容易上手。
' Y5 X! D5 ] Z Q& @3 ^% a+ S! T% f. Z# B以上是我用过的功能,还没用过的功能是:
7 b' l3 m+ x6 s$ b2 z1、PinAhead自动检查DRC和WASSO,自动放Pin。
5 s* r% P9 s7 b" x2 a2、用PlanAhead做Partial Reconfiguration,流程比以前方便很多很多。
, E- H: i% F/ G) J+ P: H) C6 w: Q8 fPlanAhead有30天的免费评估版。更好的事情是,30天过后还可以再申请。
( F' g, d, Z" V; X! ^: ^www.xilinx.com/planahead u+ Z, X- {4 L+ b1 X. d3 x1 s7 `' N* ~5 r$ P$ M其他的,就靠大家发挥各自的神通啦,不过一般Verycd上都有的。
7 z* K+ R N5 a6 J( W$ x8 ^8 ^6 c W/ Q8 W j7 e7 e, [0 O7 { % h x3 ]二、软件更新: z9 x/ {1 C* R8 R0 K0 x' p% n" e; E( o' M6 Owww.xilinx.com/download是Xilinx的Download Center,ISE的Service Pack, IP
Update在那里都有下。注册一个账号就可以下载了。
/ x' Q& `+ O$ Z5 m& ]/ k b: o) |- X5 N! L2 B关于更新,多说两句。
不管正在使用ISE的哪个版本,出了新的Service Pack就及时下载更新一下,这样会省去你很多可能会有的麻烦。一般Service Pack 1在公开发布的主要版本的3天后就会发布,而后的每个Service
Pack都相隔一个月左右。
: F( U$ p7 t7 C9 e% E. H l$ g+ z& lISE Service Pack是指ISE除了CoreGen和IP Core以外的所有更新;IP
Update当然就指CoreGen和IP
Core的更新了。
5 b* u( Q8 G; t! o( @( B d, m9 l/ Y# j* IIP Update打上了以后,用ModelSim XE的要下载XE的更新的库,用SE或者PE的要用compxlib重新
编译一下库。
) w; P2 y- e5 b V4 f8 D l/ d7 m; H7 }9 \& t! G有一个东西可能不是很多人用,就是Download Center里的CAE Vendor
Library。里面是给第三方软件使用的库,比如
Cadence/
Synopsys的综合工具、形式
验证工具等。
! f% Y. i( u" e( S) |' l5 g _; j. V' D) ~' a5 p) u8 ]5 \3 C" l. h2 k1 ]三、软件教程3 c Q4 \5 W F# Z# x% i1 w( ^2 I g5 R8 K, v/ H作为入门教程来说,Xilinx放在Demosondemond网站上的那些视频教程可以说是最好的了。链接就在Xilinx主页左下角的位置。
: t8 q3 C. N' L& ]( q7 F* L1 G# bhttp://www.demosondemand.com/clients/xilinx/001/page/index.asp# D$ Q; U$ D# ]% d l视频教程内容有关于最新的硬件的,也有各种软件的,基本算挺齐全的。有多好,自己看就知道了:)
' k. {0 i& L4 }" `2 c0 F, C最近要查看demosondemand网站的录像需要注册了,dod的注册很严格,注册需要公司邮件地址或者学校带edu的邮件地址。
. [# e' o: Y! ~4 Q, D! ^0 q% o. H9 n& x/ ^% ]# @视频资料还有一类,就是放在TechOnline上的WebCast。涉及面不止软件,也还有很多硬件的资料。[url=space-uid-58158.html]alex_yyp[/url]总结得很好,我抄一下嘿嘿:
http://www.techonline.com/electronics_directory/webinar/8960 J) {: ]+ r1 o2 l9 { % GWebCast都是可以与演讲者实时互动的(虽然大多是美国的,时区跟我们有差异,但是中国的WebCast也还是有的),最新的WebCast信息可以订阅TechOnline,或者在Xilinx.com的网站右上角察看。
- X, H$ S' _: D0 }# b6 a) I" B0 @2 q4 I# Y接下来应该看的是Tutorial。
# f+ z' ?" P; |7 a; Qhttp://www.xilinx.com/support/techsup/tutorials/& D4 Q( ]4 P4 O7 C, W( U/ [主要是ISE, EDK, PlanAhead的,还有Timing Constraint的。
时序约束的那篇文档算是讲得比较全的,还有可以深入阅读的一篇文档就是
wp237,关于offset约束的。
7 S, ^- S; _' _: H# R+ M9 P) s+ n8 H$ mISE做了Tutorial基本操作应该没问题了。
7 N& R( b9 ?8 M' GChipScope比较简单看了Demosondemond的视频教程应该就会了。还不清楚的话看看安装目录里的UG029。
# ], |5 F( @( \, G; W% J* d: zPlanAhead虽然比ChipScope复杂,但是视频教程还是很不错的,再加上Tutorial,应该也够了。
/ \' U r+ o2 w& b4 v6 J/ _, j P# K更进阶了解ISE,需要阅读ISE的Manual。打开Manual可以从开始菜单中ISE->Documentation->Software
Manuals;也可以在ISE安装目录下的doc目录查找。
+ u2 m4 c& U. ~& t9 ^0 A$ h3 o, {9 z0 h列出几个重要的Manual:
& ~( |& u7 W2 K. i) N! JXST
User Guide (xst.pdf):关于XST的开关选项等
/ O% u- w0 n$ P6 n$ GDevelopment System Reference Guide (dev.pdf) :除了XST外的实现工具比如map,
par, trce等的实用指南
# ~: s- J$ |" UConstraint Guide (cgd.pdf) :约束的指南。包括时序约束/非时序约束;UCF约束/XCF约束。
" T) v B9 r9 q4 m8 c' H" aSynthesis and Simulation Guide (sim.pdf):其实主要是说明仿真的具体内容。
* f% _& T: Y8 [9 v# l0 Y2 w& Y- YLibrary Guide:针对每个器件不同的primitive例化模板和说明。
/ H7 |& V) U5 w2 {+ F! }) y) D+ Z% \( r( F9 M! eModelSim官方网站有些Flash的演示也很不错
: K# S. H7 g; M; u$ ^" {http://www.model.com/resources/resources_demos.asp1 J* ]- u }. H安装目录下的User Guide如果能跟着做一遍,应该也很不错了。
/ N2 {, l1 n- X+ `5 s+ C. j; S `; R# C# a* v# W关于HDL的写法,
wp231非常不错。
/ N+ G3 {$ M/ a8 h0 u* Y9 ?+ n4 L5 t9 X" x另外,Xilinx有丰富的客户培训教程,大客户由Xilinx直接上课,小客户交给第三方来完成的,中国这边是E-Elements。有机会参加的话也不错。
! s9 A% T! U9 \9 q1 ]' C; X! s; {5 f& _. u/ O8 _3 z W% h+ N U; Y四、硬件资料. M2 @; S9 ?( m! O9 e# V* H# ^) o, T3 F) `; ]3 O. m所有的硬件资料不外乎DataSheet和User Guide。
- ^2 e z7 M2 ? u& g2 V基本就是使用方法在User Guide里找,各种参数在DataSheet里找。
/ \4 F3 e: G" j1 g7 u关于DCM,有一篇关于Spartan 3的DCM的文档很全。
" ^: {+ x2 X6 G& z+ s9 N& b其他的基本都可以参考Virtex 4各种各样的User Guide,讲得全。
; f0 I+ K: N& q/ l做硬件设计,V4的Configuration Guide (
UG071),PCB Guide (
UG072)都是值得一读的。
. c& O/ R( A* GUG112是Package Guide。
* E" x" K: s" s( E1 J4 |5 r. b更多的文档看
这里9 N. N; c% {; w& G" V& q" @9 k4 Z$ J4 V五、DSP2 N* n, B! n! _% I+ j- f0 j$ T0 `+ X* s0 o0 bXilinx有本中文版的DSP书,名字叫《DSP:最佳结果设计》。免费放出PDF版本,
3 A, j1 J% c6 \4 C: h8 D在
http://china.xilinx.com/publications/books/dsp/index.htm可以找到。
2 y% `. @+ p4 r* N$ I W- X8 w, d; P" B关于DSP的特性,System Generator教程,XtremeDSP Kit的演示,在
Demosondemond的视频教程里也都有。
% J8 }+ b; Z4 K, k$ E% M( d1 ~0 C& e# ~; F" i) v7 z) G3 c E六、参考设计4 g$ i$ A' v7 U* l& H& q, S8 ^8 c6 C$ {- a0 R& p对于各种常见的
应用,Xilinx都有现成的参考设计或者IP core,只需要修改少量的代码就可以放在自己俄设计中使用了。这时候就应该查阅Xilinx
Application Notes。Application Notes都以xapp开头。地址
www.xilinx.com/xapp- r% G3 u$ d, `) Q) B- L& v; Z% E/ c q9 s, ~9 \对于CPLD,有一个Application Note的合集,叫做
CPLD Applications Handbook。
- P" [* @3 S0 ?& E' Ghttp://www.xilinx.com/publications/products/cpld/cpld_applications_handbook.pdf. Z8 k6 u: K, D% \% |8 P3 Z ^" b4 R0 e6 q& v还有一些可以研究的Reference Design是随板子附带的参考设计,ML40x, XUP,
Spartan3/3E的参考设计都非常全。
. ?9 `2 f7 E; B, ^$ |- Fwww.xilinx.com/ML403. M1 p$ l n9 v8 y7 \! t6 W" I9 u5 `( A; A& ^" M6 P七、问题解决# ^- d( v, }0 k) p* g% o) q7 x7 P' W& Y k0 u' q R再次重申,遇到软件问题先考虑自己有没有打上最新的Service Pack和IP Update。
. v/ z# _) G$ b+ z1 ~% y! Y8 X3 L4 y' j% V如果有疑问,其实最快的方法不是到论坛提问,而是到Xilinx Answer
Database找答案。大多数能想到的问题的答案那里边都有了。能不能找到就看会不会搜索了。
9 i; m. D+ S, C2 l& W7 Q" n; ^9 l* q! e' bXilinx的高级搜索
http://www.xilinx.com/company/advanced-search.htm,在Answer Database选项上打勾,就能查找Answer Record了。
* b& `2 ~# k7 \6 L" X- k- v" f, r' |/ J" j. Z9 P+ n当软件报出一个Error或者Warning,不明白他的意思,不知道怎么修改,不知道是自己错了还是软件bug,就可以按这个Error
Message去查找。
- i. ~- {: Z: A0 h+ J R- T0 v$ {( Z! i* P5 H6 b5 \可以说解决问题有两种途径,一是自己解决,一是寻求帮助。通常我都觉得先尝试自己解决问题比较好,一来培养能力,二来仔细研究问题后,寻求别人的帮助更容易理解别人的指点,另一方面也更尊重给你指点的人。
( _# h+ X8 J6 l. R