¿Cómo uso los parámetros genéricos de VHDL cuando coloco un símbolo de hoja en Altium?

1

Estoy usando Altium Designer Winter 09 para sintetizar un diseño para un FPGA. Esto incluye una entidad definida por VHDL MyShifter que incluye parámetros generic para que pueda ser reutilizable:

library IEEE;
use IEEE.Std_Logic_1164.all;

entity MyShifter is

generic
(
       data_width : positive;
       pad_width : positive
);

port
(
    -- ...other ports...
    DataIn        : in std_logic_vector(data_width-1 downto 0)
);

-- architecture follows...

Con cualquier otra entidad VHDL podría hacer clic con el botón derecho en un esquema y usar Place » Sheet Symbol , y luego sincronizar las entradas de la hoja con los puertos definidos en VHDL. Más tarde, Altium generará automáticamente el VHDL de nivel superior que asigna puertos a otros puertos y no tengo que preocuparme por ello.

Cuando intento esto con mi entidad con genéricos, termino con una entrada de hoja etiquetada como DataIn[-1..0] . Esto no es sorprendente, ya que no le "dije" a Altium qué es realmente data_width .

Mi pregunta es: ¿cómo le digo a Altium cuáles son los parámetros genéricos data_width y pad_width para una instancia particular de MyShifter ?

    
pregunta detly

3 respuestas

1

No estoy seguro de que exista una buena solución. Podría agregar un segundo archivo VHDL que cree una instancia de la entidad del primer archivo VHDL con el mapa genérico apropiado. Luego, simplemente puede colocar ese archivo VHDL de segundo nivel en el esquema.

No es lo ideal, pero mantiene la capacidad de reutilización, ya que solo puede crear nuevos archivos de segundo nivel para cada tamaño diferente que desee, y solo tiene que cambiar el archivo de primer nivel para afectar a todas las instancias.

    
respondido por el ajs410
0

¿Ha intentado agregarlo como un parámetro al símbolo de la hoja?

Haga doble clic en el símbolo de la hoja, vaya a la pestaña de parámetros y agregue un parámetro data_width . Supongo que lo quieres de tipo INTEGER .

Estoy adivinando un poco aquí. Realmente no uso Altium con síntesis lógica.

Esposiblequetengasquecorregirlasetiquetasdeentradadelahojamanualmentedespuésdeagregarunparámetro(otalvezsimplementevolveracompilarelproyecto).

Alternativamente:

Séquepuededefinirvariablesdeproyecto,peronosésisepresentanalsistemadesíntesisVHDL.Sidata_widthseusaenvarioslugares(yeselmismoentodaspartes),puedevalerlapenaintentarlo.

Proyecto>>Opcionesdeproyecto>>Pestaña"Parámetros".
No tiene las opciones de tipo de datos de la hoja-símbolo, como se describe a continuación, por lo que es posible que el sistema de síntesis VHDL no vea los parámetros del proyecto.

    
respondido por el Connor Wolf
0

1- Si agrega parámetros al símbolo VHDL como se sugirió anteriormente:

estoagregaráelsiguientecódigoalarchivoVHDL:

2- La forma más fácil de obtener los resultados que solicitó, es simplemente agregar una sola línea al comienzo del archivo vhdl:

para verificar que esto funciona, puedes sincronizar rápidamente el símbolo con la hoja vhdl

    
respondido por el matt

Lea otras preguntas en las etiquetas