ISE中FPGA的实现流程

摘要:
MAP过程会进行多余逻辑剔除、组合逻辑合并之类的动作,具体实现过程受到各种约束的影响。MAP过程输出一个叫做NCD的文件,用来表示设计与FPGA基元之间的具体映射关系。对于除Spartan@-3和Virtex-4之外的的FPGA,Place过程已在MAP阶段完成,PAR只需完成Route(布线)即可。将配置文件加载到FPGA以后,FPGA才能实现被设计的功能。

一.ISE实现的步骤
在综合之后,我们开始启动FPGA在ISE中的实现过程,整个过程包括以下几个步骤:
1.Translate - 将输入的网表文件和约束文件整合后输出到一个Xilinx私有的通用数据库文件(Native Generic Database,NGD)中。
2.MAP -将设计映射到目标器件的资源上,可以选择在此阶段完成资源的布局。
3.Place and Route -按照时序约束的要求,完成设计的布局布线。
4.Generate Programming File- 生成一个可下载到FPGA器件的bit流文件。
本文将会详细的介绍如何完成一个设计的实现过程以及实现过程的这四个步骤。

二.启动实现过程的方法
1.在design窗口的第一行,找到view选项,选中Implementation模式,表示design窗口中显示的是Implementation过程的界面。新建工程中默认选择Implementation模式。
2.在design窗口上半部分的hierarchy子窗口中,点击顶层文件。
3.在design窗口下半部分的processes子窗口中,可以双击Implement Design启动完整实现过程,也可以右键选中run启动完整实现过程。同时,可以展开Implement Design,单独执行Translate、MAP、Place and Route等过程。Implement 结束以后,可以双击Generate Programming File生成bit流文件。Generate Programming File过程也可以通过邮件选中run来启动。
三.Translate
Translate过程将输入的所有网表文件和约束文件进行整合,输出到一个NGD(Native Generic Database)文件中。NGD文件是Xilinx自定义的一种通用数据库文件,在文件中设计被映射成各种NGD定义的基元,例如与门、或门、LUTs、flip-flops和RAM等。NGD文件中同时包含着原始网表文件中描述的设计层次,以及原始约束文件中包含的约束信息。NGD可被映射到目标系列的器件中。
主要输入文件类型:ngc(XST综合时的网表文件)、edf (synplify综合时的输入网表文件)、ucf(约束文件)
主要输出文件类型:NGD(Xilinx私有通用数据库文件)、BLD(Translate过程的报文)
四.MAP
MAP过程用于将设计映射到一个具体的目标FPGA中,输入文件NGD中描述的逻辑被MAP(映射)成具体的FPGA基元,如IOBs、Slices和RAMs。MAP过程会进行多余逻辑剔除、组合逻辑合并之类的动作,具体实现过程受到各种约束的影响。MAP过程输出一个叫做NCD(Native Circuit Description)的文件,用来表示设计与FPGA基元之间的具体映射关系。对于除了Spartan@-3和Virtex-4之外的的FPGA,MAP过程同时会完成FPGA基元的布局(Place)。
主要输入文件类型:NGD
主要输出文件类型:NCD(Xilinx私有电路描述文件,描述了逻辑与FPGA基元的具体映射关系,对于除
Spartan3和Virtex4之外的FPGA,NCD还包含基元的布局信息)、PCF(物理约束文件,用于约束各个FPGA基元之间的位置关系等)、MRP(map过程的报告)
五.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全名不相同,内容也不相同。
主要输入文件类型:NCD、PCF
主要输出文件类型:NCDXilinx私有电路描述文件,描述了逻辑在FPGA内部的具体实现)、PAR(PAR过程的报告文件)
六.Generate Programming File
Generate Programming File过程用于生成FPGA的的配置文件,配置文件(如bit文件)中包含了PAR后NCD文件中所有的布局布线信息,可用于FPGA的配置。将配置文件加载到FPGA以后,FPGA才能实现被设计的功能。
主要输如文件类型:NCD(PAR产生)
主要输出文件类型:bit(包含一些头信息和配置信息,可用于电缆线加载)、bin(只包含配置信息,存储在memory中的部分,如存在SPI FLASH中的配置信息)。

免责声明:文章转载自《ISE中FPGA的实现流程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python中用import导入包的机制原理求两个列表的交集、并集、差集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[转]FPGA使用LVDS差分信号的一些注意事项

最近在调试一个LVDS的屏显功能,涉及到了一些LVDS的东东,简单地整理如下,后续会再补充。 (1)对于altera FPGA(CYCLONE III) 1、对于作为LVDS传输的BANK必须接2.5V的VCCIO; 2、左右BANK(即1/2/5/6 BANK)的LVDS发送差分对信号无需外接匹配电阻,而上下BANK(即3/4/7/8 BANK)则需要,...

高速AD中的LVDS和FPGA

通常情况下,模拟输入信号通过高速ADC的量化输出的数字信号需要交给FPGA进行处理。如果高速ADC采用LVDS输出,那么经量化处理过的数字信号将会有非常多的LVDS数据差分对。而LVDS数据接收端,接收到的LVDS差分数据对相互之间可能会存在非常小的一个时间差异,该时间差异往往是皮秒级别的,而随着高速ADC采样率的提升,目前大多数的高速ADC采样速率已...

基于FPGA的XPT2046触摸控制器设计

基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com 发送邮件获取。 XPT2046是一款设计用于移动电话、个人数字助理、便携式一起、付款中断设备、触摸屏显示器等设备的4线制电阻触摸屏控制器。该芯片实质为一个多通道...

vivado/FPGA 使用小纪

1、使用FPGA做为外部控制器的总线译码时,将总线时钟接在全局时钟脚上(MRCC),就算接在了局部时钟(SRCC)上,也要通过BUFG转为全局时钟走线,否则会因为local clk到各部分的时延较大引起各种问题(时序不稳、观测信号无法正常加载等,血泪教训!) 2、VIO使用时要注意IO及信号走向要在同一时钟域,一个VIO的信号跨时钟域会带来不可预知的问题(...

FPGA配置方式

首先介绍下AS、PS、JTAG三种模式的区别。 AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合; PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程...

“FPGA+云"助力高性能计算

用AI防鲨鱼、用AI学写中国书法、用AI预测人类死亡时间、用AI审判罪犯……在人工智能方兴未艾的今天,越来越廉价和普及的AI领域真的是什么都不值钱,除了想象力。那在这无所不能的AI盛世,一定没道理让算力限制我们的想象力,更没道理让算力限制了我们的生产力。 从CPU到CPU+,从+GPU到+FPGA 随着通用处理器(CPU)的摩尔定律已入暮年,从美国的微...