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

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
动态仿真工具中,常用的逻辑仿真工具有 VCS ,Veril og-XL,NC Verilog, ()等...SoC 功能验证的目标是尽量确保设计能够实现设计文档中所描述的功能吗? 答:是 ...
SoC设计验证的探索
SoC 设计验证的探索 一、引言 在片上系统的设计与实现中,验证这一环节日益重要,整个过程中花在验证的时间比重 越来越大,主要原因在于随着 SoC 芯片复杂度的提高,...
FPGA验证后仿真
SoCVista】Xilinx FPG... 24页 免费 第三讲 FPGA仿真验证 20... 暂无评价...Cadence 公司的 NC-Verilog 和 NC-VHDL,Aldec 公司的 Active HDL VHDL/Verilog...
片上系统SOC
SoC的开发是从整个系统的功能和性能出发, 利用IP复用和深亚微米 技术,采用软件和硬件结合的设计和验证方法,综合考虑软硬件资源的使用成本, 设计出满足性能要求的高...
soc复习题答案
7. 可达到低功耗的设计要求 3、soc 设计中验证分为哪几类? 设计中验证分为哪几类? 、 1 动态验证 2 静态验证 比较动态验证和静态验证,各有优势和不足。...
SoC解释
SoC 设计的关键 技术 具体地说, SoC 设计的关键技术主要包括总线架构技术、IP 核可复用技术、软硬件 协同设计技术、SoC 验证技术、可测性设计技术、低功耗设计...
SoC 简介
SoC 简介_信息与通信_工程科技_专业资料。SoC 简介第1 章 SoC 简介 近 10 年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、 网络设备,这些产品的...
NC-Verilog仿真详解
(SoC)的发展上, 矽智产(IP)是来源来自不同的地方, 有些矽智产是采用 VHDL...(simulator),可以帮助 IC 设计者验证及模拟所设计 IC 的功能.使用 NC-Verilog...
SoC技术及其发展
通常,SoC 设计包括系统级设计、电路级设计、 物理实现、 物理验证及最终验证SoC 设计中的关键环节是 IP Core 复用技术, 完成一个片上 系统设计必须要在很大...
soc复习整理
soc复习整理_计算机软件及应用_IT/计算机_专业资料。西电计算机学院SOC复习整理第一讲 SoC 设计概论 SoC 基本概念-> SoC 关键技术分析-> SoC 设计方法-> SoC 总...
更多相关标签:
soc验证 | soc验证 论文 | soc验证工程师 | 用友nc 单据验证公式 | 106短信验证码 | 验证码短信平台5c | 验证码 | h1z1邮箱验证教程 |