当前位置: 首页 > article >正文

Xilinx System Generator时序和资源分析方法

Simulink时序和资源分析

  • 一、System Generator时序分析
    • 解决时序违例的方法
  • 二、System Generator资源分析

一、System Generator时序分析

在本实验中,您将学习如何通过在Simulink®中进行仿真来验证设计的功能,以确保在目标Xilinx®设备中实现System Generator设计是正确的。
通过本实验您将能够:

  • 识别由System Generator生成的HDL文件中的时序问题,并发现设计中时序违规的根源。
  • 执行资源分析并访问现有的资源分析结果,并提出优化建议。
    本实验包含两部分内容:
  • 在第1部分,您将学习如何在System Generator中进行时序分析。
  • 在第2部分,您将学习如何在System Generator中执行资源分析。

本文实验环境:Vivado 2019.1、System Generator 2019.1、Matlab R2024a。
1、打开System Generator。
在这里插入图片描述
2、文件准备,这里使用Xilinx官网提供的UG948文档教程参考文件。
在这里插入图片描述
3、在Matlab中打开参考文件所在的目录。
在这里插入图片描述
双击打开Lab3_1.slx文件,如下图所示:
在这里插入图片描述
4、点击菜单栏中Simulation>Run或者点击Run Simulation按钮开始运行仿真。
在这里插入图片描述
5、双击System Generator令牌以打开Properties Editor。
在这里插入图片描述
6、选择Clocking选项。
在这里插入图片描述
7、Perform analysis选项选择Post Synthesis,Analyzer type选项选择Timing。
在这里插入图片描述
然后点击Generate。
在这里插入图片描述
8、当你点击Generate后,会发生下面这几种情况:
(1)系统生成器为选定的编译目标生成所需的文件。为了进行时序分析,System Generator在设计项目的后台调用Vivado,并将设计时序约束传递给Vivado。
(2)根据您选择的Perform Analysis (Post Synthesis or Post Implementation),设计通过综合或实现在Vivado中运行。
(3)Vivado工具运行完成后,将从Vivado时序数据库中收集定时路径信息,并以特定的文件格式保存。在时序路径数据采集结束时,关闭Vivado项目,并将控制传递给MATLAB/System Generator进程。
(4)System Generator处理时序信息,并显示时序分析器表,其中包含时序路径信息,如下所示。
在这里插入图片描述
9、在时序分析表中:

  • 显示最小裕量值(Slack)的路径,最坏的裕量(Slack)在顶部,下面的裕量值(Slack)依次增加。
  • 用红色文字显示有负裕量(Slack)的时序违例路径。

10、通过单击时序分析表中的任何路径,从时序分析器表交叉探测到Simulink模型,突出显示模型中相应的系统生成器块。这允许您通过分析发生时序违规的路径来解决时序违规问题。
在这里插入图片描述
11、交叉探测时,可以看到如下图所示的相应路径,有时序违例的路径都被显示为高亮红色。
在这里插入图片描述
12、双击时序分析器表中的第二条路径,交叉探测,对应的路径以绿色高亮显示,表示没有时序违规。
在这里插入图片描述
13、如果您关闭了Timing Analyzer表,并且稍后您可能希望使用该模型的现有的时序分析器结果重新启动Timing Analyzer表。在System Generator令牌对话框的Clocking选项卡下提供了一个Launch按钮。注意此按钮只有当您已经在Simulink模型上运行时序分析时,这才会起作用。
在这里插入图片描述
注意:如果重新启动时序分析表窗口,请确保Analyzer type选项设置为Timing。打开的表将显示存储在Target directory中的结果实例化在System Generator令牌对话框,无论选择的Perform analysis(Post Synthesis or Post Implementation)是什么。

解决时序违例的方法

1、通过在组合路径中插入一些寄存器可以获得更好的时序结果,并且可以帮助克服时序违规(如果有的话)。
2、再次双击时序分析表中的违规路径,将打开违规路径,如下所示。
在这里插入图片描述
3、双击Mult模块打开Multiplier块参数窗口,如下所示。
在这里插入图片描述
4、在Basic选项卡中,将Latency从“1”改为“2”,然后点击OK。
在这里插入图片描述
5、双击System Generator令牌,确保Analyzer Type选项选择的是Timing,然后点击Generate。
在这里插入图片描述
6、Generate完成后,将打开时序分析表,如下图所示。观察右上角的状态为PASSED,这表明在设计中没有违反时序的路径。
在这里插入图片描述
注意:
(1)为了更快进行时序分析,综合后进行时序分析优先于实现后进行时序分析。
(2)改变模块的延时可能会增加使用资源。

二、System Generator资源分析

在资源分析过程中,我们将使用和时序分析相同的示例Lab3_1.slx。
提示:每当生成以下任何编译目标时,都可以执行资源分析:

  • IP Catalog
  • Hardware Co-Simulation(硬件联合仿真)
  • Synthesized Checkpoint
  • HDL Netlist

1、双击Simulink模型中的System Generator令牌,在弹出的选项窗口中确保Part指定了对应的器件,Compilation选项设置为上面列出的四种情况。
在这里插入图片描述
2、在Clocking选项卡中,将Perform Analysis设置为Post Synthesis,Analyzer type设置为Resource。
在这里插入图片描述
3、点击Generate。System Generator处理资源利用率数据,并显示一个Resource Analyzer表,其中包含资源利用率信息。
在这里插入图片描述
表中的每个列(例如,BRAMs、DSPs或LUTs)显示了您的设计目标所针对的Xilinx设备中每种类型的可用资源的总数。表格的其余部分显示了设计中每个子系统和块的分层列表,以及这些资源类型的计数。

4、通过单击Resource Analyzer表中的模块或子系统名称,可以从Resource Analyzer表交叉探测到Simulink模型,这将突出显示相应的System Generator模块或子系统。交叉探测对于识别使用特定类型资源实现的块和子系统非常有用。

5、您在表中选择的模块将以黄色突出显示,并以红色概述。
在这里插入图片描述
6、如果您在表中选择的块或子系统位于上层子系统中,那么除了下面所示的底层块之外,子系统将以红色突出显示。
在这里插入图片描述
注意:如果打开“资源分析器”窗口或“时序分析器”窗口,表格中没有显示任何信息(表格单元格为空),双击“System Generator”令牌,将Target directory设置为新目录,即未使用过的目录。然后再次运行分析。

参考文章:Xilinx官方文档ug948-vivado-sysgen-tutorial


http://www.kler.cn/a/404231.html

相关文章:

  • JavaSrcipt 函数高级
  • Vue 如何简单更快的对 TypeScript 中接口的理解?应用场景?
  • OpenGL 进阶系列14 - 曲面细分着色器
  • Windows 10使用智能卡SmartCard返回scard_e_no_service错误
  • 什麼是ISP提供的公共IP地址?
  • Roslyn和csc的关系?C#编程语言的命令行用法?C#编译器支持的版本?
  • 题目一:bugku---game1
  • 3.9MayBeSomeAssembly
  • Flink Joins
  • vulfocus在线靶场:骑士cms_cve_2020_35339:latest 速通手册
  • 初试无监督学习 - K均值聚类算法
  • E+H液位计FMU40-ARB2A2
  • grafana+prometheus+windows_exporter实现windows进程资源占用的监控
  • C# Postman或者PostApi调试前端webapi接口发送带有request/body/head信息
  • 量化交易系统开发-实时行情自动化交易-4.2.1.简单移动平均线实现
  • vscode 远程连接ssh 密钥方式
  • 在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
  • 【数据结构】【线性表】【练习】反转链表
  • Docker安装并配置Mongodb4.0
  • mongodb多表查询,五个表查询
  • 【蓝桥】宝藏排序Ⅱ----Array.sort和PriorityQueue
  • LeetCode题练习与总结:Fizz Buzz--412
  • 深度解析神经网络中的最大池化层:工作原理、参数配置与应用示例
  • 「Java EE开发指南」如何使用Visual JSF编辑器设计JSP?(一)
  • 【vue】vue中.sync修饰符如何使用--详细代码对比
  • 【Word】一键批量引用论文上标——将正文字体改为上标格式