HLS验证

弹射器平台的高级合成(HLS)验证分为三类:

  1. 用户HLS的自动/正式检查目标C++/SystemC代码在合成前发现错误。
  2. 基于仿真的验证比较用户C++/SystemC源与生成的RTL的功能,包括覆盖和断言等度量。
  3. 等价性的形式验证在用户的C++/SystemC代码中,从合成弹射器®生成的RTL代码中,在启动HLS过程之前,正式验证设计以发现用户代码中的错误和问题。它使用定义属性的静态检查来识别有缺陷的代码,并通过用户定义断言的正式证明来全面验证假设。

弹射器中的ScValk流自动生成验证基础结构,用于验证HLS生成的RTL对用户原始源代码的功能,并重新使用原始的C++/SystemC测试平台。除了功能比较之外,它包括将断言和覆盖从HLS级别转换到RTL级别以实现覆盖关闭。SCverify支持导师提问/模型仿真,Synopsys VCS和Cadence IUS/NCSIM仿真环境。

弹射器中的uvmf流使用uvm框架(uvmf)自动生成完整的uvm环境。自动生成包括重新使用SystemVerilog中包装的原始C测试作为序列生成器,作为uvm预测器的源HLS C模型,自动将HLS C模型的结果与模拟中生成的RTL进行比较的记分板。环境还自动在每个用户代理中生成一个由systemverilog约束的随机uvm序列的小测试集,用户可以将这些测试集用作轻松添加更多测试的起点。UVMF流支持导师提问。

SLEC HLS正式证明了弹射器HLS生成的RTL与设计者原来的C/C++/SystemC代码的等价性。它基于获得专利的顺序分析技术,能够发现其他工具忽略的设计错误,因为它可以在所有可能的输入序列中比较HLS系统级模型的功能与其相应的合成RTL设计。

关键特征

  • HLS模型的断言和基于属性的验证
  • 如果不编写复杂的测试平台,很难检测到错误
  • 用于独立验证的HLS和RTL的序列等效性比较
  • 用快速结果替换耗时的模拟回归
  • 利用C/C++/SystemC测试平台自动生成RTL验证环境
  • 与RTL交互的C/C++与SystemC行为交互功能比较

瑞萨

“SLEC验证顺序差异的能力是我们先进验证方法的有力补充。”“

Osamu Tada瑞萨

AMD

“我们的微处理器设计团队不断创新,以提高整体性能并提供业界领先的每瓦性能。快速,Calypot的SLEC提供的全面验证增强了这一创新过程,帮助我们的设计团队继续满足客户的处理需求。”“

尼哈尔莫哈帕特拉,AMD

瑞萨

“当我们在不同的抽象层次上改进设计时,SLEC为我们提供了一种创新的功能验证方法。”“

Osamu Tada瑞萨

瑞萨

“我们认为SLEC是高级设计流程中的一个重要工具。”“

Osamu Tada瑞萨

闲聊γ 接触