ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能

时间:2024-12-22 14:03:49

2013-06-23 21:34:03

要知道“我写的这段代码会综合成什么样的电路呢”,就要搞清楚RTL图中每个模块的功能,从而将代码与硬件对应,判断综合后的电路是否与预期的一致。如何做到?

之前查了很多资料都无解,偶然的机会,发现借助器件的Libraries Guide for Schematic Designs可以解决这个问题。

RTL代码进行综合可以得到硬件的实现,在RTL schematic可以看到代码是用器件的library中哪些element实现的。下面进行详细说明。

在ISE的RTL schematic中,四角上带有小三角的不是library中的element,而是用户写的Instantiation,可以双击打开低层的图看到实现这些 Instantiation的element。

还是以前面文章中的异步FIFO(http://www.cnblogs.com/youngforever/p/3151540.html)的RTL schematic为例,RTL图如下:

ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能

上图中四角带有小三角如rptr_empty、sync_r2w等是自己写的module,而没有带小三角的如fifo_mem、and2b1、fdr是library中的element,我们可以猜测出and2b1是与,fifo_mem是FIFO存储器,但具体fifo_mem的工作方式是怎么样的?如果对应于某些复杂的设计,出资按一些element,我们猜不出功能,怎么办?

这些可以通过查找器件的Libraries Guide for Schematic Designs得到,比如上面的器件是Virtex-5的,那么就到xilinx的官网下载 Virtex-5 Libraries Guide for Schematic Designs.pdf,在该文档那个中有该器件所有的element的说明。通过文档的目录可以很快找到该element,比如文档中fdr的介绍如下:

ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能

对于其他感兴趣的element都可通过该方法找到其功能描述。

知道了所有这些element的功能之后,就能将硬件与代码对应起来了。