18.luck新利
的意见

的秘密达到快速验证关闭

搬到一个高级合成流的重要性。

受欢迎程度

每一个设计团队希望减少RTL验证时间为了满足时间表。成功的球队已经他们的设计抽象c++或SystemC水平和使用高水平的合成(HLS)在他们的设计流程。利用这种高层次的描述,这些团队也插入集成C和RTL验证流,重用测试和testbenches,自动化测试环境。

刚刚搬到一个HLS方法简化了代码(允许快速假设架构分析),允许更多的测试运行,减少模拟时间显著。然而,这节省了时间可以吃的时间试图关闭RTL验证。需要更多的技术攻击尽可能多的低效率,包括:

  • 检查前c++和下游SystemC代码问题模拟
  • 自动化RTL报道关闭
  • 利用标准加速验证

将这些技术应用到RTL验证关闭问题提供了一个主要的一步c++ / SystemC签收,团队压力可以用更少的资源提供增加的功能来达到更高的生产率。

overall_flow图一

首先检查代码

节省检验时间的第一步是检查c++ / SystemC HLS常见错误的源代码和正式证明用户定义的断言。一些代码错误不可能赶上testbench,如界外数组访问未初始化的变量和阅读。其他常见的检查包括除的,不完整的开关或语句,和非法转移。没有testbench,正式的的属性检查可以发现bug的代码之前综合和仿真,使错误更容易发现和解决在设计过程的早期。

assert_cover_flow图

检查通过后,团队可以自信地生成与断言和RTL coverpoints HLS工具。使用一个工具综合成OVL或c++ / SystemC断言产权规范语言断言嵌入到生成的RTL。这将创建优化的代码功能覆盖分析。

实现100%的RTL功能和代码覆盖率

HLS工具构建一个RTL功能测试环境中重用原来的c++ / SystemC testbench模拟RTL设计到HLS模型并比较其结果。这允许功能验证仍主要是在一个较高的水平更快的开发和仿真,而自信地证明RTL的结果是相等的。该工具会自动创建交易人函数调用转换成pin-level信号活动。

testbench_flow不可

RTL仿真还可以用于合成RTL测量代码覆盖率。关闭RTL HLS流,覆盖在一个工具可以阅读RTL和正式证明可及和遥不可及的代码是更有益的。导师图形的年代,CoverCheck自动生成不包括遥不可及的代码和生成见证波形的可获得的代码可以自动排除或cross-probed HLS c++ / SystemC回到最初的来源,允许团队添加额外的测试。使用此流程,团队可以实现RTL功能和生成的RTL代码覆盖自动关闭。

Covercheck_flow图

英伟达证明了这一点

采用高级合成流,英伟达能够达到令人印象深刻的改善他们的1000万门,视频编码器/解码器。尤其是团队:

  • 由5 x RTL相比简化他们的代码。
  • 回归测试所需的cpu数量减少了1000 x。
  • 跑1000 x更多的测试以达到更高的功能覆盖他们的设计。
  • 设计时减少了50%。
  • 降低整体开发时间,包括验证、40%,达到RTL验证关闭。

NVIDIA_results图

英伟达能够减少开发进度表编码器/解码器的5个月。然后,团队需要升级两个8位视频解码器4 k 10位颜色为了支持他们的客户。使用HLS流,他们成功了知识产权在周。没有HLS,他们将不得不取消这些设计由于时间是不可能会见一个RTL流。这些项目的成功移除任何怀疑HLS在NVIDIA,导致其使用在所有未来的NVIDIA视频和图像设计,包括新的或重新设计的组件或目标不同的标准或流程的技术。

英伟达说搬到一个HLS流的另一个明显的优势:它建立一个持续的过程改进导致更好的结果。这个过程称为micro-architectural勘探和它支持执行假设分析通过改变特定的设计参数和运行一个快速合成立即看到这些变化如何影响区域的设计,性能,和电力交易。Micro-architectural勘探开辟了设计改进,甚至不可能被认为是在传统的RTL流。

的重点在NVIDIA验证流是比较两个不同版本的C模型。一个模型是一个高层次、纯函数式C模型,团队认为是“黄金”模式。使用连续细化过程中,他们创造了HLS C优化模型。他们彼此旁边跑这两个模型使用相同的测试序列,以确保他们获得相同的结果。因为C模型要简单得多Verilog模型,验证工程师可以在C代码运行1000 x多个测试相比,他们可以运行在RTL代码。这提供了更好的覆盖和允许错误是固定在早期时更容易解决。它还产生bug RTL和显著减少所需的时间和精力RTL验证。

使HLS标准

使HLS和标准是关键的目标移动抽象c++ / SystemC。Accellera最近宣布SystemC Synthesizable子集是朝着这个目标迈进了一大步。这个标准文档SystemC构造一个团队应该使用它来创建他们的设计为了合成RTL的正确代码生成工具。按照这个标准,团队将会有信心相信他们的代码将合成和模拟没有违规,节省调试时间。

为了进一步加快标准化过程,导师图形将捐赠开源算法C (AC)数据类型库Accellera系统计划。交流数据类型提供一种简单的方法来模型静态bit-precision以最小的运行时开销。数据类型是提供一种方法来写bit-accurate算法,可以合成为硬件和他们在高级设计使bit-true行为的精确建模描述而加速模拟加速100 x和其他数据类型。例如,ac_int范围1到32位宽度的比相应的能跑快100倍sc_bigint / sc_biguint比相应的数据类型和快3倍sc_int / sc_uint数据类型。

进一步的探索



留下一个回复


(注意:这个名字会显示公开)

Baidu