|
发表于 2013-7-11 11:31:03
|
显示全部楼层
本帖最后由 peterlin2010 于 2013-7-11 11:42 编辑
other flyback
but 好像有問題
貼上來大家 討論
// VerilogA for edaboard, transformer, veriloga
`include "constants.vams"
`include "disciplines.vams"
module flyback_transformer(inp,inn,outp,outn,B,G);
inout inp,inn,outp,outn, B,G ;
electrical inp,inn,outp,outn,B,G ;
parameter real ind_mag=2E-3 ;
parameter real n = 13 ;
parameter real vgate_thres = 0.2;
parameter real ibase_thres = 1E-3;
parameter real state_ing=0;
real il0, V1 ,il ;
integer reset ;
analog begin
@(initial_step)
begin
il0= ( state_ing *ind_mag );
V1=n*V(outp,outn) ;
reset=0;
end
il = (idt(V1,il0,reset) /ind_mag ) ;
if (il<=0)
begin
il=0;
reset=1;
il0=0;
end
if ( (V(G) > vgate_thres ) && (I(B) > ibase_thres ) )
begin
V1=V(inp,inn) ;
I(inp,inn) <+ 0 ;
I(outp,outn) <+ il ;
reset =0;
end else
begin
V1 = n*V(outp,outn) ;
I(inp,inn) <+ 0;
I(outp ,outn) <+ il*n ;
reset =0 ;
if ( il==0)
begin
V1=0;
reset=1;
il0=0;
end
end
end
endmodule |
|