- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
利用AMSVF进行混合信号SoC的全芯片验证
AMSVF的应用与重要功能
AMSVF中有许多实用而重要的功能,其中某些功能可用于减少建立测试用例所需的手工时间,而另外一些功能可用于验证性能。
自动总线连接
在HDL语言中,总线信号的使用非常普遍且不可或缺。但SPICE中并没有类似的概念或定义,连接到SPICE支电路的Verilog总线必须被分解到每一个单独的端口,而且必须按顺序连接。例如:
module verilog;
wire [0:5] v;
analog_top xana_top ( v[0], v[1], v[2], v[3], v[4], v[5] );
endmodule
.subckt analog_top p<0> p<1> p<2> p<3> p<4> p<5>
...
.ends
为了准确地连接Verilog实例和SPICE subckt,总线信号v[0:5]必须被分离。通常,分离的过程需要极为耗时的手动编辑,尤其对于规模较大的总线更是如此。而在AMSVF中,通过自动总线连接功能,用户可以轻松地将实例写为:
analog_top xana_top ( v );
用户可以在SPICE网表中设置总线界定符,告知AMSVF哪个符号用于总线信号。这里符号<> 和[ ]为默认界定符,甚至也可以支持空总线界定符。
AICM与BDR
AMS Designer严格遵从Verilog AMS的规范确定(Discipline Resolution)过程,它让用户可以依靠工具确认信号间的连通性,并能实现连接模块的自动插入。
AICM(自动插入连接模块)算法判定通过未声明端口相连的线网规范,然后在模拟和数字域边界上插入连接模块。除了电气到逻辑(E2L)以及逻辑到电气(L2E)这两个普通的连接模块外,AICM还支持双向的连接模块,这对于不想明确指定线网端口方向的用户来说是非常方便的。
在验证大规模设计时,尤其是在ncelab阶段,新的BDR(锁定规范确定)功能能够让设计师应用他们的设计知识去控制并缩小规范确定的解析范围以提升性能。此外,如果通过AMSVF验证的设计在数字和模拟之间有清晰的界限,或其所有线网都已被明确地声明,那么,利用"-disres none"选项甚至可以跳过规范确定过程,显著缩短运行时间。因此,这种新功能可以大幅提高AMSVF在ncelab阶段的性能和效率。
此外,BDR对于多电源设计来说是非常实用的。例如,对于同时使用5V、3.3V和1.8V供应电源的电路来说,当数字模块用不同的供应电源连接模拟模块时,数字信号将会有不同的数字规范,如logic5V、logic33V 和logic18V,而对于单电源设计来说,仅用缺省的logic这一个数字规范即可。因此通过这种功能,用户可以为设计中的数字模块设定不同的数字规范,以便模拟器更加准确地插入连接模块。
Stub View
Stub View提供了从模拟中移除原理图或Verilog AMS模块的途径。通过移除不影响模拟结果或是没有使用到的模块,可以帮助用户加快模拟速度。另外,该功能可以用于确认哪个模块是造成模拟速度降低的主要原因。
比如,电路中包含有不同激励源的3个通道,每个通道彼此独立,利用Stub View功能移除其中的一或两个通道,就可以大幅加快模拟速度。
UPS求解器
一般来说,电源/地线网络中存在大量的寄生RC,在版图后仿真时,这些寄生RC将会大大降低性能,并侵占大量内存。对于这类模拟,AMSVF中的UPS求解器可被用于加速模拟速度,同时保持精确性。模拟器首先侦测电源网络,然后将整个设计分离为电源网络和信号网络两部分。电源网络部分由UPS求解器处理,而信号网络部分则由Ultrasim求解器处理。电源网络模拟的示意图如图2所示。
图2 电力网络模拟法示意图
使用传统的瞬态模拟和UPS求解器分别进行电压降分析的性能对比如表1所示。
来源:21IC电子网