modello VerilogA di blocco monostabile

J

jwfan

Guest
Ciao, ragazzi,

Voglio scrivere un modello utilizzando VerilogA per un monostabile.Ma non riesco a trovare la dichiarazione adatto ritardo per la larghezza d'impulso del monostabile.

Qualcuno può aiutarmi?

Thanks a lot.

BF

 
Perché non basta descrivere il circuito in termini di transistor e condensatori.Un paio di livello 1 equazioni e ohm legge, dovrebbe essere abbastanza facile frusta insieme.

Non ho mai programmato in verilogA, ma ho usato per fare un bel po 'con VHDL AMS, e sarebbe relativamente semplice da fare che in VHDL e suppongo che verilogA è almeno altrettanto facile.

http://www.tpub.com/neets/book9/36b.htm

C'è un circuito monostabile nel link di cui sopra.Non dovrebbe essere difficile da codice che.Basta fare un modello per un resistore, un condensatore, etc e collegarli tra loro.

 
Thank you Nick,

Sì.Posso usare circuito per l'attuazione del monostabile.Ma io voglio la velocità di simulazione per essere più veloce.È per questo che voglio usare VerilogA.

 
jwfan ha scritto:

Thank you Nick,Sì.
Posso usare circuito per l'attuazione del monostabile.
Ma io voglio la velocità di simulazione per essere più veloce.
È per questo che voglio usare VerilogA.
 
Trovo la dichiarazione absdelay.

Il programma è VerilogA lista, nel caso in cui qualcuno potrebbe bisogno.Grazie,

/ / VerilogA per PMM_VA_Models, mono, veriloga

`include" constants.vams "
`include" disciplines.vams "

modulo mono (Vin, Vout);
vin elettrici, Vout, vindelay;
vlogic_high parametro reale = 5;
vlogic_low parametro reale = 0;
vtrans parametro reale = 1.4;
tdel parametro reale = 2u;
pulsew parametro reale = 3U;
trise parametro reale = 1u;
tfall parametro reale = 1u;vout_val reale;
integer logic1;

analogici iniziare

@ (Initial_step) begin
if (vlogic_high <vlogic_low) begin
$ display ( "errore di specificazione Range. vlogic_high = (E%) inferiore a vlogic_low = (E%). \ n", vlogic_high, vlogic_low);
$ finish;
fine
if (vtrans> vlogic_high | | vtrans <vlogic_low) begin
$ display ( "non coerenti w specifica soglia di $ / famiglia logica. \ n");
fine
fine

@ (initial_step) logic1 = 0;

V (vindelay) < absdelay (V (vin), pulsew);@ (Cross (V (VIN) - vtrans, 1)) logic1 = 1;
@ (Cross (V (vindelay) - vtrans, 1)) logic1 = 0;vout_val = (logic1)?vlogic_high: vlogic_low;
V (Vout) < transizione (vout_val, tdel, trise, tfall);

fine

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top