使用顺序逻辑等价性检查,对照C模型检查RTL的功能正确性。SLEC系统能够证明,尽管两个模型在语言、时间、接口或抽象方面存在差异,但规范和实现描述是相同的。如果发现功能上的差异,就会生成一个简洁的测试用例来帮助分析设计错误。

系统分析流程
系统分析流程

当需要进行C级比较时

当设计者将他们的定时C++设计描述转换成RTL实现时,他们会怀疑定时RTL是否在功能上等同于原始的、高级的描述。当他们对RTL进行改进或优化以获得强大的性能时,他们自然会担心这些更改不再符合他们原来的规范。这些设计人员可以创建测试台并在流程的每一步运行验证,但这需要太多的时间,或者在生产计划中常常不实用。他们需要的是一种快速确定设计等效性的方法,而不需要测试台和模拟运行。

SLEC系统解决方案

通过正式地将其与功能SystemC/ c++模型进行比较,SLEC系统非常适合于验证他们的RTL实现的设计团队,因为它极大地减少了建立预期功能被维护的信心的时间和精力。

通过使用Tcl设置,系统模型可以完全用于验证RTL块,而不需要测试台和测试,使工具直观且易于使用。这种方法在设计流涉及C级描述和过大的状态空间使得基于仿真的验证方法不切实际的情况下都是有用的。

虽然SLEC系统是浮点算术设计的一个流行的解决方案,其他的例子包括:

  • 顺序更改的验证(如重新计时、流水线和电源优化)
  • 不定时和定时比较
  • 算术验证(如FPU或滤波器)

SLEC系统支持C级描述与RTL实现之间的形式等价性检查。规范和实现描述可以是C++ + SystemC、Verilog、Systemverilog或VHDL的可合成子集的任意组合。

为了控制和管理流程,标准Tcl脚本用于设置输入描述和配置比较。C++ /SystemC属性检查功能允许设计者在规范本身中获得更高的置信度,包括发现可能导致问题的模糊性。

这种强大的验证方法与一系列同类最佳的引擎相结合,实现了bug搜索、有界检查和完整的证明策略。

SLEC系统是为了补充典型的基于仿真的验证策略而设计的,它与类似Mentor's Visualizer的仿真风格的调试工具集成在一起,用于理解伪造。

优点和特点

  • 确保系统级模型优化期间硬件意图保持一致
  • 彻底的验证:对所有可能的场景进行彻底的分析
  • 如果不编写复杂的测试平台,很难发现bug
  • 通过简短、简洁的调试波形可以快速隔离bug
  • 无缝集成到现有的可视化调试辅助工具中
  • 在开始验证之前不需要映射触发器或中间状态点
聊天| 联系