Generación de reloj en modelsim

0

Estoy tratando de verificar un bloque que creé usando Modelsim pero tengo un pequeño problema con la generación del reloj. Me gustaría que el banco de pruebas produjera un reloj de 5 ns (200 MHz) con el siguiente código ...

Período:

CONSTANT period : time := 5000 ps;

Proceso:

-- system clock signal generation
clock_proc : PROCESS
BEGIN
    WHILE (true) LOOP
        clk_i <= '1'; WAIT FOR period/2;
        clk_i <= '0'; WAIT FOR period/2;
    END LOOP;
    WAIT;
END PROCESS;

Sin embargo, en Modelsim se genera un reloj de 4ns. Pero como todas mis afirmaciones se basan en sentencias de espera como las siguientes ...

    WAIT FOR 1 * period;

todavía se activan el reloj deseado de 5 ns. ¿Qué estoy haciendo mal en la generación del reloj? He intentado usar 5000ps en caso de que Modelsim no pueda manejar el número de punto flotante generado a partir de 5ns / 2, pero esto no produjo ninguna diferencia.

    
pregunta Marmstrong

1 respuesta

3

Parece que la resolución de tu simulación está configurada en 1 ns, en cuyo caso cualquier declaración de espera se redondeará al nanosegundo más cercano.

    
respondido por el scary_jeff

Lea otras preguntas en las etiquetas