EmbDev.net

Forum: FPGA, VHDL & Verilog Verilog-Range must be bounded by constant expressions


von Akshay E. (akshay_e)


Rate this post
useful
not useful
module validation(test_input);
input [15:0]test_input;
reg [7:0]test_in;
integer k;

initial
begin
k=0;
end

always@(k)
begin
test_in[7:0]=test_input[7+k:k];//Range must be bounded by constant 
expressions.
end

The code is partial with the same idea. The value of k changes in the 
original code with maximum k value=7 (not shown here). At each change in 
k, I need to copy [k+7:k] bits of test_input to test_in.

eg:
when k=1
test_in[7:0]=test_input[8:1]
when k=4
test_in[7:0]=test_input[11:4]

ERROR:Range must be bounded by constant expressions.

I need to copy 8 bits from 'test_input' to test_in.If variable is not 
allowed then, what is the solution.

: Edited by User
von gurulakshmi (Guest)


Attached files:

Rate this post
useful
not useful
please help to clear this error

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


Rate this post
useful
not useful
Please start a new thread for a new question. Add as much information as 
possible and add a useful question, at least WHAT error you want to get 
rid off.

And: attach Verilog files with *.v extension.

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.