ISE中FPGA工程实现流程

在使用FPGA时,设计输入文件一般是原理图、HDL或者IP核,最终得到的是FPGA内部配置信息。

中间的过程由ISE逐步实现,总体来说,可以分为3步:

1、综合(synthesis)

2、执行(implement)

3、生成配置文件(generate programming file)

一、综合(synthesis)

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

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

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。

二、执行(implement)

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

一般分为3步:

1、translate

2、map

3、place&route

1、翻译(translate)

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

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

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

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

2、映射(map)

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

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

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

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

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

3、place&route

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

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

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

输出文件:ncd

猜你喜欢

转载自www.cnblogs.com/guofeng95/p/9180433.html