¿VHDL "compile time" math?

4

Tengo una entidad VHDL genérica y tengo este código:

--- in testbench
const bits : integer := 13;          -- number of bits
const pow: integer := 8192;          -- 2^bits
const squared : integer := 67108864; -- pow^2

En donde paso esas 3 constantes a la entidad. Lo que realmente me gustaría es algo como:

--- in testbench
const bits: integer := 13;

--- in architecture (generic bits:integer)
const pow : integer := 2^bits;
const squared : integer := pow^2;

Dado que bits se conoce en el momento de la síntesis, ¿hay alguna forma de hacerlo sin utilizar hardware?

    
pregunta rnunes

1 respuesta

5

El operador de energía VHDL es ** .

Por lo tanto, su código debería verse así:

-- in testbench
constant bits    : integer := 13;

-- in architecture
constant pow     : integer := 2**bits;
constant squared : integer := pow**2;
    
respondido por el Paebbels

Lea otras preguntas en las etiquetas