AND-grind i VerilogA

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7305
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

AND-grind i VerilogA

Inlägg av 13th.Marine »

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?

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
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7305
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

Re: AND-grind i VerilogA

Inlägg av 13th.Marine »

Hurra den funkade!
Skriv svar