|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
报错如下:Error: Accessing both the flow and potential of a probe branch
目前在做一个类似滑动变阻器的结构,怀疑可能是访问滑动变阻器内部节点的电势导致的报错,初入verilog-A,希望看到的可以指点一下。
代码如下:
module RRAM(TE,BE);
//electrical connections
electrical TE ,BE,gnd;
inout TE,BE;
//t:top electrode; b: bottom electrode
//parameter list:begin
parameter real Ea = 1.2 ;
parameter real Ez = 1.2 ; //unit:eV
parameter real a = 0.01 ; //unit:nm
parameter real f = 1e12 ; //unit:Hz
parameter real k = `P_K;
parameter real q = `P_Q;
parameter real gama = 30 ; //
parameter real l0 = 2.5 ; //unit:nm
parameter real r0 = 0.8 ; //unit:nm
parameter real a1 = 6.5e2; //dn/dy Y
parameter real a2 = 1e6; //dn/dx X
parameter real B1 = 8e4; //
parameter real B2 = 3;
parameter real I0 = 55; //unit:mA
parameter real V0 = 0.35; //unit:V
parameter real gm = 0.2; //unit:nm
parameter real Cp1 = 0.91; //unit: uJ/K
parameter real Cp2 = 13.8; //unit: nJ/K
parameter real kth1 = 2.8; //unit:uJ/Ks
parameter real kth2 = 3.55; //unit:uJ/Ks
parameter real p0 = 1e-6; //unit:S/m Ta
parameter real lamta = 28; //unit:nm
parameter real p =0.5; //
parameter real pi = 3.1415926; //
parameter real T0 = 300; //unit:K
parameter real g0 = 3; //unit:nm
parameter real time_step = 1e-9;
parameter real L=10;
parameter real Rs=100;
//parameter list:end
real Vtb,Itb;
real Tcf,Tbulk;
real dg,dr;
real dTbulk,dTcf;
real I_gap,I_s,I_cf;
real g,r;
real Va,Vb;
real rou;
real E;
real Vte,Vbe;
Analog begin
$bound_step(time_step);
Vtb = V(TE,BE);
Itb = I(TE,BE);
Vbe = V(BE,gnd);
Vte = V(TE,gnd);
I_gap = I0*exp(-g/-gm)*sinh(Vtb/V0);
I_cf=I_gap;
I_s=I_gap;
Va = I_s*Rs+Vbe;
Vb = ((rou*(L-g))*(pi*pow(r,2)))*I_s+Va;
if(Vtb == 0)
begin
Itb=0;
end
else if(Vtb>0)
begin
E=(Vte-Vb)/g;//set
end
else if(Vtb<0)
begin
E=(Vb-Va)/(L-g);//reset
end
dTcf = (Vtb*I_gap-kth1*(Tcf-Tbulk))/Cp1;
dTbulk = (Vtb*I_gap-kth2*(Tbulk-T0))/Cp2;
dg = -(1/2)*exp(-Ez/(k*Tcf))*(a1*pow(a,2)*f/(L-g-l0)-2*a*f*sinh(q*E*a/(2*k*Tcf)));
dr = pow(a,2)*f*exp(-Ea/(k*Tcf))*(a2/(r-r0)-Ea/(k*pow(Tcf,2))*B1*pow(Tcf,B2));
g = idt(dg,g0);
r = idt(dr,r0);
Tcf = idt(dTcf,T0);
Tbulk = idt(dTbulk,T0);
end
endmodule
|
|