ISE中FPGA工程实现流程

在使用FPGA时,设计输入文件通常是原理图、HDL或者IP核,最终获得的是FPGA内部配置信息。数据库

中间的过程由ISE逐步实现,整体来讲,能够分为3步:布局

一、综合(synthesis)spa

二、执行(implement)翻译

三、生成配置文件(generate programming file)设计

 

1、综合(synthesis)code

综合是将设计输入转为网表的过程。blog

 

网表提取出了设计输入文件中器件或端口的链接方式,以下图:class

Net1: t.p1,b1.a;  
Net2: t.p2,b1.b;  
Net3: t.p3,b1.c;  
Net4: b1.d,b2.e;  
Net5: t.p4,b2.f;  
Net6: b2.g,t.p5; 

 

在ISE中,能够选择自带的XST用于综合,生成的网表文件后缀为ngc,也能够选择synplify用于综合,生成的网表文件后缀为edf。原理

 

2、执行(implement)配置

执行是利用网表与约束文件,生成对应型号的FPGA所需的配置信息。

通常分为3步:

一、translate

二、map

三、place&route

 

一、翻译(translate)

将网表文件与约束文件转为一种新的数据库文件,把两个文件的信息放到一个文件中,便于后续处理。

 

注:约束文件通常由用户编写,例如FPGA引脚配置就是一种约束。

 

输入文件:网表文件(ngc或edf)、约束文件(ucf)

输出文件:xilinx数据库文件(ngd)、translate报文(bld)

 

二、映射(map)

将数据库文件里的信息映射成具体的FPGA基元(Slices,RAM和IOBs)

通常MAP过程会根据约束信息,剔除多余逻辑、合并组合逻辑等。最终生成xilinx私有电路文件ncd,包含了设计与FPGA基元具体的映射关系。

对于大部分FPGA而言,MAP时,顺便也完成了后面基元的布局(Place)工做。

 

输入文件:xilinx数据库文件(ngd)

输出文件:xilinx私有电路描述文件(ncd)、物理约束文件(pcf)【约束各个基元之间的位置关系等】、map过程报告(mrp)

 

三、place&route

负责放置基元的实际位置,并布线。

 

布线时,根据时序约束不断布线,直到知足时序要求。

 

输入文件:xilinx私有电路文件(ncd)、物理约束文件(pcf)

输出文件:ncd

相关文章
相关标签/搜索