Synopsys DC: ELAB-922 (kesalahan)% s nilai konstan diperlukan

O

omara007

Guest
Hi guys ..

Saya merancang VHDL kembali sebuah fungsi yang dipotong-vector efektif dari berbagai menandatangani sebuah vector.Dengan kata lain, pemotongan dilakukan pada ukuran terkecil vector yang dapat berisi nilai yang menandatangani tanpa duplikasi ke tanda sedikit.Berikut adalah fungsi:
Kode:

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

- TRUNCATE_EFFECTIVE

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

fungsi TRUNCATE_EFFECTIVE (INPUT_VECTOR: Signed; TRUNCATION_SIZE: positif) kembali menandatangani adalah

konstan Nas: Signed (1 downto 0): = (others =>'0 ');

HASIL variabel: Signed (TRUNCATION_SIZE-1 downto 0);

variabel ZERO_INDEX: integer;

variabel ONE_INDEX: integer;

mulai

if (INPUT_VECTOR'length <1) maka

kembali Nas;

elsif INPUT_VECTOR'length = TRUNCATION_SIZE kemudian

kembali INPUT_VECTOR;

elsif INPUT_VECTOR'length <TRUNCATION_SIZE kemudian

HASIL: = RUBAH UKURAN (INPUT_VECTOR, TRUNCATION_SIZE);

HASIL kembali;

elsif INPUT_VECTOR'length> TRUNCATION_SIZE kemudian

jika INPUT_VECTOR (INPUT_VECTOR'left) ='0 'maka - ( ve) input vector

ONE_INDEX: = ONE_FIRST_OCCURANCE (INPUT_VECTOR);

jika ONE_INDEX = -1 maka

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

elsif ONE_INDEX <= TRUNCATION_SIZE-1 kemudian

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

lain

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

end if;

elsif INPUT_VECTOR (INPUT_VECTOR'left) ='1 'maka - (-ve) input vector

ZERO_INDEX: = ZERO_FIRST_OCCURANCE (INPUT_VECTOR);

jika ZERO_INDEX = -1 maka

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

elsif ZERO_INDEX <= TRUNCATION_SIZE-1 kemudian

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

lain

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

end if;

end if;

HASIL kembali;

end if;

akhir TRUNCATE_EFFECTIVE;

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

Welcome to EDABoard.com

Sponsor

Back
Top