在PCB及集成电路设计设计环节,为验证其方案是否可行,它们都要经过仿真验证环节来看看是否具有可行性,但有很多小白不太清楚仿真验证,所以本文将重点谈谈仿真。
1、仿真验证的工作原理
仿真是功能验证的主要手段,仿真贯穿了IC系统设计的整个阶段,它的基本原理主要分为三段,分别是仿真激励、待验证设计、检查仿真结果是否正确。
除了功能检查,用仿真方法还可以检查系统的时序,与静态时序方法相比,仿真的方法更为直观,能较为真实地模拟出电压发生变化、串扰及毛刺、电容耦合等各种情形下电路的运行情况,缺点是运行时间较长且时序检查不完整。
2、系统设计阶段的仿真
在系统级初级阶段,通过行为仿真,可以达到下述目的:
分析算法是否正确;
验证性能是否满足要求;
验证系统划分是否合理;
系统级设计可大致上分为浮点数算法设计、定点数算法设计、架构设计等几个步骤,在每一步都可以进行系统仿真。系统级的仿真可采用数据流仿真方法(不包括时间信息)和基于周期的仿真方法。
3、逻辑/电路设计阶段的仿真
逻辑设计阶段的仿真分RTL仿真与门级仿真两种,RTL仿真是验证系统功能是否正确的重要手段,在RTL仿真中,如何合理构造testbench、如何进行“corner case”的验证是困扰设计者的难题,也是目前验证的热点,一个测试平台应包括待测试部分、Stimulus、Monitors、响应比较电路。
门级仿真速度较慢,通常只是作为一种辅助手段来检查时序是否满足要求,所以通常只需运行很少的几种激励即可。
在逻辑设计阶段,目前有较多的成熟仿真根据,如NC Simulator及VCS,它们都属于事件驱动的仿真工具,即支持RTL仿真也支持门级仿真。
仿真方法存在测试覆盖率低的缺点,一些仿真工具开发商利用形式验证中“断言”的概念,提出了“基于断言的仿真”方法。
对于模拟电路,通常采用Hspice进行仿真,对于特定应用的电路,有一些特定的仿真工具,如在分析射频电路时,Cadence的Spectre比较实用。
在数模混合设计中,往往需要协同验证数字电路和模拟电路,这时需要用上混合仿真软件。