Synopsys DC: ELAB-922 (błąd)% s Stała wartość wymagana

O

omara007

Guest
Hi guys ..

I zaprojektował VHDL funkcji zwraca obcinana-vector od rzeczywistej zakres podpisane wektora.Innymi słowy, obcięcie się na najmniejszych wektor, który może zawierać że wartość podpisanych bez powielania do podpisania bitowych.Oto funkcja:
Kod:

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

- TRUNCATE_EFFECTIVE

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

Funkcja TRUNCATE_EFFECTIVE (INPUT_VECTOR: SIGNED; TRUNCATION_SIZE: pozytywy) return SIGNED jest

stałej NAS: SIGNED (1 downto 0): = (others =>'0 ');

zmiennej WYNIK: SIGNED (TRUNCATION_SIZE-1 downto 0);

Zmienna ZERO_INDEX: integer;

Zmienna ONE_INDEX: integer;

zacząć

if (INPUT_VECTOR'length <1) a następnie

powrót NAS;

elsif INPUT_VECTOR'length = TRUNCATION_SIZE następnie

powrót INPUT_VECTOR;

elsif INPUT_VECTOR'length <TRUNCATION_SIZE następnie

WYNIK: = rozmiar (INPUT_VECTOR, TRUNCATION_SIZE);

WYNIK powrotu;

elsif INPUT_VECTOR'length> TRUNCATION_SIZE następnie

jeśli INPUT_VECTOR (INPUT_VECTOR'left) ='0 ', a następnie - ( ve) wejściowego wektora

ONE_INDEX: = ONE_FIRST_OCCURANCE (INPUT_VECTOR);

jeśli ONE_INDEX = -1 następnie

WYNIK: = (others =>'0 ');

elsif ONE_INDEX <= TRUNCATION_SIZE-1 następnie

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

w przeciwnym razie

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

end if;

elsif INPUT_VECTOR (INPUT_VECTOR'left) ='1 ', a następnie - (-ve) wejściowego wektora

ZERO_INDEX: = ZERO_FIRST_OCCURANCE (INPUT_VECTOR);

jeśli ZERO_INDEX = -1 następnie

WYNIK: = (others =>'1 ');

elsif ZERO_INDEX <= TRUNCATION_SIZE-1 następnie

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

w przeciwnym razie

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

end if;

end if;

WYNIK powrotu;

end if;

koniec TRUNCATE_EFFECTIVE;

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

Welcome to EDABoard.com

Sponsor

Back
Top