紧凑型建模的veriloga语句要怎么看?

说点人话,真传一句话,那些一堆公式似是而非的东西,都是半懂不懂的人沽名钓誉用的。

其实建模,归根结底明白几个东西就行了。

1.什么是你的输入和输出信号?

2.你对输入输出信号要建立什么功能关系?

那我们看看,输入输出信号层面,我们可以扒出来多少东西?

输入输出的信号是信号流对吧,什么是信号流?就是在时间上会产生变化的信号Time(singal),所以它要装在anlog begin ...end 里头才能处理,因为数学上管理信号流,本质上都是在做微积分。

所以,信号系统中,什么样的信号流,放在tranform里头都是可以的。

很多人经常会有一个误解,就是什么时候用赋值=,什么时候用分支供给语句<+,它原理就在这。同理来说,数字中的<=其实也是一个道理,都是给的一个完整数据流,不是一个单点的数据。

就算是常数值在里头,它也是随着时间而延长的直线,而非一个点。

输入输出信号的种类很多,就不说了,基本上testbench就是设定的这些东西,电源需要什么测试就用什么模式,要测dc就加个vdc上去,需要trans就加个trans上去,需要ac就加个ac上去。

然后,有人会说,那变量,中间变量是怎么和这些区分的?

很简单,中间变量只是你用来计算另一个比例参数的东西而已。

比如,V(out)<+ R* I(in) ,我可以设置val =  R*I(in) ;然后 val = 0.5*val;再用V(out)<+val,那其实就相当于是V(out)<+ 0.5*R* I(in)

或者,可以这样写: val = 0.5*R ;V(out)<+ val* I(in)

这二者都是一样的。

所以,建模无非是有这么一段电路,非线性电容,非线性电阻,非线性电感组合组合,形成一个网络。

然后再写写一堆堆的变量变化在这个中间罢了,两头依赖是不动的,动来动去都是中间的部分,因为连着写太长了,实在不美观,所以才用变量拆成多个部分罢了。

第二,要建立什么关系?

其实本质上就是看具体是什么依赖,dc就是电源电压依赖,大信号ac就是电荷电压依赖,小信号ac就是电容电压依赖。

至于说什么非线性,一般都在rf中体现更多,写了ac其实就是写了rf,所以没有单独的rf模型,只是把ac中考虑的模型在更高的频段去做一些细化罢了。

原先的cap可能是一个依赖电压线性的,到了rf,它就因为电压而变成一个非线性的稀奇古怪的压缩情况。

至于噪声,它本质山就是功率源,为什么呢?因为噪声同时在电流上有,在电压上有对吧,而且它还叠加在频段上还有不同,所以噪声可以写成一个依照不同频段而依赖的功率源。

对于一些设计师来说,它们关注一些瞬态之类的问题,其实只是某个节点上的问题而已,本质上它还是连续波,只是做了截取和时间叠加。

回到正题,为何大信号是电荷电压依赖,而小信号是电容电压依赖呢?

因为,在大信号中,电荷求导并不是一个线性电容(受到热功率等影响),它可能是个无理数。所以默认是不能求导的,求导也不准。

而小信号是可以搭建电路来模拟的,所以相当于对电荷进行了求导获得了电容的效应。

所以我们的目标就转变成,我们关注节点上的三个属性之间的关系变化,I(a,b) V(a,b) Q(a,b)

根据不同的应用场景,就可以视情况简化依赖情况,然后搭建电路框架了。

对于额外链接到电路节点上的,我可以统一归纳为几个源,电压源,电流源,功率源,电荷源。

至于说热阻,什么它其实就是因为热会使得负载线(负载线可以看成是某个R,设理想值为10)

那么热会使得这个10变成5,所以就相当于在电路中增加了一个并联电阻(串增并减),然后它又会在ac上产生干扰,所以本质上就是影响了电荷,小信号就影响了电容。

懂了这些之后,剩下的都是数据处理了,比如怎么做单维数据拟合防止有跳变点导致不收敛,怎么做双维数据拟合。

归根结底,器件建模也是电路设计,只是用的是理想元件,拟合了复杂的现实效应,然后做的现实元件罢了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值