EmbDev.net

Forum: FPGA, VHDL & Verilog Error: Range expressions could not be resolved to constant


von Rohan Narkhede (Guest)



Rate this post
useful
not useful
Hi all,

I get an error as : Range expressions could not be resolved to constant 
in the for loop:

for i in nshft-1 downto 0 loop

where - signal nshft : integer range 32 downto 1;

Is it because that I am assigning an integer with a range limit to a
constant iterator in for loop? In that case what would be the solution?
Please see the code and screenshot attached.

Thanks and regards,
Rohan Narkhede

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
Rohan Narkhede wrote in post #4372153:
> Is it because that I am assigning an integer with a range limit to a
> constant iterator in for loop?
"Range" in this error message is the loop range "nshft-1 downto 0".

A for-loop in VHDL is only allowed with constant values for synthesis. 
Obviously nshift is not a constant value...

Look at the barrel shifter in https://embdev.net/topic/346009

BTW: Only one thread with the same question pls.

: Edited by Moderator
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.