覆盖率统计与UVM中的覆盖模型
覆盖目标与覆盖模型
为减少资源浪费,覆盖率被用作指导验证资源分配的基准,通过识别设计中已测试和未测试的部分来实现。覆盖率定义为已达成验证目标的百分比,作为评估验证项目进度的指标,从而减少验证设计所需的仿真周期。
总体而言,覆盖率指标主要分为两大类:一类是能从设计代码中自动提取的指标,例如代码覆盖率;另一类是用户自定义的指标,用于将验证环境与设计意图或功能特性相匹配。后者被称为功能覆盖率,是用户自定义的指标,用于衡量测试计划中列出的功能特性是否已得到充分验证。该指标可用于评估测试计划中定义的有趣场景、边界情况、规范不变量或其他适用设计条件是否已被观察、验证和测试。
| | 同义词 | 定义 | 关联 |
| — | — | — | — |
| 覆盖率 | coverage | 覆...
用Github Actions来编译LaTeX
CJK字体
第一步
使用xu-cheng/latex-action@v3编译LaTeX,中文字体缺失。尝试安装Noto CJK字体,但是安装完后latex找不到字体
第二步
决定将字体文件放在项目文件夹里
环境是texlive2022,XeLaTeX编译,使用xeCJK宏包
代码是
\setCJKmainfont[
BoldFont={fonts/NotoSansCJKsc-VF.ttf},
ItalicFont={fonts/NotoSerifCJKsc-VF.ttf},
Extension=.ttf
]{fonts/NotoSerifCJKsc-VF.ttf}
包括一条警告:
Font shape TU/fonts/NotoSerifCJKsc...
使用picker与toffee框架进行芯片验证
芯片验证基础
验证框架 以FIFO为例
先用picker工具将Verilog转化为对应语言的dut(这里是Python). --rw 1写入波形文件, -c开启覆盖率:
picker export FIFO.v --sname FIFO -w FIFO.fst --lang python --sim verilator --rw 1 -c
pytest运行python写的测试:
python -m pytest . -sv --toffee-report
如果用--toffee-report选项, 每次运行会在reports/生成覆盖率报告与波形文件
testcase and fixture
用pytest运行装饰符所标志的testcase, fifo_env为环境, fi...
17 post articles, 5 pages.