俗话说“授之鱼不如授之以渔”,看到这边有人要资料有人送资料的,其实论坛不更应该是一个交流的空间么?那就让找资料更有效率一点,让大家花更多时间来交流吧。
3 A9 x ]6 y6 a. h2 E
' y1 T ~. s& K, S3 r u言归正传,写这篇文章主要想介绍Xilinx各种资料的找法、分类方法和什么问题该看哪些资料。限于经验,难免有错漏,希望大家指出错误并继续补充。
9 h( N) e. Q: g" }
# q% t' j$ O8 w& Y/ A5 C! h9 ~$ B
6 u& L1 r, z8 r+ s! K一、软件
( m d, C9 z: j) `: f7 N, a& R- s/ }$ g
Xilinx的软件主要是ISE, EDK, ChipScope Pro, System Generator, PlanAhead, ModelSim,如果要算上AccelDSP也凑合,不过相信国内没多少人用。
% c- l0 D7 O; t& w5 H. S# z, c# Z
+ {0 {. l0 l% ]5 |
ISE是主要的逻辑设计软件,其他软件的具体实现功能都依附于ISE。ISE有Foundation版和WebPack版。WebPack版免费,Foundation版收费。两者的区别是支持的器件不同。功能是相同的。
/ Q% c5 X! H$ J, F* z. f
) w0 a* x6 Y+ h( \" P2 jWebPack版支持的功能可以看
http://www.xilinx.com/ise/products/webpack_config.htm。
/ _( d z$ ^( X) {0 A2 uFoundation的话当然全支持拉,要看的话在这里
http://www.xilinx.com/ise/logic_design_prod/foundation.htm。
7 T/ u5 f* \/ v: Z+ n9 l& ]
说这些的目的就是,如果你的器件WebPack支持,就直接到网上下载WebPack吧,没有版权之类的后顾之忧;如果不行,Verycd上找些东西还是挺方便的。
% m2 G: x* |0 Q4 {! I5 b& p7 J+ r' K5 f4 u
ModelSim MX有免费的starter version,可以和ISE WebPack一起下载,安装以后在开始里面点licens_e request就可以申请starter的使用权了。另外,可以VHDL和Verilog各申请一个,那么就可以仿真两种语言了,不过不支持mix language。
http://www.xilinx.com/ise/verification/mxe_details.html8 N3 @- V( O' `& W: k0 O% h
不过那一页说的ModelSim XE的use case不准的,XE,PE,SE的差别还是仔细看这里吧。
http://www.xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=245062 A' G! {+ Y: v5 B
3 d( w7 ]$ Z+ r0 Q4 s8 s# B$ v
ChipScope有(好像是)60天的评估版。
$ y+ c$ p! F" W% x/ O
www.xilinx.com/chipscope
( h2 d4 p- n! H0 A" W; R* T! p8 S4 N
1 e4 _8 a* h& M' F- N: TPlanAhead(稍微介绍下子,没有接触过的朋友可能不知道这是什么)
6 G0 U2 k6 n4 g/ V3 yPlanAhead是ISE7以后推出的软件,它的主要功能是对一个综合后的NGC/EDIF网表进行布局布线的规划。听上去功能有点像FloorPlanner,但是功能却强大得多。
0 E7 `: r6 P. Z+ m& M
罗列一下我喜欢它的地方:
7 _( a' T: N3 B9 E; l. h6 c8 U
1、因为使用了GateVision的EDIF显示引擎,使网表显示非常漂亮。
$ b+ J( y# ^, Q
2、ExplorerAhead可以控制具体使用哪些MAP/PAR的参数,比使用Xplorer更方便,提高Timing结果很有效率,还支持多CPU。
B3 v S+ O. X- x6 q
3、Show Hierarchy可以看出每个层次的连接以及每个层次占地大小的比例。
& m; r! Y; P! d. Z% z
4、画Pblock,规划布局布线。这个就有点像FloorPlanner,但是可以显示每个画出的Pblock包括多少资源,并可以仅对某个Pblock布局布线,布局后还能整体移动整个Pblock。
6 o/ h/ J8 D/ O8 x* f( _' H9 Y8 D
5、自带的Tutorial很周到,容易上手。
% y- g# U" ^& a" T6 f
- j, ?: B% \/ A: b以上是我用过的功能,还没用过的功能是:
2 e7 C/ U ~! p4 B! Q* ~1、PinAhead自动检查DRC和WASSO,自动放Pin。
5 n1 n4 _. d1 I$ |" ^2、用PlanAhead做Partial Reconfiguration,流程比以前方便很多很多。
9 z! e' V* W `- a0 Y* c
# M$ t; ?( X5 u3 u; q3 b0 Z4 R; KPlanAhead有30天的免费评估版。更好的事情是,30天过后还可以再申请。
: D2 w9 g7 d8 s, c/ M5 iwww.xilinx.com/planahead u8 V; I3 C5 ~8 l; b. t
0 s* J) h" | |2 d7 y0 x
其他的,就靠大家发挥各自的神通啦,不过一般Verycd上都有的。
1 w- w3 {7 r: ]; L. E3 e
2 g8 D# x/ `5 l1 d1 x# `& ^: R7 t- s0 U H: t3 D9 E
二、软件更新
w6 N/ l' g$ C; m/ T2 {
) I* C) O* D; ^6 t% j3 Uwww.xilinx.com/download是Xilinx的Download Center,ISE的Service Pack, IP Update在那里都有下。注册一个账号就可以下载了。
) D5 d( y, X+ L
; ^6 p% ^! @- M. r( X, F关于更新,多说两句。
不管正在使用ISE的哪个版本,出了新的Service Pack就及时下载更新一下,这样会省去你很多可能会有的麻烦。一般Service Pack 1在公开发布的主要版本的3天后就会发布,而后的每个Service Pack都相隔一个月左右。
5 F! k5 b, Q z8 t5 x
4 `- D' {8 B' R' G+ S% SISE Service Pack是指ISE除了CoreGen和IP Core以外的所有更新;IP Update当然就指CoreGen和IP Core的更新了。
$ U$ p6 k! [8 B! d, H3 i; W& t. `3 ?; A8 t
IP Update打上了以后,用ModelSim XE的要下载XE的更新的库,用SE或者PE的要用compxlib重新编译一下库。
( F$ j4 L6 L- Q }( q* L+ g+ B4 o7 Q% |0 L" m
有一个东西可能不是很多人用,就是Download Center里的CAE Vendor Library。里面是给第三方软件使用的库,比如Cadence/Synopsys的综合工具、形式验证工具等。
( o/ v6 E# W4 I5 a% D* X
9 h f1 z8 C& N% i# j$ F
# `. g! u. m, b4 }( i三、软件教程2 Z' x9 e1 _" `; o
) u4 n$ \$ @* q; n% \% m2 p/ K作为入门教程来说,Xilinx放在Demosondemond网站上的那些视频教程可以说是最好的了。链接就在Xilinx主页左下角的位置。
6 R$ Y& L1 R! v1 Lhttp://www.demosondemand.com/clients/xilinx/001/page/index.asp
0 h q Y$ u% x视频教程内容有关于最新的硬件的,也有各种软件的,基本算挺齐全的。有多好,自己看就知道了:)
, J; D: J! M/ {
最近要查看demosondemand网站的录像需要注册了,dod的注册很严格,注册需要公司邮件地址或者学校带edu的邮件地址。
5 k* ]+ `) s3 ^; y( @; g7 e; g/ h6 a7 }% D
视频资料还有一类,就是放在TechOnline上的WebCast。涉及面不止软件,也还有很多硬件的资料。[url=space-uid-58158.html]alex_yyp[/url]总结得很好,我抄一下嘿嘿:
http://www.techonline.com/electronics_directory/webinar/896
5 d" M* A7 g$ k+ @# JWebCast都是可以与演讲者实时互动的(虽然大多是美国的,时区跟我们有差异,但是中国的WebCast也还是有的),最新的WebCast信息可以订阅TechOnline,或者在Xilinx.com的网站右上角察看。
0 f2 r7 H3 {2 Z# {, j
8 f1 C& {8 d3 A# H$ X( ^; S, @) j
接下来应该看的是Tutorial。
7 K+ M; s4 |; N6 L0 R2 @" Xhttp://www.xilinx.com/support/techsup/tutorials/: J* ?. ?* h, U* K- a
主要是ISE, EDK, PlanAhead的,还有Timing Constraint的。时序约束的那篇文档算是讲得比较全的,还有可以深入阅读的一篇文档就是
wp237,关于offset约束的。
" Y7 l0 n7 p+ @( [( e8 k' w
! X* j8 F- j0 o/ s8 ~
ISE做了Tutorial基本操作应该没问题了。
; E4 t2 P3 [4 ~3 }$ [4 Y
ChipScope比较简单看了Demosondemond的视频教程应该就会了。还不清楚的话看看安装目录里的UG029。
- o: k7 H- c/ Z8 f
PlanAhead虽然比ChipScope复杂,但是视频教程还是很不错的,再加上Tutorial,应该也够了。
$ e7 |9 T$ _( j/ y6 K$ Y! p* N
( m7 [) H. ^* [' u9 s2 i) d
更进阶了解ISE,需要阅读ISE的Manual。打开Manual可以从开始菜单中ISE->Documentation->Software Manuals;也可以在ISE安装目录下的doc目录查找。
% s) K$ v& d+ p5 ?: H
& O0 M- Y* |. s9 L3 a2 o# P6 f4 E列出几个重要的Manual:
; f7 u# a2 M: D, T+ t/ I2 f% cXST User Guide (xst.pdf):关于XST的开关选项等
1 z' i% A3 y+ b! W/ I0 L7 EDevelopment System Reference Guide (dev.pdf) :除了XST外的实现工具比如map, par, trce等的实用指南
: d2 Y1 c8 n# ?; v4 ]
Constraint Guide (cgd.pdf) :约束的指南。包括时序约束/非时序约束;UCF约束/XCF约束。
3 p) b( `, F; O5 c4 I1 l% ^; [$ eSynthesis and Simulation Guide (sim.pdf):其实主要是说明仿真的具体内容。
. m) d! M; V2 V6 ^Library Guide:针对每个器件不同的primitive例化模板和说明。
, t. u3 K# O* N8 z
5 U1 t: B( s. ~! N* h! I
ModelSim官方网站有些Flash的演示也很不错
7 j/ k$ R8 h: f: u" |, Ohttp://www.model.com/resources/resources_demos.asp" t6 `+ B6 s4 L9 s* M* V0 I
安装目录下的User Guide如果能跟着做一遍,应该也很不错了。
R7 J k0 j, v
: G/ h+ k3 O) `; s关于HDL的写法,
wp231非常不错。
* N( O! t* U f) X7 N
$ ^! [$ Z7 n# _6 A. I. o
另外,Xilinx有丰富的客户培训教程,大客户由Xilinx直接上课,小客户交给第三方来完成的,中国这边是E-Elements。有机会参加的话也不错。
+ u3 Z. r" [7 w, h8 P" I5 `
0 J* Q" y3 a Z
E) ]$ I ^+ H四、硬件资料
+ `0 i& O2 _+ \' n" ~: W! k! u. j( v6 f7 |: A
所有的硬件资料不外乎DataSheet和User Guide。
) F- Y$ F+ g: t2 ~" y+ d) M
基本就是使用方法在User Guide里找,各种参数在DataSheet里找。
3 Q2 v& t- ~1 O" J) O ^& V6 D+ G关于DCM,有一篇关于Spartan 3的DCM的文档很全。
' k, W7 m+ }6 r. @2 Q) _- R
其他的基本都可以参考Virtex 4各种各样的User Guide,讲得全。
4 a/ h( }, k) f# G做硬件设计,V4的Configuration Guide (
UG071),PCB Guide (
UG072)都是值得一读的。
& W) s, R, c a0 E2 `& ~UG112是Package Guide。
, l& u" ~5 \4 i B& S/ M/ e更多的文档看
这里
, u5 ^! y ~; {. a) @
4 C3 k8 C1 e! `$ ~ Y9 O5 I( |五、DSP
& \4 }( s( c! O) \7 h
7 O1 o9 z" d, b' [) zXilinx有本中文版的DSP书,名字叫《DSP:最佳结果设计》。免费放出PDF版本,
6 j: d6 ?5 g/ ]+ W4 E在
http://china.xilinx.com/publications/books/dsp/index.htm可以找到。
* M |3 g' D3 E9 o( \- A8 J
! i, }, b. a# h: M) J7 m" w
关于DSP的特性,System Generator教程,XtremeDSP Kit的演示,在
Demosondemond的视频教程里也都有。
, s# I: I% I9 u5 O) T+ ?
0 p0 f, M' M0 b$ P* s
% m) h6 g" |; V' Y0 M+ [六、参考设计
1 ]. Y, n$ s0 A; n9 Q9 R
7 E# U- R+ u4 A6 H/ S; r+ L, D对于各种常见的应用,Xilinx都有现成的参考设计或者IP core,只需要修改少量的代码就可以放在自己俄设计中使用了。这时候就应该查阅Xilinx Application Notes。Application Notes都以xapp开头。地址
www.xilinx.com/xapp
4 \9 R% S' b! c! h. K" P9 Y- X1 K* p9 U) I, z2 }' K
对于CPLD,有一个Application Note的合集,叫做CPLD Applications Handbook。
/ `! f& O& s7 g" D9 K7 ?" c
http://www.xilinx.com/publications/products/cpld/cpld_applications_handbook.pdf
3 @1 L3 u* r' Z2 W: { N9 F R- \2 B* R8 ^1 b0 v" p! D" C
还有一些可以研究的Reference Design是随板子附带的参考设计,ML40x, XUP, Spartan3/3E的参考设计都非常全。
% Y! |. f' |& S: m# h e& Cwww.xilinx.com/ML403
( \# D1 Y2 ]! i# o8 s
$ J+ H+ {: E, J8 a; \7 Z
! ^2 K5 W/ N1 J. s8 W七、问题解决
& @- k. C* {) \# M3 X0 ~, Z4 V% H% E/ f7 C+ o
再次重申,遇到软件问题先考虑自己有没有打上最新的Service Pack和IP Update。
9 P, N" E& B5 @5 Z) R- ^9 O& ^9 V, ^: x" g+ t1 O4 B( r
如果有疑问,其实最快的方法不是到论坛提问,而是到Xilinx Answer Database找答案。大多数能想到的问题的答案那里边都有了。能不能找到就看会不会搜索了。
" L9 E* U" F9 A2 J4 R4 h
) I! u! Z9 }8 LXilinx的高级搜索
http://www.xilinx.com/company/advanced-search.htm,在Answer Database选项上打勾,就能查找Answer Record了。
. A" @- B- ^3 {, p+ M8 ]! f/ H
当软件报出一个Error或者Warning,不明白他的意思,不知道怎么修改,不知道是自己错了还是软件bug,就可以按这个Error Message去查找。
d, I2 E: h$ ?+ ^' t4 C; B* I
1 v! K/ T e; J, K可以说解决问题有两种途径,一是自己解决,一是寻求帮助。通常我都觉得先尝试自己解决问题比较好,一来培养能力,二来仔细研究问题后,寻求别人的帮助更容易理解别人的指点,另一方面也更尊重给你指点的人。
/ c1 l2 U2 f* {4 `4 s+ l
1 K. |. U, }2 e& K5 k. |
$ P. _0 d8 {4 y3 _1 B. A七、总结, e3 [; |, Q# \% T4 N
写得仓促,到最后感觉有些虎头蛇尾,以后有机会会更新。
2 d# t0 Z, _* R' W* [/ r! |5 X; V希望此文是抛砖引玉,大家有更好的经验可以一起分享。
! F e/ |9 ` \3 H$ Z* v- A# E最后,再给我的blog做个小广告,www.rickysu.com欢迎大家光临。
" f( P T' v( ?6 o( I* n. ^' ^3 z7 y h4 }* U9 X
八、声明% E. R3 O4 }/ o3 S1 z
本文首贴于edacn.net,欢迎朋友们转载,但本人将仅更新edacn.net上的帖子。转载请保持原样。谢谢大家支持。
+ |% S8 m# I3 J
" k) K2 F$ c- D, ^; T
5 Y9 X' x/ G! Z# m; `* d6 X6 r* o- IHistory# X$ J/ I$ G9 N0 y' u
2007-04-05 -- Initial Release
1 ?3 a% q6 n5 J5 ? t! Y8 w' ^5 `: a4 b5 i2007-04-06 -- 添加ML403,UG071,UG072,修改错别字
& r' E9 F; `/ F7 Y8 R2007-04-13 -- 添加WebCast,DSP,Manual说明* Q$ `3 C4 ~4 p
2007-05-14 -- 修改ModelSim MXE Starter Version的说明- A& a# L5 n" |* q
2007-05-26 -- 添加声明和dod注册信息1 M9 h9 D5 I0 Q2 s
2007-05-30 -- 添加PlanAhead简介# |; c J0 j/ u0 G5 _3 K: n
Z5 P; N1 s/ v" q& u$ N! O) c3 G% s
$ w+ |! M2 g7 G$ F) c0 S5 O6 C8 Y+ J
& u2 o4 ]: Z1 j. @: C8 j, J[
本帖最后由 ETETETT 于 2007-5-30 18:18 编辑 ]