微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > 如何可以使得veriloga编写的模块算出DC点并再原理图中打印出来?

如何可以使得veriloga编写的模块算出DC点并再原理图中打印出来?

时间:10-02 整理:3721RD 点击:
写好了一个电阻的veriloga模型,如下:
//####################################
module res (va,vb);

inoutva, vb;
electricalva, vb;

parameter real resss = 1K from [0:inf) ;

analog begin

V(va,vb)<+resss * I(va,vb) ;

end

endmodule
//####################################

veriloga文件和CDF的opPointLabelSet 需要如何处理,才能把 电流i、电压v 和 功率pwr 这些信息在print opPoint的时候在原理图上显示出来呢?

求教

问题已解决,如下:

1. 代码更改如下

//####################################
module res (va,vb);

inoutva, vb;
electricalva, vb;

parameter real resss = 1K from [0:inf) ;
reali, v, pwr;

analog begin

V(va,vb)<+resss * I(va,vb);
i=I(va,vb);
v=V(va,vb);
pwr=I(va,vb) * V(va,vb);

end

endmodule
//####################################

2. symbol中添加cdsParam(1)cdsParam(2)cdsParam(3)

3. 在cdf中设置opPointLabelSet为‘v i pwr’,不包含引号。


通过veriloga中计算的i v pwr传递数据,可打印dc opPoint和Transient opPoint

请教小编一个问题,比如我想要限定电路中电流的大小,如I不能超过3A, 应该怎么把这个条件加进去呀

不知道如下方法是否可行:
1. 如果要限制支路L的电流,则在支路L上串一个R0的电阻,电阻两端命名为a、b。
2. 如果I(a,b)<=3A,则R0接近于0;如果I(a,b)>3A,则R0远大于0。
为了使电流或者阻抗不出现跳变,R0可以设置成连续的,如下:
module current_limiter(a,b);
inouta, b;
electricala, b;
parameterI_lim=3.0;
parametersensitivity=1u;
realR0;
analogbegin
R0=exp((I(a,b)-I_lim)/sensitivity;
V(a,b)<+I(a,b) * R0;
end
endmodule
sensitivity是电流敏感度,越小限流的阈值就越准,但是太小的话阻抗变化太大,可能会引起不收敛。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top