AND-grind i VerilogA
Postat: 19 februari 2011, 11:17:22
Sitter och kodar en AND-grind i VerilogA för att användas i tidiga simuleringar av en Buck-Boost-konverter.
Manualen säger mig inte mycket, och inte farbror Google heller (Får bara träffar på Verilog istället).
Så min fråga är helt enkelt, kan detta funka?
Manualen säger mig inte mycket, och inte farbror Google heller (Får bara träffar på Verilog istället).
Så min fråga är helt enkelt, kan detta funka?
Kod: Markera allt
module and(a,b,out);
input a,b;
output out;
voltage a,b,out;
parameter vh = 1.2, %Logic high
vl = 0, %Logic low
vth = 0.6, %Threshold voltage
td = 0, %Delay
tr = 0, %Risetime
th = 0; %Falltime
integer astate, bstate, outstate;
real vout;
analog
begin
@(initial_step)
begin
astate = 0;
bstate = 0;
outstate = 0;
end
begin
@(cross(V(a) - vth))
begin
astate = V(a) > vth;
outstate = astate && bstate;
if(outstate)
vout = vh;
else
vout = vl;
end
@(cross(V(b) - vth))
begin
bstate = V(b) > vth;
outstate = astate && bstate;
if(outstate)
vout = vh;
else
vout = vl;
end
end
V(out) <+ transition(vout,td,tr,tf);
end
endmodule