I want to have sth like this:
generate
for( i=0 ; i<16 ; i=i+1 ) begin:
always @(posedge clk) begin
L[i+1] <= #1 R[i];
R[i+1] <= #1 L[i] ^ out[i];
end
end
endgenerate
I would appreciate it if any one could possibly help me.
You don't need a generate
here, I think. Just using a for
loop within the always
block will work.
always @(posedge clk) begin
for( int i=0 ; i<16 ; i=i+1 ) begin
L[i+1] <= #1 R[i];
R[i+1] <= #1 L[i] ^ out[i];
end
end
A few questions you'd probably want to think about:
L
and R
buses? [15:0]
? L[0]
and R[0]
? i+1
when i
hits 15 will be still within the bounds of your bus? You could do
always @(posedge clk)
begin
L[16:1] <= #1 R[15:0]
R[16:1] <= #1 L[15:0] ^ out;
end
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.