一种数模混合SoC设计协同仿真的验证方法
时间:04-09
来源:互联网
点击:
4 验证过程与结果
在进行SMS芯片整体系统仿真之前,首先要分别对芯片的数字部分和模拟部分单独进行仿真,以确保这两部分功能和时序的正确性。然后将这两部分合并,验证其接口的同步性。
下面以验证FSK调制信号的接收功能为例,构建图3所示的验证平台。
(1)FSK调制器建模
为了模拟电话线(TIP和RING,电话的接入线)上的FSK调制信号,可以在CID模拟的外围添加一个FSK调制器。用Verilog-A语言对其进行行为级建模,提供CID模块的输入信号。
该FSK调制器要求产生相位连续的FSK信号,即在码元转换时刻的相位是连接的。其调制信号可以写作:
式中:A是载波的振幅,fc是未调载波的频率,θc表示载波的初始相位,Δfd为峰值偏频,m(t)为归一化基带信号。
又由于TIP与 RING上的信号相位相反,取电压偏置为2.5V,初始相位为0,所以FSK调制器的行为级模型为:
'ihclude “std.va”
'include “const.va”
module fsk_modu(in,TIP,RING);
inout in;
inout TIP,RING;
electrical in,TIP,RING;
parameter real Vbias=2.5;
parameter real A=0.28;
parameter real fc=1700;
parameter real delta_fd=500;
real time;
analog
begin
time=$realtime();
V(TIP)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt ((1-V(in)/2.5),0.0)));
V(RING)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt((1-V(in)/2.5),0.0)+3.14));
end
endmodule
FSK调制器的仿真波形如图4所示。
其中in为待调制码元信号,a为电话线TIP线信号,b为电话线RING线信号。
(2)模拟部分 Verilog建模
在TESTBENCH中需要例比数字部分和模拟部分,而TESTBENCH是用Verilog语言编写的,因此需要对用SPICE语言描述的模拟部分进行Verilog建模。这种建模相对比较简单,只需要用Verilog语言给出模拟部分输入、输出引脚定义。
(3)模拟部分测试矢量
待调制信号的测试矢量必须满足CID模拟与MCU之间的硬件通信协议,即:每帧数据由10位组成,第一位必须为“0”,作为起始位;最后一位必须为“1”,作为结束位,即0XXXXXXXX1。软件通信协议暂不考虑。
考虑到当“0”和“1”交替出现时是CID模拟FSK解调的最坏情况,因此取待调制信号的测试矢量为0101010101。
(4)数字部分测试程序
ROM为Verilog语言编写的行为级程序寄存器模型,通过读入编译过的汇编指令文件完成程序的装载,MCU则从ROM取指令,完成相位的功能。 MCU执行程序如图5所示。
(5)验证的理论结果
根据硬件通信协议,当测试矢量为“0101010101”时,有效的数据为“10101010”,即十六进制数据“0AAH”,所以MCU累加器将接收到数据“0AAH”。
(6)验证的实际结果
验证结果如图6所示。
图6中,in为待调制信号;R_CLK为FSK数据接收时钟信号,由CID模块产生,MCU在该时钟信号的上升沿接收数据,暂存在 FSK数据接收寄存器中;R_FDRN为数据准备好信号,由CID产生,根据汇编程序,MCU查询到该信号有产,则将FSK数据接收寄存器中的数据写入累加器acc_[7:0]中。从图6中可以看出,最后累加器接收到由模拟部分传递的数据0AAH,这与理论分析的结果相一致。因此可以得出结论:SMS芯片 FSK数据接收的功能和时序符合设计要求。
同样采用数模混合协同仿真技术,我们对SMS芯片的其它功能时序进行了验证,得到的结论符合设计要求。2002年12月,我们将芯片在CSMC采用0.6μmCMOS工艺进行流处制造,其物理版图如图7所示。
5 结论
随着系统级芯片(SoC)应用的增加,对混合信号仿真的需求也将不断扩大。数模混合仿真已经成为当今SoC设计中的重要一环,采用高效的仿真技术不但能显著提高设计质量,而且还可以减少产生面市时间。
SMS芯片采用数模混合协同仿真技术进行验证,充分利用了各个仿真器的优点,大大综合了仿真时间,实现了对整个芯片系统的同步仿真。验证得到的正确结果增强了我们投片的信号。不可否认数模混合协同仿真技术是一种高效的仿真技术。当然,这种仿真技术也存在不足:其一,使用两种仿真引擎导致设计成本增加;其二,需要人工进行数模划分。我们相信在不久的将来会出现更为理想、更为高效的数模混合仿真技术。
参考文献
1. 郭梯云 数据传输 1998
2. Lai Xinquan.Zhang Yue.Li Yushan.Liu Xuemei Behavioral Modeling of Electronic Circuit Module with Verilog-A Language
[会议论文] 2000
3. YDN069-1997 YDN069-1997. 电话主叫识别信息传送及显示功能的技术要求和测试方法(暂行规定) 1998
作 者:东南大学 金肖科 凌明 茆邦琴
来 源: 单片机与嵌入式系统应用 2004(1)
在进行SMS芯片整体系统仿真之前,首先要分别对芯片的数字部分和模拟部分单独进行仿真,以确保这两部分功能和时序的正确性。然后将这两部分合并,验证其接口的同步性。
下面以验证FSK调制信号的接收功能为例,构建图3所示的验证平台。
![](../img/eec-Analog/Analog-136668mjudbag5eoq.gif)
(1)FSK调制器建模
为了模拟电话线(TIP和RING,电话的接入线)上的FSK调制信号,可以在CID模拟的外围添加一个FSK调制器。用Verilog-A语言对其进行行为级建模,提供CID模块的输入信号。
该FSK调制器要求产生相位连续的FSK信号,即在码元转换时刻的相位是连接的。其调制信号可以写作:
![](../img/eec-Analog/Analog-136669d0zuctygnpl.gif)
式中:A是载波的振幅,fc是未调载波的频率,θc表示载波的初始相位,Δfd为峰值偏频,m(t)为归一化基带信号。
![](../img/eec-Analog/Analog-136670f01dfktroqu.gif)
又由于TIP与 RING上的信号相位相反,取电压偏置为2.5V,初始相位为0,所以FSK调制器的行为级模型为:
'ihclude “std.va”
'include “const.va”
module fsk_modu(in,TIP,RING);
inout in;
inout TIP,RING;
electrical in,TIP,RING;
parameter real Vbias=2.5;
parameter real A=0.28;
parameter real fc=1700;
parameter real delta_fd=500;
real time;
analog
begin
time=$realtime();
V(TIP)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt ((1-V(in)/2.5),0.0)));
V(RING)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt((1-V(in)/2.5),0.0)+3.14));
end
endmodule
FSK调制器的仿真波形如图4所示。
![](../img/eec-Analog/Analog-136671ee21ugzcfol.gif)
其中in为待调制码元信号,a为电话线TIP线信号,b为电话线RING线信号。
(2)模拟部分 Verilog建模
在TESTBENCH中需要例比数字部分和模拟部分,而TESTBENCH是用Verilog语言编写的,因此需要对用SPICE语言描述的模拟部分进行Verilog建模。这种建模相对比较简单,只需要用Verilog语言给出模拟部分输入、输出引脚定义。
(3)模拟部分测试矢量
待调制信号的测试矢量必须满足CID模拟与MCU之间的硬件通信协议,即:每帧数据由10位组成,第一位必须为“0”,作为起始位;最后一位必须为“1”,作为结束位,即0XXXXXXXX1。软件通信协议暂不考虑。
考虑到当“0”和“1”交替出现时是CID模拟FSK解调的最坏情况,因此取待调制信号的测试矢量为0101010101。
(4)数字部分测试程序
ROM为Verilog语言编写的行为级程序寄存器模型,通过读入编译过的汇编指令文件完成程序的装载,MCU则从ROM取指令,完成相位的功能。 MCU执行程序如图5所示。
![](../img/eec-Analog/Analog-136672oa0kwcaqtkd.gif)
(5)验证的理论结果
根据硬件通信协议,当测试矢量为“0101010101”时,有效的数据为“10101010”,即十六进制数据“0AAH”,所以MCU累加器将接收到数据“0AAH”。
(6)验证的实际结果
验证结果如图6所示。
![](../img/eec-Analog/Analog-136673asdftckjzt1.gif)
图6中,in为待调制信号;R_CLK为FSK数据接收时钟信号,由CID模块产生,MCU在该时钟信号的上升沿接收数据,暂存在 FSK数据接收寄存器中;R_FDRN为数据准备好信号,由CID产生,根据汇编程序,MCU查询到该信号有产,则将FSK数据接收寄存器中的数据写入累加器acc_[7:0]中。从图6中可以看出,最后累加器接收到由模拟部分传递的数据0AAH,这与理论分析的结果相一致。因此可以得出结论:SMS芯片 FSK数据接收的功能和时序符合设计要求。
同样采用数模混合协同仿真技术,我们对SMS芯片的其它功能时序进行了验证,得到的结论符合设计要求。2002年12月,我们将芯片在CSMC采用0.6μmCMOS工艺进行流处制造,其物理版图如图7所示。
![](../img/eec-Analog/Analog-136674fhgv0ei5dtg.gif)
5 结论
随着系统级芯片(SoC)应用的增加,对混合信号仿真的需求也将不断扩大。数模混合仿真已经成为当今SoC设计中的重要一环,采用高效的仿真技术不但能显著提高设计质量,而且还可以减少产生面市时间。
SMS芯片采用数模混合协同仿真技术进行验证,充分利用了各个仿真器的优点,大大综合了仿真时间,实现了对整个芯片系统的同步仿真。验证得到的正确结果增强了我们投片的信号。不可否认数模混合协同仿真技术是一种高效的仿真技术。当然,这种仿真技术也存在不足:其一,使用两种仿真引擎导致设计成本增加;其二,需要人工进行数模划分。我们相信在不久的将来会出现更为理想、更为高效的数模混合仿真技术。
参考文献
1. 郭梯云 数据传输 1998
2. Lai Xinquan.Zhang Yue.Li Yushan.Liu Xuemei Behavioral Modeling of Electronic Circuit Module with Verilog-A Language
[会议论文] 2000
3. YDN069-1997 YDN069-1997. 电话主叫识别信息传送及显示功能的技术要求和测试方法(暂行规定) 1998
作 者:东南大学 金肖科 凌明 茆邦琴
来 源: 单片机与嵌入式系统应用 2004(1)