所谓实现(Implement)是将综合输出的逻辑网表翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。实现主要分为3个步骤:翻译(Translate)逻辑网表,映射(Map)到器件单元与布局布线(Place & Route)。翻译的主要作用是将综合输出的逻辑网表翻译为Xilinx特定器件的底层结构和硬件原语(具体的原语详见第3章中的原语介绍)。映射的主要作用是将设计映射到具体型号的器件上(LUT、FF、Carry等)。布局布线步骤调用Xilinx布局布线器,根据用户约束和物理约束,对设计模块进行实际的布局,并根据设计连接,对布局后的模块进行布线,产生FPGA/CPLD配置文件。

翻译过程

在翻译过程中,设计文件和约束文件将被合并生成NGD(原始类型数据库)输出文件和BLD文件,其中NGD文件包含了当前设计的全部逻辑描述,BLD文件是转换的运行和结果报告。实现工具可以导入EDN、EDF、EDIF、SEDIF格式的设计文件,以及UCF(用户约束文件)、NCF(网表约束文件)、NMC(物理宏库文件)、NGC(含有约束信息的网表)格式的约束文件。翻译项目包括3个命令:

  • [Translation Report]用以显示翻译步骤的报告;
  • [Floorplan Design]用以启动Xilinx布局规划器(Floorplanner)进行手动布局,提高布局器效率;

  • [Generate Post-Translate Simulation Model]用以产生翻译步骤后仿真模型,由于该仿真模型不包含实际布线时延,所以有时省略此仿真步骤。

映射过程

在映射过程中,由转换流程生成的NGD文件将被映射为目标器件的特定物理逻辑单元,并保存在NCD(展开的物理设计数据库)文件中。映射的输入文件包括NGD、NMC、NCD和MFP(映射布局规划器)文件,输出文件包括NCD、PCF(物理约束文件)、NGM和MRP(映射报告)文件。其中MRP文件是通过Floorplanner生成的布局约束文件,NCD文件包含当前设计的物理映射信息,PCF文件包含当前设计的物理约束信息,NGM文件与当前设计的静态时序分析有关,MRP文件是映射的运行报告,主要包括映射的命令行参数、目标设计占用的逻辑资源、映射过程中出现的错误和告警、优化过程中删除的逻辑等内容。映射项目包括如下命令:

  • [Map Report]用以显示映射步骤的报告;

  • [Generate Post-Map Static Timing]产生映射静态时序分析报告,启动时序分析器(Timing Analyzer)分析映射后静态时序;

  • [Manually Place & Route (FPGA Editor)]用以启动FPGA底层编辑器进行手动布局布线,指导Xilinx自动布局布线器,解决布局布线异常,提高布局布线效率;

  • [Generate Post-Map Simulation Model]用以产生映射步 骤后仿真模型,由于该仿真模型不包含实际布线时延,所以有时也省略此仿真步骤。

布局和布线过程

布局和布线(Place & Route):通过读取当前设计的NCD文件,布局布线将映射后生成的物理逻辑单元在目标系统中放置和连线,并提取相应的时间参数。布局布线的输入文件包括NCD和PCF模板文件,输出文件包括NCD、DLY(延时文件)、PAD和PAR文件。在布局布线的输出文件中,NCD包含当前设计的全部物理实现信息,DLY文件包含当前设计的网络延时信息,PAD文件包含当前设计的输入输出(I/O)管脚配置信息,PAR文件主要包括布局布线的命令行参数、布局布线中出现的错误和告警、目标占用的资源、未布线网络、网络时序信息等内容。布局布线步骤的命令与工具非常多:

  • [Place & Route Report]用以显示布局布线报告;

  • [Asynchronous Delay Report]用以显示异步实现报告;

  • [Pad Report]用以显示管脚锁定报告;

  • [Guide Results Report]用以显示布局布线指导报告,该报告仅在使用布局布线指导文件NCD文件后才产生;

  • [Generate Post-Place & Route Static Timing]包含了进行布局布线后静态时序分析的一系列命令,可以启动Timing Analyzer分析布局布线后的静态时序;

  • [View/Edit Place Design(Floorplanner)]和[View/Edit Place Design(FPGA Editor)]用以启动Floorplanner和FPGA Editor完成FPGA布局布线的结果分析、编辑,手动更改布局布线结果,产生布局布线指导与约束文件,辅助Xilinx自动布局布线器,提高布局布线效率并解决布局布线中的问题;

  • [Analyze Power(XPower)]用以启动功耗仿真器分析设计功耗;

  • [Generate Post-Place & Route Simulation Model]用以产生布局布线后仿真模型,该仿真模型包含的时延信息最全,不仅包含门延时,还包含了实际布线延时。该仿真步骤必须进行,以确保设计功能与FPGA实际运行结果一致;

  • [Generate IBIS Model]用以产生IBIS仿真模型,辅助PCB布板的仿真与设计;

  • [Multi Pass Place & Route]用以进行多周期反复布线;

  • [Back-annotate Pin Locations]用以反标管脚锁定信息

经过综合后,在过程管理区双击“Implement Design”选项,就可以完成实现.经过实现后能够得到精确的资源占用情况。

转载于:https://www.cnblogs.com/peihao/p/5414016.html

基于ISE的设计实现基础相关推荐

  1. 用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)

    准备 先用行为级描述方式实现一个2输入一位全加器电路 由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的: 目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程 ...

  2. 大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计

    基于Python 的"大学计算机基础"课程教学设计 日期:2018-04-11 04:32 摘要 培养非计算机专业大学生的计算思维能力,在"大学计算机基础"课程 ...

  3. 路由设计技术基础(Fundamentals of routing design technology)

    路由设计技术基础(Fundamentals of routing design technology) UDP(User Datagram Protocol) FUNCTION TCP(Transmi ...

  4. 七日掌握设计配色基础_掌握正确的基础知识:如何设计网站的导航,搜索和首页...

    七日掌握设计配色基础 by Anant Jain 通过Anant Jain 掌握正确的基础知识:如何设计网站的导航,搜索和首页 (Get the basics right: how to design ...

  5. 基于Quartus Prime的NiosII基础开发流程

    基于Quartus Prime的NiosII基础开发流程 2018年11月23日 21:44:13 bt_ 阅读数 2246 更多 分类专栏: FPGA 版权声明:本文为博主原创文章,遵循 CC 4. ...

  6. 设计零基础配色的方法有哪些?怎么样才能配好色?

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 设计零基础配色的方法有哪些?怎么样才能配好色?颜色在设计和日常生活中起着至关重要的作用.它可以吸引你的眼球.有时,它 ...

  7. (八)、管理向基于模型的设计的转变

    在过去的 10 年里,传动控制工程师开发了控制系统并用 C 代码对其进行了编程. 这位工程师担任高级职位,他对自己的工作方式感到自在. 但随后他得知他的团队计划采用基于模型的设计,并且他将不得不改变他 ...

  8. 计算机php开发技术,基于PHP技术的计算机基础考试系统的开发

    余攀 摘 要 对于这个系统相关的开发,主要是针对于我们学校的计算机基础考试来进行的,从对于考试进行计时,先自动的进行分管卷子,然后进行试题管理等等方面进行相关的研究,这样的话可以更好地进行相应的研究, ...

  9. 基于云的虚拟桌面基础架构 (VDI)

    基于云的虚拟桌面基础架构 (VDI) OpenText™ Exceed TurboX™ (ETX) 长期以来一直是虚拟化在 Linux® 主机上运行的图形要求苛刻的软件的黄金标准.ETX 最新版本(1 ...

最新文章

  1. 11.cadence.通孔类封装创建[原创]
  2. CentOS7 安装 Gitlab
  3. 极客马拉松JUNCTION✖️TIANJIN
  4. (转)构建微服务:Spring boot 入门篇
  5. 一个简单的.NET MVC 实例
  6. android 16 登陆,那些年我们一起养过的电子鸡登陆Android平台
  7. TensorFlow——共享变量的使用方法
  8. Intel(R) 处理器产品型号/CPUID标识/签名对照表 (Family Model)
  9. Visual Studio下的 JS CSS 压缩和编辑插件
  10. python上三角九九乘法表_用5行Python代码打印九九乘法表
  11. linxu 启动过程分析
  12. nth-of-type和nth-child的区别
  13. BeanShell变量和方法的作用域
  14. 【unprofessional use Blog003】基因数据库NCBI相关介绍
  15. 冰山數據登榜《互联网周刊》2022数据标注公司排行
  16. 失望时想起了你是什么歌_你是空你是空色即是空的空空什么歌 《想起了你》哪里听...
  17. js点击左右按钮来切换多张图片
  18. js高阶函数的使用-filter/map/reduct
  19. 电脑文件定时备份到U盘
  20. 【感想】应试教育的死穴

热门文章

  1. Unity3d Time的使用
  2. jdk动态代理与cglib动态代理--InvocationHandler--MethodInterceptor
  3. C语言再学习 -- 随机数函数
  4. 【译】KNOWLEDGE EXTRACTION FROM UNSTRUCTURED TEXTS
  5. 一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)
  6. 全能HOOK框架 JNI NATIVE JAVA ART DALVIK
  7. Android存储系统之架构篇
  8. 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
  9. 语音聊天室 html,聊天室 - HTML - php中文网博客
  10. JZOJ 5404. 【NOIP2017提高A组模拟10.10】Graph