目录
1. 简介
Schedule Viewer 是一个非常有用的工具,它用于展示高级合成过程中算法的执行时间表(即调度)。它有助于您识别阻碍并行化的任意循环依赖关系、时序违例以及数据依赖关系。
大体上,schedule viewer 的用途包括:
可视化展示:Schedule viewer以图形化的方式展示了算法的执行顺序和并行执行的操作,可以看到各个操作是如何在时间线上被安排和执行的。
性能分析:分析设计中的性能瓶颈,设计者可以了解到哪些操作是并行执行的,哪些操作是顺序执行的。
资源利用:Schedule viewer还展示了各个操作使用的资源(如加法器、乘法器等),这有助于优化设计,以减少资源消耗,提高资源利用效率。
调试与优化:当设计未能达到预期性能或存在问题时,schedule viewer可用来识别问题(如数据依赖导致的延迟),并对设计进行相应的调整和优化。
2. Schedule Viewer详解
2.1 视图说明
2.1.1 Operation\Control Step
- 在视图左侧,显示的是将在 RTL 层级中作为逻辑来实现的操作和循环的名称。
- 括号里的名称表示操作名称。
- 操作按拓扑顺序执行。
2.1.2 周期关系图
- 竖轴虚线,由时钟不确定性而保留的时钟周期部分。
- 每项操作在表中均显示为灰框。
- 多周期操作的灰框,中间有一条水平线贯穿。
- 灰框长度,由操作延迟占总时钟周期百分比来设置。
- 运算符数据依赖关系显示为蓝色实线,选中时可见。
2.1.3 Schedule Viewer 菜单栏
- 在报告视图右上角,可提供许多便捷功能。
- 焦点控制
- 筛选
按类型筛选可根据操作的功能来限制显示的操作。例如,仅将加法器、乘法器和函数调用可视化会移除“和”与“或”之类的所有小操作。
按集群筛选