最近在研究sigma-delta 调制器,已经在matlab上建好模型之后转战cadence。
做的是简单的2-1MASH的调制器,通过利用理想开关(analogLib中Switch)和VerilogA写的组合逻辑、差分运放(参考何乐年书上)等等搭建了一个理想的DSM,可是瞬态仿真时候,发现第一级调制器的采样电容在CLK1打开时候并没有跟随输入信号变化,可是最后得到的数据在matlab上整合出来确实是这个频率的信号,只是SNR比较低,只有70dB、12bit左右。
图1
图2
图3
如图1第一个是信号输入,第二个是采样电容上级版电容的信号(在1.65V左右波形,波动只有0.00005V),第三个是采样信号,可以看出采样电容上信号并没跟随输入变化,不知道为什么会出现这种情况,通过图二、图三可以看到积分器的输出确实正常的,这是为什么呢???请大神们指教~
此外仿真时候会出现警告:
1.LTE tolerance was temporarily relaxed to step over a discontinuity in the signal: I0.net420.
2.Detected possible convergence difficulties which might be related to Verilog-A models. Use the command-line option '-ahdllint=warn' to check the Verilog-A modeling issues.
查了一下这两个有点像是verilogA写的东西不收敛导致的,请问有什么方法解决???