Problema con tipos de señales en VHDL

#1
Hola a todos,
hace poco que estoy aprendiendo vhdl y pues tengo un problema con una linea.
Pos <= 200 + A;
Donde Pos es una signal tipo integer y A una señal tipo std_logic_vector. Mi pregunta es si hay una forma de lograr esta operación porque A la tengo definida como una entrada y la idea es que siga siendo std_logic_vector.
Por otro lado Pos es de tipo integer porque es la posicion de una memoria, aunque no se si hay la posibliidad de hacer una memoria donde se direccione con una señal std_logic_vector.

Gracias de antemano,
Saludos...
 
#2
Después de buscar un poco en internet, hay una forma de convertir una señal de tipo std_logic_vector a integer.

Seria algo así:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all; --hay que incluir estas bibliotecas

...

signal sum: integer;
...
sum <= CONV_INTEGER (UNSIGNED(A));
Pos <= 200 + sum;
...

Está seria la manera, donde la señal A se pasa primero de std_logic_vector a un vector sin signo, después se pasa a integer.

Saludos...
 
Arriba