ModelSim是一种基于计算机的电子电路设计软件,主要用于仿真与验证数字电路。它提供了完整的工具集,包括了设计、仿真、调试、验证、波形查看等等功能,是硬件工程师必备的软件之一。
(资料图片)
ModelSim的主要功能有
设计: 支持Verilog(包括2001和2005标准)、VHDL等语言的设计,以及ALDEC和Synopsys的语法检查器
仿真: 支持多种仿真模式、安全检查、高效的波形查看、测试向量生成工具等。
调试:支持多种调试模式、批处理仿真、跟踪信号、单步仿真等。
验证:支持多种测试方法、代码覆盖率分析、测试向量生成工具等波形查看:支持仿真过程中的信号波形查看、统计信息展示等
ModelSim广泛应用于数字电路设计、芯片设计、系统级设计和FPGA设计等领域中。它可以帮助设计工程师发现代码中的各种错误和问题,并验证设计是否按照规范来实现。
modelsim的高级功能:Code Coverage
代码覆盖率是验证激励是否完备,检验代码质量的一个重要手段。测试激励的代码覆盖率至少要达到95%以上,才能基本认为代码在逻辑上是通过质量控制的,才能进入综合步骤;
代码覆盖率是保证高质量代码的必要条件,但却不是充分条件。即便代码行覆盖和分支覆盖都能够达到100%,也不能肯定的说代码已经得到100%的验证。除非所有的分支覆盖都能够进行组合遍历。
在大的设计中,如果想通过一个激励就验证完一个设计或者模块是不现实的。一方面是从逻辑功能上很难做到;另外一方面是因为如果在一个激励中包括了各种情况,整个仿真过程的速度会随着计算机内存的消耗而成线性下降,效率低下。
通常的做法是每一个激励只验证电路功能的某个方面。整个电路的功能验证由数个激励共同完成。在这种验证方法中代码覆盖率更显重要,因为可以通过代码覆盖率来控制激励对功能的覆盖程度。
modelsim的Code coverage不但能记录各个激励对代码的“行覆盖”和“分支覆盖”,而且能够将各个激励的覆盖记录进行合并,做到对覆盖率的全面监测。
关键词: