EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一.ISE实现的步骤 在综合之后,我们开始启动FPGA在ISE中的实现过程,整个过程包括以下几个步骤:
& _+ P, p! K L. r 1.Translate - 将输入的网表文件和约束文件整合后输出到一个Xilinx私有的通用数据库 文件
8 o( c( z5 P. Q0 ? (Native Generic Database,NGD)中。 0 }" b9 \8 `! G) _. Q' k. F- Y
2.MAP - 将设计映射到目标器件的资源上,可以选择在此阶段完成资源的布局。, j! j/ T2 @7 w
3.Place and Route - 按照时序约束的要求,完成设计的布局布线。/ x7 ^3 V8 i5 W3 f* w0 m4 f
4.Generate Programming File - 生成一个可下载到FPGA器件的bit流文件。
" ], w2 H* j' I6 c+ A, t 本文将会详细的介绍如何完成一个设计的实现过程以及实现过程的这四个步骤。
$ V- ?9 f% p) O: G, |. E2 F/ [5 g* Y, w
二.启动实现过程的方法 1.在design窗口的第一行,找到view选项,选中Implementation模式,表示design窗口中显示的是Implementation过程的界; ]3 H6 ?$ ?4 l! W# S; c; N
面。新建工程中默认选择Implementation模式。 G! Z- Q- e( Y/ ]8 s, f% y5 ^
2.在design窗口上半部分的hierarchy子窗口中,点击顶层文件。/ M% z9 E: `) z$ Z0 o; R
3.在design窗口下半部分的processes子窗口中,可以双击Implement Design启动完整实现过程,也可以右键选中run启动
2 |) o" w7 z) P9 Z; T. b3 ^0 d4 g 完整实现过程。同时,可以展开Implement Design,单独执行Translate、MAP、Place and Route等过程。Implement
# f" e+ m; T" p# D( b3 g 结束以后,可以双击Generate Programming File生成bit流文件。Generate Programming File过程也可以通过邮件选中
# Z6 d6 U( i: M( K run来启动。
; D6 ^! a6 J: S' s9 e7 b7 {
0 Q9 ^- m: P4 K# a1 S$ i三.Translate Translate过程将输入的所有网表文件和约束文件进行整合,输出到一个NGD(Native Generic Database)文件中。NGD文件是Xilinx自定义的一种通用数据库文件,在文件中设计被映射成各种NGD定义的基元,例如与门、或门、LUTs、flip-flops和RAM等。NGD文件中同时包含着原始网表文件中描述的设计层次,以及原始约束文件中包含的约束信息。NGD可被映射到目标系列的器件中。; b+ T* E: {1 |5 T
主要输入文件类型:ngc(XST综合时的网表文件)、edf (synplify综合时的输入网表文件)、ucf(约束文件)* L( j# i" R9 p* n' E- W1 u
主要输出文件类型:NGD(Xilinx私有通用数据库文件)、BLD(Translate过程的报文)
5 p/ z$ W) r* }9 t3 x四.MAP MAP过程用于将设计映射到一个具体的目标FPGA中,输入文件NGD中描述的逻辑被MAP(映射)成具体的FPGA基元,如IOBs、Slices和RAMs。MAP过程会进行多余逻辑剔除、组合逻辑合并之类的动作,具体实现过程受到各种约束的影响。MAP过程输出一个叫做NCD(Native Circuit Description)的文件,用来表示设计与FPGA基元之间的具体映射关系。对于除了Spartan@-3和Virtex-4之外的的FPGA,MAP过程同时会完成FPGA基元的布局(Place)。
8 {% c; K7 r. ~ 主要输入文件类型:NGD
/ [0 b# w* I; [/ M7 S+ X r- w 主要输出文件类型:NCD(Xilinx私有电路描述文件,描述了逻辑与FPGA基元的具体映射关系,对于除Spartan3和Virtex4( ~, D* D |9 r0 Q9 W$ M8 o" }
之外的FPGA,NCD还包含基元的布局信息)、PCF(物理约束文件,用于约束各个FPGA基元之间的
. ~3 H4 {( @$ C. j8 g 位置关系等)、MRP(map过程的报告)" H5 q3 J; b4 k0 Z
五.PAR(Place and Route) PAR过程用于将输入文件NCD中的FPGA基元放置在具体的位置,并且完整各个基元之间的连线。对于除Spartan@-3和Virtex-4之外的的FPGA,Place过程已在MAP阶段完成,PAR只需完成Route(布线)即可。PAR在Route时,根据时序约束,不断的尝试如何让所有的布线都满足时序要求,直到所有布线真的都满足时序为止。PAR的结果输出到一个NCD(Native Circuit Description)文件中,PAR输出的NCD和与MAP输出的NCD全名不相同,内容也不相同。) S$ W8 Q0 D$ I2 i7 w3 G
主要输入文件类型:NCD、PCF W4 m( }1 {# D, ~$ b4 e3 x
主要输出文件类型:NCDXilinx私有电路描述文件,描述了逻辑在FPGA内部的具体实现)、PAR(PAR过程的报告文件)) e$ J& p( `" y% K# M1 r& R3 {
六.Generate Programming File Generate Programming File过程用于生成FPGA的的配置文件,配置文件(如bit文件)中包含了PAR后NCD文件中所有的布局布线信息,可用于FPGA的配置。将配置文件加载到FPGA以后,FPGA才能实现被设计的功能。
; K; r, I7 }' t7 g 主要输如文件类型:NCD(PAR产生); q/ M h+ x5 z; R
主要输出文件类型:bit(包含一些头信息和配置信息,可用于电缆线加载)、bin(只包含配置信息,存储在memory中的部分,如存在SPI FLASH中的 配置信息)。
8 a; H2 X' \ k2 M8 g: ?6 f: `8 B , e9 W! g& z# E
|