FPGA设计软件:Xilinx Vivado设计套件的时间集成功能概述
2018年8月24日通过史蒂夫asrar本文将介绍Xilinx Vivado Design Suite的一些最重要的特性,它们加速了设计过程的“集成时间”。
本文将介绍Xilinx Vivado Design Suite的一些最重要的特性,它们加速了设计过程的“集成时间”。
传统的FPGA设计主要关注可编程逻辑和I/O的概念。然而,今天的复杂应用需要超越可编程逻辑到“可编程系统”。这是创建Xilinx Vivado设计套件背后最基本的思想之一。
Vivado是一个知识产权以系统为中心的设计环境,试图简化软ip的集成。这是通过几个特性实现的,本文的其余部分将简要讨论这些特性。
请注意,本文所介绍的特性主要是为了加速“时间集成”设计过程。在另一篇文章中,我们将讨论Vivado的那些旨在加速“执行时间”的设计。
扩展Vivado IP存储库
Vivado有一个可扩展的IP目录,可以包括Xilinx和第三方IP。Vivado使工程师能够快速将其设计或算法的一部分转换为可重用的IP,并添加到Vivado IP目录中。
如图1所示,使用Vivado IP Packager,设计的所有相关文件,如约束、测试工作台和文档,都可以添加到创建的IP中。
图1所示。Vivado IP创建流程。图片由赛灵思公司。
Vivado IP流的一个重要特性是能够在设计的任何级别上创建IP,无论它是寄存器-传输级(RTL)设计、网表、放置网表,甚至是放置和路由的网表。
还要注意,如图1所示,IP Packager的源文件可以包括MATLAB / Simulink算法从Xilinx系统发电机或C/ c++ /SystemC算法从Vivado高级合成(HLS)。在这些情况下,专有IP生成将进一步加速,因为使用了更高层次的描述来开发目标算法。下一节将简要讨论人力资源ls。
基于c的IP生成与Vivado HLS
即使对于最有经验的RTL团队来说,当今先进算法的开发也不是那么简单。这就是为什么像Vivado HLS这样的工具可以接收C/ c++ /SystemC算法并提取VHDL或Verilog代码,可以显著加速IP开发,从而加快设计过程的原因。
Vivado HLS允许工程师探索设计空间,为相同的源代码找到几种不同的实现,如下面的图2所示。
图2。用HLS探索设计空间。图片由赛灵思公司。
如您所见,该工具可以优化几个设计参数,如区域、延迟和吞吐量。
工程师也可能使用HLS找到比手工编码的RTL更好的解决方案。下面的图3是一个雷达设计实例中RTL方法和HLS方法的结果对比。
图3。RTL方法与HLS方法的比较。图片由赛灵思公司。
为了实现这一点,HLS实际上会考虑目标设备的属性,比如可用性DSP48片、内存和SRL块。它还试图有效地实现浮点算法,并在不同级别自动提取并行性。
高级编程语言,如C,在算法验证阶段也非常有帮助。设计人员可以使用C功能规范快速地建模和迭代设计,然后创建一个目标感知的RTL体系结构。在一个视频设计实例中,C模型将算法验证时间加快了约12000倍。下面的图4显示了这个实验的一些细节。
图4。仿真时间的RTL和C模型。图片由赛灵思公司。
Vivado HLS的设计流程如图5所示。
图5。Vivado HLS设计流程。图片由赛灵思公司。
高级系统集成
既然我们已经有了快速开发所需ip的解决方案,那么考虑快速将这些ip彼此连接起来的方法是合理的。为了使这成为可能,Vivado拥有IP集成商(IPI),它允许用户图形化地描述IP之间的连接。
设计人员可以在接口级别或端口级别构造连接。选择在接口级别上工作,能够将用于一个共同功能的大量单独信号分组,并易于操作它们。
例如,可以使用一个连接来连接接口的所有信号。另外,该工具的设计规则检查(DRC)功能可以确保接口的连接是正确的。因此,设计将是正确的建设。这种复杂界面上的DRCs可以显著加快设计装配阶段。
IPI除了支持关键IP接口的智能自动连接外,还支持连接的IP之间的参数传播。IP参数传播的概念如图6所示。
图6。IP参数传播。图片由赛灵思公司。
假设IP1的数据总线宽度默认为32位。现在假设用户将IP1连接到IP0, IP0的总线宽度为64位。在这种情况下,工具的参数传播规则可以检测总线宽度已经改变。用户可以允许IPI自动更新ip的总线宽度,或者指示程序简单地显示一个错误,作为设计中潜在问题的警告。
本文仅简要回顾了Vivado设计套件的一些FPGA设计特性。如果您熟悉其他工具的类似功能,请在下面的评论中与我们分享您的经验。
没有mac本地软件选项。一如既往!
如果你已经知道了所有这些,那么这篇文章就有一定的价值。它读起来就像广告,而不是独立的评估。