¿Cómo configuramos el tiempo en la simulación vhdl para un kit de fpga que tiene un reloj de 100 MHz? [cerrado]

-2

Estamos escribiendo un código en vhdl. ¿Cómo configuramos el tiempo en la simulación vhdl para un kit de fpga con un reloj de 100 MHz? ¿Debemos configurarlo en 10 ns (10 nano segundos) para una visualización efectiva de los resultados? ¿Dónde deberíamos hacerlo? ... ¿En la parte rodeada de la primera figura o en la parte rodeada de la segunda figura?

primera figura:

segundafigura:

Y amablemente, díganos el significado de la parte rodeada en las figuras de puño y segundo respectivamente.

    
pregunta Soumee

2 respuestas

2

La primera cifra que has circulado es el tiempo de ejecución de la simulación. Básicamente, lo que significa es que al hacer clic en el botón que se encuentra a su lado, ejecutará la simulación para 10ns.

La segunda captura de pantalla muestra una herramienta para crear una señal de reloj interna. No estoy familiarizado con el software que está utilizando, pero en mis propios bancos de pruebas, estoy acostumbrado a simular una señal de reloj con el siguiente fragmento de código:

p_clk : process
begin
    clk <= '0';
    while true loop
        wait for CLK_PERIOD/2;
        clk <= not clk;
    end loop;
    wait;
end process p_clk;

Dado que CLK_PERIOD es una constante que define como le plazca, en su caso debería tener:      constant CLK_PERIOD : time := 1 sec / 10e9;

EDITAR: Aunque el cuadro de diálogo que tiene parece servir al mismo propósito. Puede leerlo en el sitio web de Xilinx, aquí

También puedes intentar "forzar el reloj" en tu señal haciendo clic con el botón derecho y seleccionando "Forzar reloj"

    
respondido por el Fluffy
1

Su pregunta ilustra que está mezclando el significado de "reloj" en diferentes contextos en su diseño y, de hecho, es importante corregir este entendimiento.

  1. Su FPGA tiene un límite tecnológico: dependiendo de la pieza y del diseño, tendrá una frecuencia máxima de operación. Esta frecuencia generalmente se da después de la síntesis (o compilación, como puede llamarse en el contexto FPGA). Por lo general, cuanta más lógica combinatoria tenga de un flip flop a otro, más lento podrá ejecutar su FPGA. Llamemos a esto el máximo reloj FPGA.
  2. Su kit de FPGA (refiriéndose a la placa de evaluación de hardware) parece tener un reloj de sistema integrado preestablecido configurado a 100MHz. Si el reloj del sistema es más pequeño o igual que el reloj máximo de FPGA, todo está bien. De lo contrario, su circuito puede no funcionar.
  3. Su reloj de simulación se puede elegir independientemente del reloj máximo de FPGA y del reloj del sistema, pero normalmente elegirá para configurarlo en el reloj del sistema porque normalmente desea que su simulación se comporte como su sistema fisico Generalmente, este reloj se definirá en su banco de pruebas (VHDL / Verilog / ...), pero también puede elegir definirlo interactivamente a través de un generador de señal.
  4. Su entorno de simulación le permite definir algunas señales (segunda figura). Incluso si la ventana emergente dice "definir reloj", esto no significa que sea un reloj para su sistema, simplemente dice que está definiendo su señal como un reloj. Con un reloj, lo que significa que su señal se repite de un período a otro con la configuración de la señal al valor del borde anterior primero y luego el valor del borde posterior de acuerdo con las especificaciones de tiempo que establezca. Puede aplicar este "tipo de reloj" a cualquier señal, incluso si la señal no es un reloj.
  5. Hay otras definiciones de tiempo en su simulador como se indica en otra respuesta / comentario: este puede ser el paso de tiempo de la simulación, la cantidad de tiempo de simulación cuando solicita continuar la simulación, etc. El "10 us" de su primera cifra corresponde a 1000 ciclos del reloj de su sistema (período de 10 ns). No define su reloj, significa que su simulación avanzará 10 us a la vez. La forma en que definas tu reloj no influirá en esto.
respondido por el le_top

Lea otras preguntas en las etiquetas