VerilogA采样保持电路模型

模型考虑到了采样开关RC延时以及,沟道电荷泄露的非理想因素

采样保持电路

原代码:

// VerilogA for SampleAndHold
`include "constants.vams"
`include "disciplines.vams"
module VerilogA_SampleAndHold(clk,vin,vmin,vout);
parameter real vtrans=0.5;
parameter real delay = 0;
parameter real ttime = 1p;
parameter real clk_threshold = 0.5; //vdd is 1v
input clk,vin,vmin;
output vout;
electrical vout,vin,vmin,clk;
real v;
analog begin
// Sampling Phase (+1 is for rising edge, -1 is for falling edge)
    @(cross(V(clk) - clk_threshold, +1))
        v = V(vin);
    V(vout) <+ transition(v,delay,ttime);
end
endmodule

非理想因素:由于导通电阻和保持电容充放电RC延时

修改参数ttime,改变跟随斜率

原代码存在只跟随脉冲上升沿数值,没有模拟沟道电荷注入效应影响

改进了VerilogA代码,使其支持模拟沟道电荷注入效应

// VerilogA for SampleAndHold



`include "constants.vams"

`include "disciplines.vams"



module VerilogA_SampleAndHold(clk,vin,vmin,vout);



parameter real vtrans=0.5;

parameter real delay = 0;

parameter real ttime = 0.2n;

parameter real clk_threshold = 0.5; //vdd is 1v

parameter real charge_injection_value = 0.01;



input clk,vin,vmin;

output vout;



electrical vout,vin,vmin,clk;



real v;

real T_time;

analog begin



if (V(clk) - clk_threshold > 0 ) begin

v = V(vin);

T_time = ttime;

end



@(cross(V(clk) - clk_threshold, -1))

begin

v = V(vout) - charge_injection_value;

T_time = ttime/100;

end

V(vout) <+ transition(v,delay,T_time);

end

endmodule

参数charge_injection_value即为沟道电荷注入效应的影响

改进后仿真结果如下

对采样结果频谱分析

Fin = 2,734,375Hz Fs = 200MHz DFT采样点数512

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值