System Generator学习——时间和资源分析


前言

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


一、目标

完成本实验后,你将能够:

  • 识别由 System Generator 生成的 HDL 文件中的计时问题,并发现设计中计时违规的根源
  • 执行资源分析并访问现有的资源分析结果,并提出优化建议

二、步骤

这个练习有两个主要部分:

  • 在第 1 步中,您将学习如何在 System Generator 中进行时序分析
  • 在第 2 步中,您将学习如何在 System Generator 中执行资源分析

三、步骤 1 :系统生成器的时序分析

1、时序分析

①、启动 System Generator 并打开 Simulink 将 Lab3\Lab3_1.slx 打开,如下图所示
在这里插入图片描述

②、从您的 Simulink 项目工作表中,选择仿真 Simulation -> Run 或单击运行仿真按钮来模拟设计。
在这里插入图片描述

③、双击 System Generator 令牌以打开 Properties Editor,选择时钟选项卡,从执行分析菜单中,选择合成后,从分析器类型菜单中选择计时,如下所示
在这里插入图片描述

④、在 System Generator 对话框中,单击 “生成”,生成时,显示如下信息:

  • a. 系统生成器为选定的编译目标生成所需的文件。为了进行时序分析,System Generator 在设计项目的后台调用 Vivado,并将设计时序约束传递给 Vivado
  • b. 根据你选择的执行分析(合成后或实现后),设计通过合成或实现在 Vivado 中运行
  • c. Vivado 工具运行完成后,将从 Vivado 定时数据库中收集定时路径信息,并以特定的文件格式保存。在时序路径数据采集结束时,关闭 Vivado 项目,并将控制传递给 MATLAB/System Generator 进程
  • d. System Generator 处理时序信息,并显示时序分析器表,其中包含时序路径信息,如下所示

在这里插入图片描述
⑤、在定时分析仪表中

  • 显示最低松弛值的路径,最坏的松弛在顶部,下面的松弛增加
  • 与时间冲突的路径有负松弛,并显示为红色

⑥、通过单击 Timing Analyzer 表中的任何路径,从 Timing Analyzer 表交叉探测到 Simulink 模型,这将突出显示模型中相应的 System Generator 块。这允许你通过分析发生时间违规的路径来排除故障,交叉探测时,可以看到如下图所示的相应路径,与时间冲突的块以红色突出显示
在这里插入图片描述
⑦、双击计时分析器表中的第四条路径,交叉探测,对应的路径以绿色高亮显示,表示没有计时违规
在这里插入图片描述
如果您关闭了 Timing Analyzer,并且稍后你可能希望使用该模型的现有计时分析器结果重新启动 Timing Analyzer 表。在 System Generator 令牌对话框的 clock 选项卡下提供了一个 Launch 按钮。只有当您已经在 Simulink 模型上运行时序分析时,这才会起作用。
在这里插入图片描述

2、解决时间违规问题

①、通过在组合路径中插入一些寄存器可以获得更好的计时结果,并且可以帮助克服计时违规(如果有的话)。这可以通过改变组合块的延迟来实现,如下所述

②、再次双击计时分析器中的违规路径,将打开违规路径,如下所示,但还是存在着其他的问题有待解决
在这里插入图片描述
③、双击 Mult 块打开 Multiplier 块参数窗口,在“基本”选项卡下,将延迟从 “1” 更改为 “2”,然后单击 “确定”
在这里插入图片描述
④、双击 System Generator token,确保 “Analyzer Type” 为 “Timing”,点击 Generate,生成完成后,将打开计时分析器表,如下所示,可见刚刚的 Mult 红色已不在了
在这里插入图片描述

四、步骤 2 :系统生成器中的资源分析

在这一步中,我们使用与第一步相同的设计,但我们将执行资源分析

1、打开 Lab3_2.slx 设计
在这里插入图片描述
提示:无论何时生成以下任何编译目标,都可以执行资源分析:①、IP目录,②、硬件协同仿真,③、合成检查点,4、HDL 网表。

②、双击 Simulink 模型中的 System Generator 令牌。确保指定了该部分,并且将 Compilation 设置为上面列出的任何一个编译目标
在这里插入图片描述

③、在 “时钟” 选项卡中,将“执行分析”字段设置为 “合成后” ,将“分析器”类型字段设置为 “资源”
在这里插入图片描述
④、在 “系统生成器令牌” 对话框中,单击 “生成”。System Generator 处理资源利用数据,并显示一个 Resource Analyzer 表,其中包含资源利用信息
在这里插入图片描述
表中的每个列标题(例如,BRAMs、DSPs 或 LUTs)显示了您的设计目标所针对的 Xilinx 设备中每种类型的可用资源的总数。表格的其余部分显示了设计中每个子系统和块的分层列表,以及这些资源类型的计数

⑤、通过单击 Resource Analyzer 表中的块或子系统名称,可以从 Resource Analyzer 表交叉探测到 Simulink 模型,这将突出显示模型中相应的 System Generator 块或子系统。交叉探测对于识别使用特定类型资源实现的块和子系统非常有用。在表中选择的块将以黄色突出显示,并以红色概述
在这里插入图片描述

⑥、如果在表中选择的块或子系统位于上层子系统中,那么除了下面所示的底层块之外,父子系统将以红色突出显示
在这里插入图片描述


总结

在本实验中,学习了如何在系统生成器中使用时序和资源分析,从而调用 vivado 合成来收集用于分析的信息。还学习了如何识别违反时序的路径,并对其进行简单设计的故障排除。


我的qq:2442391036,欢迎交流!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

须尽欢~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值