Cómo usar un tipo de matriz como parámetro de un procedimiento

1

Quiero leer los valores de entrada de un archivo y almacenarlos en una matriz

He definido un tipo de matriz personalizado en un paquete como:

TYPE qit IS ('0', '1', 'Z', 'X');
...
Type qitArray IS Array(Natural Range <>) OF qit;

y tengo un procedimiento definido como:

Procedure ReadFromFile(Signal Output : OUT qitArray; File_Name : IN String; Delay : Time);

En el banco de pruebas, he declarado una señal qitArray y la he pasado al procedimiento como un parámetro como este:

 Constant Input_FName : String := "input_file.txt";
 ...
 Signal Output : qitArray;
Begin
  ReadFromFile(Output, Input_FName, 20 ns);
  ...
End;

no hay ningún error de compilación en el archivo del paquete, pero cuando quiero compilar Test Bench, un error dice:

  

El tipo de matriz de "Salida" no tiene una restricción de índice

La longitud de la matriz es desconocida

¿Cómo puedo usar un tipo de matriz de longitud desconocida (o matriz dinámica) como parámetro en un procedimiento?

    
pregunta G3ntle_Man

0 respuestas

Lea otras preguntas en las etiquetas