刚开始学习Zynq-7000,请问是用vivado好还是ISE好

如果输出被路由到多路复用 I/O 引脚(MIO 或 FIXED_IO)能否把 ILA 内核连接至往返于外设(在 Zynq PS7 上)的信号,以便分析输出或双向流量

ILA 和 VIO 内核驻留在 Zynq PL(架构)中,因此外设的输出信号必须囿一个从外设通向该架构的路由路径

如果外设映射到多路复用 I/O 引脚 (MIO) 上,就没有这些信号前往该架构的路径驻留在 PL 中的 ILA 或 VIO 也探测不到这些信号。

这些工具将允许 MIO 或 FIXED_IO 把 MARK_DEBUG 设置为“真”但它们会在综合过程中发出下列警示:

如果输出从 MIO 总线移动到 EMIO 总线上,从而提供一个通往 PL 架構的路径这些信号就可通过 ILA 或 VIO 内核探测,但外设的输出将不再路由至 MIO 引脚

这需要改变管脚,因为信号不仅将穿过该架构而且还会在通往 SelectIO 引脚(能被 PL 访问)的路径上被探测。

本答复记录是否对您有帮助

这两天基本完成了实验室工程从ISE姠vivado的移植包括了两片FPGA的两个工程,这两个工程还算是比较大的工程包括了内存,接口embedded system,算法模块等在这过程中也很好的熟悉了vivado的開发流程,发现了一些很好用的工具

首先从整体上对vivado这个工具有了更深入的认识,整个可以分为源代码的编辑(包括hdl代码的编辑IP core的添加),这里有两个独立的工具一个是IP integrator,其实就是生成block design用的而这个block design往往是embedded system,采用图形化界面最后是一个bd源文件,加上hdl的顶层wrapper;还有一個是RTL analysis这个虽然我没有用,但是应该是和源代码编译相关的这里有一个叫DRC(Design Rule Checks),其实就相当于以前ISE的synth check这里因为是移植工程没有新的源代码嘚编辑,所以不了解这个编译器是否好用

其次就是仿真,这里仿真不再是IsimXilinx重新编写了仿真工具,而且效率快很多使用简便,点击对應testbench文件run simulation就行。

summary这个都是一个初步的结果,流程和implementation之后一致这里就不在介绍了,一般我们都看implementation的结果

最后就是implementation步骤,implementation结束后也是会茬原来project manager这里出现一个impl_1其实里vivado设计是可以允许打开多个impl设计的,这样可以方便对比不同设计的结果并进行优化,提高优化的效率

这里偅点觉得好用的是open implementation design下面的几个小工具(前一篇文章都提到过用法),首先report clock network可以一目了然的看到都有哪些时钟约束这个我觉得应该是优化時序的时候首先要做的,或者说在编辑约束文件结束后准备布线是首先需要看的,保证时钟约束没有遗漏和问题;

report clock interaction这个是为跨时钟域約束准备的工具,之前也给出了一个示例图其实感觉用处也不大,看起来费劲;

report timing summary其实这个才是常用的工具,他不仅可以查看静态时序汾析报告这是最基本的功能,关键是他的时序分析中列出了单时钟的路径,跨时钟域的路径异步时钟域跨时钟域路径,很清晰这時候再看错误的路径就很清楚的了解到其所在的位置,然后点击错误的路径可以在device中打开,双击可以列出详细的路径描述(和ISE中里面的static timing analysis┅样)这里device其实就是之前的plan ahead,其实可以根据此进行手动布线(但是感觉真正还是用的少还是得想办法代码优化);最后还可以右键点擊错误路径直接添加约束,这个适合于单个false path没有约束到以及跨时钟约束没有约束到的情景。建议的使用方式是剪切其界面里给出的tcl约束玳码然后复制到xdc约束文件中,这样快一些

讲了半天还是时序约束相关的多一点。毕竟这个是高级功能

我要回帖

 

随机推荐