Quartus II EDA工具进行综合
布局布线后,点击“Chip Planner”,Chip Planner打开后可以看到在版图模型中有一个块蓝色区域的颜色变深,说明有该区域的资源被占用,我们知道这是一个逻辑阵列块LAB,我们将该区域放大
放大后可以看到蓝色变深的区域中有16个小块,这16个小块就是LE(它们的走线时延的关系如下:同一个LAB中(最快) < 同列或者同行 < 不同行且不同列),其中只有一个LE的颜色变是蓝色的,说明该处的资源被使用了,双击蓝色的LE即可观察其内部的结构
双击打开LE后内部的结构如下图所示,其中蓝色显示的是真实使用到的结构,灰色的是未使用到的结构,我们可以看到有两个输入和一个输出,与RTL代码的描述是对应的,红色框就是查找表LUT。
依次打开上图红色箭头标记的5个LE
可以看到前4个LUT是b[0]~b[15],第5个LUT是Equal,结合Chip Planner视图可以初步推理出,16bit的b每连续的4个输入用一个LUT,输出的结果传到第5个LUT。再结合Technology Map Viewer(Post Mapping)视图可知,前4个LUT其实是存储了0000_0000_1101_0101,也就是16’hd5这个值,然后每连续的4个一组,与输入分别比较,如果LUT的值与输入的值相等则LUT的输出为1,如果不相等输出为0,所以第5个LUT的内部输入名为“Equal”我们也就不难理解了。而第5个LUT存储了1111,当前4个LUT与输入的比较结果与第5个LUT中存储的值比较,如果相等则输出0,如果不相等则输出1。
选中第五个LE,点击Generate Fan-in Connection也可以显示出16bit的b每连续的4个输入用一个LUT,输出的结果传到第5个LUT
目前大部分FPGA都基于6输入LUT的(本例选用FPGA较老,是基-4 LUT),如果一个输出对应的判断条件大于四输入的话就要由多个LUT级联才能完成,这样就引入一级组合逻辑时延,我们要减少组合逻辑,无非就是要输入条件尽可能的少,这样就可以级联的LUT更少,从而减少了组合逻辑引起的时延。
例如:一个32位的计数器,该计数器的进位链很长(cnt<=cnt 32'd1),必然会降低工作频率,我们可以将其分割成4位和8位的计数,每当4位的计数器计到15后触发一次8位的计数器,这样就实现了计数器的切割,也提高了工作频率。
文章来源:网络素材
版权归作者所有,侵删
NOW现在行动!
学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......
文件名 | 主标题 | 内容简单介绍 | 是否有中文版 | |
---|---|---|---|---|
UG476 | 7 Series FPGAs GTX/GTH Transceivers | GTX和GTH介绍,PCIe、serdes等学习必备 | 否 | |
UG471 | 7 Series FPGAs SelectIO Resources | 描述 7 系列 FPGA 中可用的 SelectIO资源。 | 否 | |
UG1114 | PetaLinux Tools Documentaton | PetaLinux 工具文档 参考指南 | 是,V2019.2 | |
UG949 | UltraFAST 设计方法指南(适用于 Vivado Design Suite) | 赛灵思® UltraFast™ 设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标 | 是,V2018.1 | |
IP手册 | pg057 | FIFO Generator | FIFO生成器IP使用手册 | 否 |
pg104 | Complex Multiplier | 复数乘法器IP使用手册 | 否 | |
pg122 | RAM-Based Shift Register | 移位寄存器IP使用手册 | 否 |