当前位置: 首页 > news >正文

记录项目过程中的编译错误及解决方法(持续更新中)

文章目录

  • 前言


前言

记录做项目的时候编译问题,好记性不如烂笔头,下次碰到相同的问题也可以方便查阅


2023.3.22

问题1:每次跑回归测试的时候,总是会出现错误,总共只有5个test,单独跑这个case的时候是没有问题的

An unexpected termination has occurred in ./SIMV/ahbl_mst_burst_apb_slv_slverr_051555011_simv due to a signal: Segmentation fault

问题分析: 发生了段错误,没有物理内存对应该地址,好像是访问了一些不存在的物理内存空间,在出现这个错误之前,还出现下面的warning信息。但是我在仿真脚本的编译选项里面是添加了这个+ntb_solver_array_size_warn=10000,可能是没起作用,导致数组长度太大。

Warning-[CNST-LASW] Constraint large array size warning
/home/xxx/ahb2apb/dv/seqlib/ahbl_mst_seqlib.sv, 30Variable haddr_q.size() has value > 100000, which may cause severe  performance degradation.Please try to reduce the array size.You can use +ntb_solver_array_size_warn=<num> to adjust the array size warning limit.
Warning-[UNK_COMP_ARG] Unknown compile time plus argument usedUnknown compile time plus argument 'ntb_solver_array_size_warn=100000' is ignored.

解决方法:
把它设置成了200000,还是有warning信息

Warning - [CNST-LASW] Constraint large array size warning/home/heliu/ahb2apb/dv / seqlib/ahbl_mst_seqlib.sv,30
Variable haddr q.size( ) has value > 1410065408,which may cause severe performance degradation.Please try to reduce the array size.
You can use +ntb_solver_array_size_warn=<num> to adjust the array sizewarning limit.


问题2 :为了避免对case语句中default语句收集覆盖率,所以添加了编译选项-cm_nocasedef,出现如下warning

Warning-[VCM-OPTINWP] Option used in wrong phase.-cm_nocasedef is not a compile-time coverage option. It will have no effect at compile-time.This option should be used at report-time.Please contact VCS support forfurther information.

解决方法:区分compile-timerun-timereport-time这三个不同的时间,看上去像是选项加错了位置,而且总感觉出现这些问题都是我要一步执行-R引起的,但是又说一步执行的vcs选项的顺序又没有太大的要求,这点暂时还没理解清楚

改成了-cm_cond nocasedef,又出现了下面这个错误,-cm_cond没有nocasedef这个选项,有的选项在另外一篇博客有介绍

Error-[CM-ARGPL] Incorrect argument 'nocasedef' is not a valid argument to -cm_cond. The -cm_cond option requires a '+' separated list of flags. The legal flags are: basic std allops full event anywidth tf caseeq for path sop ports allvectors scalarbitwise flat obs noxfalse objects

最后在urg的时候加上去除收集default语句的行覆盖率:-line nocasedef

urg -full64 -line nocasedef -dir *.vdb -dbname merge -report urgReport

输出的urg log信息中有如下:

Note-[URG-NCDN] No case defaultSince the -line nocasedef option was given, URG will exclude all the "default" case items from the line coverage reports.


http://www.lryc.cn/news/61587.html

相关文章:

  • Android Hilt依赖注入框架
  • LeetCode:59. 螺旋矩阵 II
  • 信息安全复习六:公开密钥密码学
  • YOLOv8 更换主干网络之 ShuffleNetv2
  • async/await最详细的讲解
  • 学习数据结构第6天(栈的基本概念)
  • 自动化添加时间戳版本号
  • 【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)
  • 软件测试外包干了4年,感觉废了..
  • ai改写句子软件-ai改写
  • zabbix监控linux主机
  • 编程中泛型的使用规则和限制是什么?
  • 【工具】使用VS Code调试Docker Container中的代码
  • ZVL3网络分析仪
  • TCP协议
  • 69. x 的平方根
  • Webshell应急响应指南
  • Linux如何定时执行任务
  • 使用nvm替换nvmw作为nodejs的版本切换(亲测)
  • 分布式事务
  • zk111111111111111111
  • 018:Mapbox GL加载Google地图(影像瓦片图)
  • Web API 和 API 的区别编写api
  • IDEA 用上这款免费 GPT4 插件,生产力爆表了
  • 1187.使数组严格递增 学习记录
  • 权限控制_SpringSecurity
  • 2023年最系统的自动化测试,测试开发面试题,10k以下不建议看
  • 今年SMETA审核费用即将涨价
  • 基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
  • 基于深度学习和生理信号的疾病筛查:个体内和个体间研究的价值与应用