Synopsys DC: ELAB-922 (fejl)% s konstant værdi kræves

O

omara007

Guest
Hi guys ..

Jeg konstrueret en VHDL-funktion, der returnerer et trunkeret-vektoren fra en effektiv vifte af en underskrevet vektor.Med andre ord, trunkering sker på den mindste størrelse vektor, der kan indeholde, der underskrev værdi uden dobbeltarbejde at tegnet bit.Her er funktionen:
Code:

-------------------------------------------------- --------------------------

- TRUNCATE_EFFECTIVE

-------------------------------------------------- --------------------------

funktion TRUNCATE_EFFECTIVE (INPUT_VECTOR: UNDERSKREVET; TRUNCATION_SIZE: POSITIV) hjemrejse UNDERSKREVET er

konstant NAS: UNDERSKREVET (1 downto 0): = (andre =>'0 ');

variable RESULTAT: UNDERSKREVET (TRUNCATION_SIZE-1 downto 0);

variable ZERO_INDEX: INTEGER;

variable ONE_INDEX: INTEGER;

begynd

if (INPUT_VECTOR'length <1) derefter

tilbagevenden NAS;

elsif INPUT_VECTOR'length = TRUNCATION_SIZE derefter

tilbagevenden INPUT_VECTOR;

elsif INPUT_VECTOR'length <TRUNCATION_SIZE derefter

RESULTAT: = resize (INPUT_VECTOR, TRUNCATION_SIZE);

tilbagevenden RESULTAT;

elsif INPUT_VECTOR'length> TRUNCATION_SIZE derefter

hvis INPUT_VECTOR (INPUT_VECTOR'left) ='0 'dengang - ( ve) input vektoren

ONE_INDEX: = ONE_FIRST_OCCURANCE (INPUT_VECTOR);

hvis ONE_INDEX = -1 derefter

Resultat: = (andre =>'0 ');

elsif ONE_INDEX <= TRUNCATION_SIZE-1 derefter

RESULTAT: = INPUT_VECTOR (TRUNCATION_SIZE-1 downto 0);

anden

RESULTAT: = INPUT_VECTOR (ONE_INDEX 1 downto ONE_INDEX-TRUNCATION_SIZE 2);

udgangen, hvis;

elsif INPUT_VECTOR (INPUT_VECTOR'left) ='1 'dengang - (-ve) input vektoren

ZERO_INDEX: = ZERO_FIRST_OCCURANCE (INPUT_VECTOR);

hvis ZERO_INDEX = -1 derefter

Resultat: = (andre =>'1 ');

elsif ZERO_INDEX <= TRUNCATION_SIZE-1 derefter

RESULTAT: = INPUT_VECTOR (TRUNCATION_SIZE-1 downto 0);

anden

RESULTAT: = INPUT_VECTOR (ZERO_INDEX 1 downto ZERO_INDEX-TRUNCATION_SIZE 2);

udgangen, hvis;

udgangen, hvis;

tilbagevenden RESULTAT;

udgangen, hvis;

udgangen TRUNCATE_EFFECTIVE;

-------------------------------------------------- --------------------------
 

Welcome to EDABoard.com

Sponsor

Back
Top