trucchi simulazione utilizzando ModelSim

P

pwq1999

Guest
Scrivo banco di prova con Verilog, il mio ingresso segnali di cambiamento, allo stesso tempo con il fronte di salita del clock.ora domanda è, la mia fronte di salita del clock di rilevare il valore dei segnali 'che viene dopo fronte di salita del clock, ma penso che il valore del segnale di ingresso' dovrebbe essere prima di fronte di salita del clock i's.

qualsiasi trucchi possono essere suggerite durante la simulazione con ModelSim?

grazie!

 
Presumo che si sta facendo semplici di simulazione comportamentale di logica sincrona, e non sono preoccupato per l'installazione di ingresso effettivo e tempi di attesa.

Ecco una tecnica.Quando si genera l'orologio nel vostro banco di prova, l'uso che lo stesso clock per generare i segnali sincroni di controllo per il modulo in fase di sperimentazione.

Ad esempio, questo banco di prova genera un clock a 50 MHz e uno "basso" segnale di controllo al up / down counter nella "top" del modulo.

Codice:

`orizzonte temporale 1 ns / 1 PSModulo testbench;

reg clk = 1;

reg [4:0] count = 0;top top (. clk (clk),. verso il basso (count [4]));sempre clk # 10 = ~ clk;sempre @ (posedge clk) begin

count <= count 1;

fine

endmoduleModulo top (clk, giù, count);

input clk;

ingresso verso il basso;

reg output [3:0] count = 0;sempre @ (posedge clk) begin

count <= down?
count-1: numero 1;

fine

endmodule
 
Sì, io sto facendo la simulazione del comportamento della logica sincrona, ma perché qualche segnale di cambiamento in concomitanza con l'orologio, l'orologio a volte in grado di rilevare il valore giusto e qualche volta non fosse così?

grazie!

 
Se si esamina da vicino le forme d'onda simulate, i registri possono essere visualizzati per modificare contemporaneamente con l'orologio, ma in realtà il cambiamento, dopo un ritardo infinitesimale.Posedge quando si verifica, gli orari simulatore di Verilog il registro eventi di modifica in modo che si verificano contemporaneamente, così il vostro disegno dovrebbe comportarsi in modo sensato.

(A proposito, ModelSim 6,4 fornisce un nuovo "Expanded Time", caratteristica che mostra i singoli eventi, anche se si verificano nel tempo zero.)

Se avete ancora difficoltà con il vostro progetto, è possibile caricare il tuo codice qui, e qualcuno può aiutare il debug di esso.
Inoltre, assicurati di aver installato il service pack più recenti per il tuo simulatore.

 

Welcome to EDABoard.com

Sponsor

Back
Top