Modelsim10.1代码覆盖率查看与分析

需积分: 50 37 下载量 175 浏览量 更新于2024-09-14 收藏 2.78MB PDF 举报
"Modelsim10.1中的代码覆盖率查看教程" 在软件验证过程中,代码覆盖率是一个关键指标,用于评估测试质量。Modelsim是一款强大的硬件描述语言(HDL)仿真器,其内置的代码覆盖率功能可以帮助工程师更好地理解设计的测试覆盖率。本教程将详细解释如何在Modelsim10.1中查看代码覆盖率。 首先,代码覆盖率通常被用作测试有效性的一个标准,有时甚至用于评估测试任务的完成度,例如要求达到80%或90%的覆盖率。Modelsim的Code coverage功能提供了多种类型的覆盖率报告,包括: 1. **Statement Coverage**:度量每个语句被执行的频率。 2. **Branch Coverage**:检查条件语句的分支是否都被覆盖。 3. **Condition Coverage**:分析条件表达式的各种可能结果。 4. **Expression Coverage**:评估复杂表达式的执行情况。 5. **Toggle Coverage**:追踪信号的翻转,如从0到1或从1到0的变化。 6. **FSM (Finite State Machine) Coverage**:跟踪有限状态机的所有状态是否都被达到。 下面是使用Modelsim10.1查看代码覆盖率的步骤: 1. **选择代码**:按住Ctrl键,使用鼠标左键点击要查看覆盖率的代码行,然后右键单击并选择Properties或通过Compile/Compile Properties菜单。 2. **配置编译设置**:在弹出的Project Compiler Settings选项卡中,选择Coverage选项。 3. **编译设置**:勾选CompileAll,对于Toggle Coverage,可以选择0/1或1/0翻转,高阻变化也被视为下降沿(在6.2及以上版本)。通常,选择前两项即可。 4. **启动覆盖率模拟**:切换到Library空间,右键点击,选择Simulate with Coverage开始覆盖率模拟。 5. **运行仿真**:添加波形窗口,点击Run-All开始仿真。若在testbench中使用了$stop()函数,仿真会自动停止,或者多次点击Run后暂停仿真。 6. **查看覆盖率窗口**:仿真后,界面会显示多个窗口,如Instance、Files等。最大化Instance窗口,可以看到不同颜色表示的覆盖率——绿色表示高覆盖率,红色表示低覆盖率。 7. **导出覆盖率报告**:在Instance窗口中,右键单击选择Code coverage reports,然后按照提示导出TXT格式的覆盖率报告。 8. **保存报告**:生成的报告会自动保存在工程文件所在目录,可随时查看。 通过以上步骤,用户可以在Modelsim10.1中有效地检查和优化设计的测试覆盖率,确保设计的质量和完整性。如果发现覆盖率低,应调整测试向量或代码以提高覆盖范围,直到满足项目需求。