VARON是一款针对Soc开发的硬件仿真进行优化的软件,运行于Cent OS Linux系统,需要有一定的VCS使用基础,适用于集成度偏高的Soc开发。VARON通过自主研发的IP连接到开发系统,并监视AXI总线上的多种属性和性能,从而使开发者能够更直观的观测系统的运行情况,从而有针对性的进行优化调整。
背景:
芯片现状:
- 许多IP嵌入
- 更复杂的交互
- 准确的性能分析至关重要
开发遇到的问题:
- 需要验证IP用于模拟和仿真,以及丰富的调试工具
- 学习如何使用验证IP和调试工具是一个很大的挑战
- 没有性能分析方面的专业知识,也不知道从哪里开始
- 想用运行软件调试FPGA或ASIC芯片的性能,但主要厂商不提供
- 处理大量信号级数据的速度慢
- 用于性能分析工具和工作的总成本很高
大多数分析仪 :
性能低下:
- 需要验证IP用于模拟和仿真,以及丰富的调试工具
- 不支持FPGA和ASIC
- 处理大量信号级数据的耗时
- 劳动力成本高
难以使用:
- 手动实施验证IP
- 需要性能分析方面的专业知识,使用有限类型的图表和使用工具的诀窍
VARON:
高性能:
1. 一个完整的产品,带有可配置的片上验证IP和专有图形用户界面
2. 支持模拟仿真、FPGA和ASIC
3. 专用于事务级数据的性能分析非常快速
4. 劳动成本低,实现时间短
易于使用:
1. 自动引导验证IP的配置
2. 通过丰富的图表和工具提示引导分析
VARON的优势
- 涵盖LSI设计验证的整个过程
- 完全可配置的验证IP满足用户需求
- 按端口组进行独立配置
- 易于分析系统中跨总线级联的事务
3. 针对硬件仿真器进行了优化,以最大限度地提高速度
- 硬件IP将AXI数据缓冲到模拟器
- 监视器和缓冲区都是可综合的
4. 分析时间短,数据处理速度快
- 在事务级别监视AXI
- 快速显示所有性能图表,不依赖于设计尺寸
AXI周期 |
1,000,000 |
10,000,000 |
|
分析时间(秒) 文件大小(字节) |
8 |
95 |
|
47,955,968 |
480,460,800 |
||
处理数量 |
读 |
377,007 |
3,776,145 |
写 |
381,075 |
3,820,338 |
|
数据传输总量(字节) |
读 |
9,186,842 |
92,111,540 |
写 |
9,291,924 |
93,326,480 |
5. 通过丰富的性能图表组合进行非常简单的分析
- 每个端口组20个图表
- 通过6种图表类型了解2个分析目标的5个关键设计标准
目标 |
设计准则 |
图表类型 |
备注 |
响应时间 |
按端口或ID列出的延迟 |
直方图 |
延迟分布 |
最大值/最小值/均值 |
|
||
按端口或ID列出的事务 |
时间图 |
随着时间的推移,循环准确地映射事务 |
|
总线使用效率 |
按端口或ID列出的数据传输总量 |
圆形分格统计图表 |
空闲周期->总线利用率 |
条形图 |
端口或ID之间的比较 |
||
按端口或ID的突发长度 |
直方图 |
突发长度分布 |
|
按端口或ID列出的单位时间的数据传输量
|
堆叠时序图 |
一段时间内所有端口或所有ID的总数据传输量 |
|
条形时序图 |
每个端口或ID随时间的数据传输量 |
||
最大值/最小值/均值 |
|
||
直方图 |
数据传输量分布 |
6.工具帮助用户进行详细的调试
- 放大/缩小以验证整体趋势
- 放大/正常大小,跳转到时间和工具提示来检查本地数据
- 水平能够同步显示3个时序图,以在一个时间窗口内验证相关数据
堆叠视图显示单位时间的数据传输量(中)
事务时间表(下)
- 找出超出范围来突出显示5个图表中超出预期的数据
--延迟直方图、事务时序图、堆叠/条形图时序图和单位时间数据传输周期直方图
事务时间表(上)延迟直方图(下)
- 由图表设计的工具提示,用于感兴趣的详细数据
--左键单击出现,右键单击锁定/移动/删除
--上图例子:
延迟直方图:在端口0有35个事务,延迟为138–143
事务时序图:端口0: ID 01事务开始于时间12和145,具有0等待、131访问(延迟)和8字传输
模拟仿真的设计流程
AXI时间测量
- AXI读事务
- AXI写事务
附录
性能图表: