集成电路设计仿真(Design Simulation) 是通过计算机运行EDA软件动态描述电路行为的方法。设计仿真通过提取电路的数学模型,施加外部激励(Stimulus),观察其响应,进而指导设计改进。
集成电路设计仿真(Design Simulation) 是通过计算机运行EDA软件动态描述电路行为的方法。设计仿真通过提取电路的数学模型,施加外部激励(Stimulus),观察其响应,进而指导设计改进。根据仿真对象不同,电路仿真可分为晶体管级仿真、门级仿真和寄存器传输级(Register Transfer Leved, RTL)仿真。本节所说“仿真”也常称为“模拟"。
晶体管级仿真先建立电路晶体管、电容器、电阻器和电感器等元器件的连接网表(Netlist), 再将连接网表转化为电路节点方程和回路方程,然后求解各节点的电流和电压值,从而获得电路行为。为了方便电路分析,一般提供直流分析(DC Analysis)、瞬态分析(Transient Analysis) (时域分析)和小信号分析(Small- Signal Analysis) ( 频域分析)等分析方法,以获得电路的增益、噪声、频率特性、延迟等性能参数。
门级仿真先建立电路逻辑门、触发器等基本门级电路单元的门级网表,再将门级网表转化为布尔(Boolean) 方程、真值表(Truth Table)或者卡诺图(Karnaugh Map)等逻辑表达式,然后推演激励信号沿单元传递产生的节点逻辑值,从而获得电路行为。为了方便电路分析,门级仿真还提供系统任务、系统函数等手段辅助仿真。门级电路仿真是事件驱动的仿真方法,每个仿真周期处理一个触发事件,根据触发事件内容重新计算电路直到稳态出现。基于事件触发的仿真方法同时覆盖设计功能和时序检查。在同等电路规模情况下,其仿真的复杂度较晶体管级仿真显著降低,从而可以处理更大规模的电路。
RTL级仿真先建立电路寄存器、运算单元等较大规模电路单元的寄存器传输级硬件描述,再将硬件描述转换为信号流图、真值表、有限状态机、状态图和状态表等行为级模型(类似于门级仿真推演激励信号),然后获得内部变量的逻辑值,从而获得电路行为。相比门级仿真,RTL 级仿真依然采用事件驱动的仿真方法,但抽象级别更高,仿真效率进一步提升。集成电路仿真方法对比见表5-1。

在集成电路发展早期阶段,电路仿真主要靠人工计算推导或通过制作实验板的方式来进行。1972年美国加州大学伯克利分校推出SPICE (Simulation Program with Integrated Circuit Emphasis)仿真工具,标志着晶体管级计算机仿真工具开始代替人工走向实用化。20 世纪80年代,芯片规模的指数级增长与计算