M
maheshkuruganti
Guest
Vorrei sapere come generare un impulso di durata fissa in Verilog su richiesta di una Trigger.I ha scritto un codice, ma non è working.Can anyone help?
Codice:»calendario 1ns / 1PS
////////////////////////////////////////////////// ////////////////////////////////
/ / Società: Allied Electronics Co.
/ / Engineer: KVMahesh
/ /
/ / Create Data: 00:38:39 05/24/2009
/ / Design Nome: Dual Generatore di impulsi
/ / Modulo Nome: Pulse_Gen
/ / Nome del progetto: Dual Generatore di impulsi
/ / Target Devices: XC3S400A FT256 -4 Velocità Grado
/ / Strumento versioni: 10.1i
/ / Descrizione: Si tratta di un generatore di impulsi del modulo che genera un impulso negativo sul bordo
/ / Limite di segnale Pulse_Width parola dal modulo principale.
/ /
/ / Dipendenze: Main.v
/ /
/ / Revisione: v0.6
/ / Ulteriori commenti:
/ /
////////////////////////////////////////////////// ////////////////////////////////
modulo Pulse_Gen (
ingresso trigger,
Pulse_Out uscita,
input [31:0] Pulse_Width,
ingresso Orologio
);////////////////////////////////////////////////// ////////////////////////////////
/ / Dichiarazione Registrati. / /
////////////////////////////////////////////////// ////////////////////////////////
reg [31:0] PWidth; / / Per Tenere Pulse Width Word.
reg Out_Enable; / / Per Iniziare fini.
reg Pulse = 0, Fatto;////////////////////////////////////////////////// ////////////////////////////////
/ / Triggering / /
////////////////////////////////////////////////// ////////////////////////////////
sempre @ (posedge Trigger)
iniziare
Out_Enable = ~ Out_Enable;
fine////////////////////////////////////////////////// ////////////////////////////////
/ / Attuale generazione di impulsi Sezione / /
////////////////////////////////////////////////// ////////////////////////////////
sempre @ (posedge Orologio)
iniziare
if (PWidth == Pulse_Width)
iniziare
PWidth <= 32'h00000000;
Pulse <= 1'b0;
fine
altro
iniziare
PWidth <PWidth = 1;
Pulse <= 1'b1;
fine
fineassegnare Pulse_Out = impulsi;endmodule
Codice:»calendario 1ns / 1PS
////////////////////////////////////////////////// ////////////////////////////////
/ / Società: Allied Electronics Co.
/ / Engineer: KVMahesh
/ /
/ / Create Data: 00:38:39 05/24/2009
/ / Design Nome: Dual Generatore di impulsi
/ / Modulo Nome: Pulse_Gen
/ / Nome del progetto: Dual Generatore di impulsi
/ / Target Devices: XC3S400A FT256 -4 Velocità Grado
/ / Strumento versioni: 10.1i
/ / Descrizione: Si tratta di un generatore di impulsi del modulo che genera un impulso negativo sul bordo
/ / Limite di segnale Pulse_Width parola dal modulo principale.
/ /
/ / Dipendenze: Main.v
/ /
/ / Revisione: v0.6
/ / Ulteriori commenti:
/ /
////////////////////////////////////////////////// ////////////////////////////////
modulo Pulse_Gen (
ingresso trigger,
Pulse_Out uscita,
input [31:0] Pulse_Width,
ingresso Orologio
);////////////////////////////////////////////////// ////////////////////////////////
/ / Dichiarazione Registrati. / /
////////////////////////////////////////////////// ////////////////////////////////
reg [31:0] PWidth; / / Per Tenere Pulse Width Word.
reg Out_Enable; / / Per Iniziare fini.
reg Pulse = 0, Fatto;////////////////////////////////////////////////// ////////////////////////////////
/ / Triggering / /
////////////////////////////////////////////////// ////////////////////////////////
sempre @ (posedge Trigger)
iniziare
Out_Enable = ~ Out_Enable;
fine////////////////////////////////////////////////// ////////////////////////////////
/ / Attuale generazione di impulsi Sezione / /
////////////////////////////////////////////////// ////////////////////////////////
sempre @ (posedge Orologio)
iniziare
if (PWidth == Pulse_Width)
iniziare
PWidth <= 32'h00000000;
Pulse <= 1'b0;
fine
altro
iniziare
PWidth <PWidth = 1;
Pulse <= 1'b1;
fine
fineassegnare Pulse_Out = impulsi;endmodule