jasper gold c2rtl简介

JasperGoldc2rtl是一种用于验证RTL设计与Cmodel输出一致性的工具,特别适合计算密集型模块。它处理无时序Cmodel,关注每个周期的输入和输出延迟。文章介绍了c2rtl的使用流程,包括编译、设置IO映射、配置时钟和重置,以及证明过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jasper gold c2rtl是形式化验证工具的一种,其功能是验证rtl输出与golden的c model的输出一致性。适用于验证算法模块,图像处理模块,加密解密模块等计算密集型模块

因为C model中没有时序的概念,输出是和输入在一个cycle中产生,因此c2rtl适合验证rtl的datapath。

图中,spec为C model,Imp为RTL。每个cycle产生输入时,spec在其当前cycle产生对应的result,而Imp需要若干延迟才能产生输出,因此对比时要考虑delay 的cycle数目。

在实际应用中,某些RTL module可能没有确定的delay数目,在验证过程中,如果条件允许,需要对输入按照delay数目进行分类,降低验证复杂度,否则c2rtl可能不会收敛或相当长时间才能收敛(验证100%通过)。

c2rtl的流程大致如下图所示:

  1. 编译c model代码和rtl代码(check_c2rtl -compile)。
  2. setup,添加IO映射(check_c2rtl -setup /-map/unmap)。
  3. 添加clock和reset配置。
  4. 添加assumptions assertion coverpoint。
  5. 开始证明。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值