[VCS]merge coverage --- vdb merge

本文详细介绍如何在VCS中进行覆盖率合并,包括设置VCS选项、使用urg命令、灵活处理covergroup变更等技巧,适用于数字电路验证场景。

merge coverage --- vdb merge

       前言:目前在数字电路验证中,主要还是coverage驱动型,就是说覆盖率是衡量验证工作的一个重要指标。但是在仿真过程中,会分成多个build或者说是conf,每个build下面的RTL可能是不同的。还有一种场景是:需要把IP收到的vdb同IT Level收到的vdb merge到一起,那这个过程怎么实现呢?本文将介绍一些VCS中覆盖率合并的命令,以及脚本化方法。

一、記錄一些常用的VCS Command

 1.1、首先注意,需要在run simulation前(在build中)加VCS Option:

  • -cm line+tgl+cond+fsm+assert+branch -cm_line contassign -cm_cond full+tf+for+anywidth

 1.2、merge coverage:

urg -full64 -parallel -metric line+tgl+cond+fsm+assert+branch -warn none -dbname <merge_coverage_name>.vdb -report urgReport_domain_date\
    -dir ${vdb_path}/simv.vdb \
 
05-01
### Merge 的概念与用法 在编程和数据处理领域,“merge” 是指将两个或多个数据集、集合或其他结构组合成一个新的整体的过程。这一操作通常用于保持数据一致性或将不同来源的数据集成到单一视图中。 #### 数据处理中的 Merge 在数据处理中,`merge` 常见于数据分析工具(如 Pandas 或 SQL)。它涉及通过共同的关键字段连接不同的表或数据框。这种技术类似于数据库查询中的 `JOIN` 操作[^3]。以下是几种常见的 merge 类型: - **Inner Join**: 只保留两组数据中共有的键值对应的记录。 - **Outer Join**: 合并所有记录,无论它们是否存在于另一组数据中。 - **Left Join/Right Join**: 保留左表或右表的所有记录,并补充来自另一侧匹配的记录;如果无匹配,则填充缺失值。 例如,在 Python 中使用 Pandas 库可以实现如下操作: ```python import pandas as pd df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'data1': [1, 2, 3]}) df2 = pd.DataFrame({'key': ['B', 'D', 'E'], 'data2': [4, 5, 6]}) merged_df = pd.merge(df1, df2, on='key', how='inner') print(merged_df) ``` 此代码片段展示了如何基于共享列 `'key'` 执行内部联接[^4]。 #### 并行计算中的 Global Data Aggregation 和 Pairwise Merging 另一种形式的合并发生在分布式系统或者大规模并行运算期间。“Global data aggregation”,即全局数据聚合,是一种有效减少中间状态存储需求的技术。这种方法允许结果逐步累积而不是一次性加载整个数据集进入内存[^2]。具体来说,pairwise merging 将部分结果配对直到最终得出唯一结论。 #### 函数式编程里的 Merge 当提到函数式编程范例时,比如 Haskell 或 Scala,列表或者其他可迭代对象可以通过特定方式融合在一起。一个典型例子就是 zipWith 方法,它可以接受两个序列作为输入参数并将对应位置上的元素传递给指定二元函数来构建新数组[^5]。 ```haskell let mergedList = zipWith (+) [1..5] [6..10] -- Resulting list would be [7,9,11,13,15] ``` 以上实例说明了怎样利用简单的算术加法规则把两个整数系列结合起来形成第三个数值串流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值