Cómo implementar Clocking Wizard IP en el proyecto Vivado

Estoy usando Vivado (2017.4) y he estado tratando de experimentar con Clocking Wizard IP. Entiendo cómo crear una nueva IP, pero no estoy seguro de qué hacer con el archivo HDL que genera. He visto muchos tutoriales y todos parecen tener diferentes métodos para incorporar la nueva velocidad de reloj en su proyecto.

¿Alguien conoce una forma estándar de usar el código generado por Clocking Wizard en su proyecto? Estoy familiarizado con Verilog y VHDL, por lo que cualquier consejo sería útil.

Respuestas (2)

En el archivo HDL generado para el asistente de fichaje, verá la declaración de entidad para el asistente.

Por ejemplo:

entity clk_wiz_0
     port (
      clk_in1 : in std_logic,
      clk_out1: out std_logic
     );
end clk_wiz_0;

Entonces, en su código, puede crear una instancia del asistente de reloj como un componente.

Ejemplo:

component clk_wiz_0
     port map (
      clk_in1 => your_input_clk_signal,
      clk_out1 => your_output_clk_signal
     );
end component;

Si bien este es un método, también puede instanciar la IP en un diagrama de bloques y conectar las señales de entrada/salida de su asistente en el propio diagrama de bloques. Una vez hecho esto, puede dejar que Vivado genere los productos de salida (archivos VHDL/Verilog para el diagrama de bloques) y cree el archivo contenedor/de nivel superior para usted.

Espero que esto ayude

Por lo general, solo hay un módulo de nivel superior que tendrá pines como entrada, salida, reinicio, etc. Simplemente cree una instancia de esto en su código en algún lugar y conecte las entradas y salidas de manera adecuada. Consulte el manual de IP core para obtener una descripción de los pines. También puede haber una plantilla de creación de instancias que puede simplemente copiar y pegar.