Estoy usando verilog en la herramienta de diseño VIVADO (XILINX), en simulación (post-síntesis y post-implementación) de mi diseño. Estoy recibiendo un noise (< em> Alta frecuencia (incluso mayor que el reloj real de la placa) cerca de ambos bordes de mi reloj derivado (lento). ¿Alguien puede decirme cómo eliminar este ruido no deseado?
la instantánea de la simulación de la siguiente manera:
El código verilog para esto es el siguiente:
module counter(
input clk, //Actual clock(100Mhz ->Artix-7)
input rst,
output reg[7:0] out,
output reg nc //New clock(slow)
);
reg [25:0]temp;
reg slow;
initial
begin
temp=26'd0;
slow=1'b0;
out=0;
end
always@(posedge clk)
temp<=temp+1;
always @(temp)
begin
if(temp==26'b10111110101111000010000000)//clock divided by 50Mhz
slow<=slow+1;
end
always @(slow)
begin
nc<=slow;
end
always @(posedge slow)
begin
if(rst==1'b1)
out<=0;
else
out<=out+1;
end
endmodule