当前位置:首页 >> 信息与通信 >>

SOC验证NC


使用NcVerilog跑代码覆盖率 跑代码覆盖率 使用
1.运行 运行testcase的方法: 的方法: 运行 的方法 (1)实现testcase 连续运行的run脚本的格式一般 为: #!/bin/sh ncvlog -f ../filelist/filelist.v ncelab -coverage all TESTBENCH ncsim -input ./sim.

tcl TESTBENCH 把要编译的文件include到filelist.v文件中。把要运 行的testcase include到testcase_file.v中,再把 testcase_file.v include到testbench中,这样可以 实现testcase 的连续运行,最后做出总的 coverage report。

? 加coverage的方法 的方法: 的方法

[1]、首先用ncvlog命令编译所有的.v文件,包括源文件、 testbench.v和所有的bfm [2]、用命令形式:ncelab –coverage all top.v elaborate [3]、仿真,命令是ncsim,在这个地方把建立coverage环境和 把仿真过程中要加的几种coverage写在一个脚本文件里,我 们写的是:sim.tcl: Coverage –setup –dut CFHC_TOP –testname cf_test Coverage –code Coverage –fsm Coverge –toggle Run Exit 仿真直接用ncsim –input ./sim.tcl TESTBENCH就可以了 [4]、最后我们直接把ncvlog,ncelab,ncsim都写在脚本run里, 直接在unix命令行里敲run就可以了 [5]、最后产生的覆盖率文件:CFHC_TOP.dgn, cf_test.cov, cf_test.fsm, cf_test.tog TESTBENCH.U_TOP.mst

生成report 生成
[1]、生成block,exppression和fsm: 1)用iccr命令进入report tool 2)用load_design加载仿真产生的.dgn文件 3)用load_coverage把包含block,exppression,fsm覆 盖率的.cov和.fsm文件加载进去 4)用report_summary或report_detail生成summary report和detail report,在detail report中会有具体的没 有覆盖到的地方的详细说明 [2]、生成toggle: 1)用togreport命令进入report tool 2)用load_master把.mst文件加载进去 3)用load_test把.tog文件加载进去 4)用report_summay或report_detail生成report,跟结 果跟上面类似。

(2)实现testcase 单个运行的run脚本的格式: #!/bin/sh echo "\`include \"../testcase166/$1.v\"" > testcase.v sed "s/\/wave.shm/\/wave$1.shm/g" ../testbench/testbench.v > testbench.tmp cp ../testbench/testbench.v ../testbench/testbench.bak cp testbench.tmp ../testbench/testbench.v rm -f testbench.tmp ncverilog -f ../filelist/filelist.v +access+rwc -l ../log/log/$1.log mv ../testbench/testbench.bak ../testbench/testbench.v rm -f testcase 运行testcase用这样的命令:run tc0001.v 这样生成的coverage report是每个testcase生成一个,要想得到 总的coverage report,需要把这些report merge.

2.在NcVerilog中运行常遇到的问题:
(1)报错:关于编译时出现的异常语句error: 在testcase 0702020102.v 、0703020204.v中出现类似的错误,分别 表 象如下: U_AHB_BFM.EX_DREG_INT_CLEAR ; 3 ——〉 0702020102.v U_AHB_BFM.EX_DREG_INT_CLEAR ; 2 ——〉 0703020204.v 分号后面不能有任何符号。 (2)报错:“failed to open ../testcase166/0401020204.v : ” 是由于其将0401020204.v的后缀名写成了大写:0401020204.V。 (3)错误:在testcase前面加上延迟出现异常情况: 是由于在BFM中除ahb_bfm.v 外的其他模块都没有对其复位完全。 解决:将其他的bfm文件的initial块做成task,在复位十调用task. (4)错误:部分testcase,对其仿真无反应。 跑覆盖率时丢掉了这几个testcase。

(5) 问题: 一个个的testcase跑,最后的结果不能够合并在 一起 解决:把所有的testcase合并成一个testcase跑,这样一次 就可以全部跑完,会得出一个总的覆盖率报告。合并方法: 直接把各个testcase按顺序include到testbench中。 (6) 问题:直接include testcase 到testbench后出现以下问题: 跑完第一个testcase后第二个testcase只能跑个开头,第二个 testcase不能正常跑下去。 解决过程: [1]、调换顺序跑还是出现同样的问题,试着加延迟时发现即 使在单独跑一个testcase时,如果加1000个延迟时也会出现 同样的问题,于是就怀疑复位出现问题。 [2]、然后用加延迟和不加延迟的两个testcase跑,并把所有的 dut和bfm的输出都在waveform上显示出来,找复位后的信号 差异。 [3]、结果发现在几个bfm中只有ahb_bfm.v中在reset信号到来 时initial一次,而连起来运行时要保证每个testcase跑的条件 相同,应该在每个testcase跑完之前initial一次,因此把initial 做成task,在每个testcase中调用即可。


相关文章:
我对验证的一些理解
而且由于现在做 SoC 的太多,IP 又太多,大家都是越来越重 视验证,很多上规模...如果做 sdf 反 标的门仿的话,对于 async 的多级 dff 要剔除掉(VCS 和 NC ...
SOC
动态仿真工具中,常用的逻辑仿真工具有 VCS ,Veril og-XL,NC Verilog, ()等...SoC 功能验证的目标是尽量确保设计能够实现设计文档中所描述的功能吗? 答:是 ...
SOC实验-cadence
SOC实验-cadence_电子/电路_工程科技_专业资料。这是...2、进行 NC 仿真 1)打开仿真软件 如图 1-1 所示...DRC 验证 20)LVS 验证 如图 4-19 所示 点击 ...
soc复习题答案
7. 可达到低功耗的设计要求 3、soc 设计中验证分为哪几类? 设计中验证分为哪几类? 、 1 动态验证 2 静态验证 比较动态验证和静态验证,各有优势和不足。...
SoC技术
SoC 设计方法学主要研究总线架构技术、IP 核可复用技术、可靠性设计技术、软 硬件协同设计技术、SoC 设计验证技术、芯片综合/时序分析技术、可测性/可调试性设计技...
SOC测试读书报告
软硬件协同仿真与验证 系统评估与验证是检验 soc 设计的逻辑、 功能、 时间特性等是否满足用户需求的过程。 3 级验证:模块/ip 核级验证->软硬件协同仿真验证...
SoC 简介
SoC 简介_信息与通信_工程科技_专业资料。SoC 简介第1 章 SoC 简介 近 10 年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、 网络设备,这些产品的...
SoC解释
SoC 设计的关键 技术 具体地说, SoC 设计的关键技术主要包括总线架构技术、IP 核可复用技术、软硬件 协同设计技术、SoC 验证技术、可测性设计技术、低功耗设计...
JTAG各类接口针脚定义及含义
SOC(比如 4510B,44Box,AT91M 系列)内置模块的寄存器,象 UART,Timers,GPIO ...NC / Vsupply NC / VCC JTAG ICE 仿真器:VCC;JTAG ICE mkII 仿真器: NC...
04_第四章 常用NC Code 介绍
NC Code 暂无评价 1页 免费 NC介绍 11页 20财富值 NC财务介绍 50页 5财富值 SOC验证NC_code coverage 6页 免费 NC系统概述 37页 5财富值 ...
更多相关标签:
snd soc dapm nc pin | soc验证 | soc验证 论文 | soc验证工程师 | soc连接性验证 | nc验证公式 | 用友nc 单据验证公式 | 验证码 |