FPGA技术的一些基本概念(综合、BlackBox)(转)

原文:http://blog.sina.com.cn/s/blog_6254a8ca0100i0wr.htmlhtml

原文也是转的,哈哈,你们多转转,转转更健康。删除了一些Xilinx的东西app

 

前言编辑器

综合是将咱们的设计转化为FPGA能够读懂的配置文件的第一个步骤。本文努力从0基础开始向你们说明综合的基本知识和高级技巧。
话说全部的功能都有它应用的环境。在了解某个按钮选项有某个功能的时候,咱们更应该了解应该在何时什么状况使用它。
因此我以这种问答的形式,向你们展现综合过程当中可能遇到的方方面面的问题以及解决的方法。工具

-----------基础知识--------------oop

1. 什么是综合?
综合就是把HDL语言/原理图转换为综合网表的过程。布局

2. 什么是综合网表?
综合网表就是综合的结果啦。
综合网表的业界标准是EDIF格式。文件后缀一般为.edn, .edf, .edif。EDIF网表是能够用文本编辑器打开的文本文件。
Xilinx自家的综合结果是NGC网表。NGC网表是二进制的文件,不能用文本编辑器打开观察。性能

3. 综合网表中包含一些什么内容?
综合网表中除了包含从HDL语言中infer(推断)出的与门、非门等组合逻辑寄存器等时序逻辑以外,还包含FPGA特有的各类原语(Primitive)好比LUT,BRAM,DSP48(Xilinx),甚至PowerPC(Xilinx),PCIe等硬核模块,以及这些模块的属性和约束信息。优化

4. 综合工具备哪些?
Xilinx自家的XST,Synopsys(收购了Synplicity)的Synplify,Mentor Graphic的Precision 都是使用最普遍的综合工具。ui

5. 这些综合工具备什么特色呢?
XST - 随ISE自带,免费,对新器件支持快。可是对loop循环支持不如Synpilfy。综合结果的时序有时没有Synplify好。
Synplify - 应用最普遍。综合结果的时序性能和占用面积都不错,大器件的综合时间也相比XST有优点。可是很是贵,对新器件支持比XST晚一拍。
Precison - 没用过,不发表评论。spa

--------复制寄存器相关事项--------

(Altera的参考,当须要产生大量的寄存器时)

1. 何时要复制寄存器?
- Fanout太多致使延时增大(在FPGA中不是最主要的因素)
- Fanout太分散相距太远致使布局布线后出现过长的走线

2. 复制寄存器有哪些方法?
- 手动做HDL Coding,而且为了防止这些寄存器再次被综合器优化合并,须要将“Equivalant Register Removal”设置为False。
- 让工具自动复制。为须要复制的寄存器添加Max_Fanout约束,并关闭Resource Sharing和Equivalent Register Removal。注意当Max_Fanout约束设置得太小时,可能不会生效。

--------使用BlackBox注意事项------------
1. 什么是BlackBox
- 一个大的设计中能够用到一系列网表文件做为输入的一部分而并不所有使用HDL文件
当综合这个大设计时综合器不须要知道这个网表文件是怎样实现的,而只须要知道它的输入输出接口就能够了。这样的网表就称为黑盒子,由于咱们不须要看到它的内部状况。
- 一般付费IP都会以BlackBox的形式

2. 如何使用BlackBox
- BlackBox网表能够是EDIF或NGC文件。
- 每一个BlackBox网表都须要有一个与之相对应的HDL文件来注明它的端口。这个HDL只说明BlackBox的端口信息,而不提供具体实现信息。这个只提供端口信息的HDL文件称为Wrapper。Wrapper的名字一般须要与BlackBox网表的名字相同。
- 在ISE工程中使用BlackBox时只须要将它的Wrapper添加到工程中。而后像普通的模块同样在其上层声明和例化就能够使用。
- BlackBox网表文件能够放在ISE工程目录中,也能够放在其余任意文件夹内。当不放在ISE工程目录时,须要在Translate属性中将Macro Search Path指向这个目录。多个目录使用"|"分割。

3. 如何制做BlackBox- BlackBox只是普通网表而已。XST的综合结果就能够直接做为BlackBox使用。- 一般BlackBox外部还会链接其余逻辑,因此BlackBox中通常不插入IOBUF。在XST属性中去除Insert IO Buffer的选项。

相关文章
相关标签/搜索