optimize error:left bound range doesn't evaluate to a const.

S

senthil

Guest
hello friends,

i am new to leonardo spectrum, but i known vhdl well.

in my part of coding given below

signal pnct_indx : integer range 0 to 200;
signal cnvenc_indx : integer range 0 to 300;

punct_data have 192 bit_vector..

ln.no process(clk,rst)
1 if rst = '1' then
2 punct_data <= (others => '0');
3 punct_full ,= '0';
4 elsif clk'event and clk = '1' then
5 if count = 6 and pnct_indx < 192 and cnvenc_indx < 288 then
6 punct_data(pnct_indx to pnct_indx+3) <=cnvenc_data(cnvenc_indx)
& cnvenc_data(cnvenc_indx+1)&cnvenc_data(cnvenc_indx+2)&cnvenc_data
(cnvenc_indx+5)
pnct_indx <= pnct_indx +4;
cnvenc_indx <= cnvenc_indx + 6;
elsif pnct_indx = 192 then
punct_full <= '1';
end if
end if
end process

when i apply this coding to leonardo spectrum level 3, i found one
error named as left bound of range doesn't evaluate to a constant at
line no. 6..
pls help me and i also got some sort warnings as

suppose this file have entity name as punctdata and rtl as
architecture name

warning is -> replacing punctdata in hdl libraray work.
-> replacing rtl of entity punctdata...

expecting ur reply eagerly

Senthil.R
 

Welcome to EDABoard.com

Sponsor

Back
Top