Red de conocimiento informático - Material del sitio web - Cómo escribir un pulso con un período de 100 ms en lenguaje verilog

Cómo escribir un pulso con un período de 100 ms en lenguaje verilog

Suponiendo que el ciclo del reloj es de 50 ns, el programa es el siguiente. Si el ciclo del reloj es menor que 50 ns, simplemente amplifica el valor asignado a continuación. Debido a que el ciclo de reloj es de 50 ns, 0,1 s requiere 2000 ciclos de reloj. El registro de variable temporal requiere 12 bits y 2200 se pueden representar con 12 bits. modulemaichong(clk,rst,n);inputclk,rst;outputn;regnreg[11:0]tmp1,tmp2;always@(posedgeclk)beginif(!rst)beginn<=0;tmp1<=0;tmp2<=0; endelsebeginif(tmp1<2200)beginif(tmp2<2000)beginn<=1;tmp2<=tmp2+1;endelsebeginn<=0;tmp2<=0;tmp1<=tmp1+1;endendelsetmp1<=0; put Este valor también se genera y se detiene cuando se detecta que este valor es 0 en el banco de pruebas. endendmodule espera ayudarte. Si aún no lo entiendes, sigue preguntando.