前言:本文章为FPGA问答系列,我们会定期整理FPGA交流群(包括其他FPGA博主的群)里面有价值的问题,并汇总成文章,如果问题多的话就每周整理一期,如果问题少就每两周整理一期,一方面是希望能帮到不经常看群消息的小伙伴,另一方面也算是我们的技术积累。
Q:Vivado的Implementation阶段约束报警告?
[Vivado 12-627] No clocks matched 'sys_clk'. [timing.xdc:37](63 more like this)
A:对于约束的问题,我们可以在Vivado的tcl中先执行一下这些约束指令,如果有问题的话会报出来的,然后就再将指令拆开执行,看是不是指令中的get_pins
没有获取到正确的结果。
Q:画Pblock有什么讲究吗?
A:其实Pblock的原则都比较简单,首先Xilinx建议Pblock最好是矩形,其次如果需要画Pblock的module直接接到了pad上,那这个Pblock的位置要尽量靠近pad,减少走线延迟;当然Pblock的大小,肯定要比实际的资源数多一些,保证可以放下我们的module。再补充几点关于Pblock的知识,可能大家容易忽略的:
- 在画了Pblock后,只能保证module只使用Pblock内部的逻辑资源,不能保证其他模块使用该Pblock中的资源,也不能保证该模块不使用Pblock外部的布线资源;
- 在vivado的Tools->Floorplanning-> Place Pblocks,可以看到需要自动设置的Pblock
- 如果对于画Pblock始终没有明确的思路,那可以试试
USER_CLUSTER
这个属性,就是让工具自动布线更紧凑些
Q:Vivado中的smartConnect和InterConnect有什么区别?
A:这应该是很多工程师的困惑,都有了InterConnect,为啥又有smartConnect,首先直观上的体现就是smartConnect的接口要少,这个就不多说了。
在AMD的官网上有个回复是:
Both IP have the same functionnalities.
AXI SmartConnect is the successor to AXI Interconnect, it uses a different IP technology. You should use it for any new design.
在UG994中,有这样一段描述:
The AMD LogiCORE™ IP AXI InterConnect and SmartConnect cores both connect one or more AXI memory-mapped master devices to one or more memory-mapped slave devices; however, the SmartConnect is more tightly integrated into the Vivado design environment to automatically configure and adapt to connected AXI master and slave IP with minimal user intervention. The AXI Interconnect can be used in all memory-mapped designs.
There are certain cases for high bandwidth application where using a SmartConnect provides better optimization. The SmartConnect IP delivers the maximum system throughput at low latency by synthesizing a low area custom interconnect that is optimized for important interfaces.
因此有些场景下,SmartConnect比InterConnect的性能更好,延时更低,带宽更大。
微信公众号:傅里叶的猫