Red de conocimiento informático - Aprendizaje de programación - ¿Puedo garantizar que al escribir en FPGA verilog, siempre que se presione cualquiera de las teclas 0-3, el programa solo se ejecutará una vez? ¡Corre sólo una vez!

¿Puedo garantizar que al escribir en FPGA verilog, siempre que se presione cualquiera de las teclas 0-3, el programa solo se ejecutará una vez? ¡Corre sólo una vez!

Se recomienda utilizar un disparador T para implementar la función de ejecutar el programa solo una vez. Este disparador puede bloquear la señal de la tecla para que la tecla solo pueda ser efectiva cuando se presiona por primera vez.

Cuando se reinicia, Q_out<=0; el resultado de salida en otros momentos es Q_out<=in^Q_out.

Módulo disparador T, código:

Módulo T_trigger(rst,in,Q_out);

Entrada primero,in;

Salida Q_out;

Ajustar Q_out;

siempre@ (en o primero)

comenzar

if(!rst)Q_out<= 0 ;

else Q_out<=in^Q_out;

end

mendmodule

En cuanto a la pantalla del tubo digital, consulte mi siguiente programa:

módulo shumaguan(data,rst,m1,m2);

input rst;

input[4:0]data;

salida[6:0]m1,m2;

reg[6:0]m1,m2;

reg[3:0]n1,n2;

reg[7:0]db[9:0];

parámetro

db[0]=7'b1000000;db[1]=7 'b1111001 ; ' b0000010;db[7]=7'b1111000;db[8]=7' b0000000;db[9]=7'b0010000;

siempre@(datos)

comenzar

if(!rst)

comenzar

m1<=db[0];

m2<=db[0];

.p> fin

más

comienzo

n1<=data/'d10;

n2 < =data%'d10;

m1<=db[n1];

m2<=db[n2];

fin

fin

final del módulo