|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 sara9233 于 2023-3-10 16:45 编辑
求助大家一个问题:diode的verilog的模型怎么写呢?要求就是:
1:两端电压小于0.7v,等效于1M的电阻,Iout=Vin/1M;
2:两端电压大于0.7v,等效于10Ω电阻与0.5v的电压源串联,Iout=(Vin-0.5v)/10;
现在仿真发现当电压大于0.7v时,输出不对。因为无法贴图,只能打字。
代码如下:
'include "constants.vams"
'include "disciplines.vams"
module diode_test(vp,vn)
inout vp,vn;
electrical vp,vn;
integer sw_state;
real idc;
electrical net1;
analog begin
@(cross(V(vp,vn)-0.7,+1.0))
sw_state=1;
@(cross(V(vp,vn)-0.7,-1.0))
sw_state=0;
if(sw_state==0)begin
v(vp,vn) <+ 1M * I(vp,vn);
idc=I(vp,vn);
end
else begin
v(net1,vn) <+ V(vp,vn)-0.5;
v(net1,vn) <+ 10 * I(vp,vn);
idc=I(vp,vn);
end
end
endmodule
|
|