ISE中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的实现流程的更多相关文章
- 每天进步一点点------ISE 12.4的FPGA设计基本流程
基于ISE 12.4的FPGA设计基本流程 ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入.仿真.综合.布局布线.生成BIT文件.配置以及在线调试等 ...
- 49.关于Quartus和ISE中ROM的初始化和仿真的一些小结
最近在玩Altera的FPGA,当我用Quartus II自带的IP核生成ROM时,出现了各种问题,于是在网上各种查资料,终于解决了我的问题.这里做一下小结,方便自己日后查阅. Quartus II ...
- [转载](转)ISE中ROM初始化文件(.coe)的建立
原文地址:(转)ISE中ROM初始化文件(.coe)的建立作者:老徐 UltraEdit 对于ROM模块,主要是生成相应的.coe文件. 1.在Matlab中生成正余弦波形的浮点值,并量化为16bit ...
- 在Powershell ISE中添加sharepoint的智能提示,Enable SharePoint PowerShell Commandlets in the PowerShell ISE
Powershell ISE在默认状态下有一个不好的地方就是不会显示关于SharePoint的一些智能提示,例如你写一个"get-"后面提示的选项里没有sp开头的一些对象.于是找了 ...
- Quartus II中FPGA的管脚分配保存方法
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...
- EDK中如何使用ISE中生成的IP
EDK中如何使用ISE中生成的IP: 网上上有说这个的文章,但是很复杂,也就是添加bdd文件,其实这些都不需要自己操作的,我们可以在EDK中import 中添加ngc文件,ngc文件就是core ge ...
- ISE 中使用system generate
本文讲解简单的ISE中使用system generate,system generate基本使用规则在此不详细说明可以见博客http://blog.csdn.net/xiabodan/article/ ...
- Android中Linux suspend/resume流程
Android中Linux suspend/resume流程首先我们从linux kernel 的suspend说起,不管你是使用echo mem > /sys/power/state 或者使用 ...
- shell中命令的执行流程
在shell中,一个命令有3中写法: 1 可以直接写(Normal Command) 2 可以放在双引号中("Command") 3 可以放在单引号中('Comand') 这3中写 ...
随机推荐
- Ubuntu 14.04默认以字符界面启动
在windows上跑虚拟机比较资源,特别当以图形界面启动时,如果宿主机性能不好,就相当卡. 让Ubuntu 14.04默认以字符界面启动的方法: 编辑文件:etc/default/grub 将 GR ...
- ZT C++关键字new学习
http://blog.csdn.net/waken_ma/article/details/4007914 C++关键字new学习 很多新手对C++关键字new可能不是很了解吧,今天我一起来学习一下. ...
- 最简单的nginx教程 - 如何把一个web应用部署到nginx上
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Ра ...
- Android(java)学习笔记4:线程的控制
1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...
- CF526D Om Nom and Necklace
嘟嘟嘟 我们可以把AB看成S,则要找的串可以写成SSSSA或者SSSSS.假设S出现了Q次,那么A出现了Q % k次,则B出现了 Q / k - Q % k次. 当ABABA是SSS的形式时,B可以为 ...
- [18/11/26] this关键字、static关键字和静态块(及语句块)
1.this关键字 this的本质就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表“当前对象” [用法] 1. 在程序中产生二义性之处 ...
- maven学习记录四——私服 nexus
8 私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码 admin/admin123 仓库类型 Virtual 虚拟仓库 Proxy 代 ...
- 【题解】洛谷P2421[NOI2002]荒岛野人 (Exgcd)
洛谷P2421:https://www.luogu.org/problemnew/show/P2421 思路 从洞的最大编号开始增大枚举答案 对于每一个枚举的ans要满足Ci+k*Pi≡Cj+k*Pj ...
- 【题解】洛谷P1313 [NOIP2011TG]计算系数(组合+二次项展开)
洛谷P1313:https://www.luogu.org/problemnew/show/P1313 思路 本题就是考查二次项展开 根据定理有:(ax+by)k=∑ki=0Cik*aibk-ixiy ...
- LeetCode6.Z字形变换 JavaScript
将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T ...