4

我想要这样的东西:

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 

如果有人可以帮助我,我将不胜感激。

4

2 回答 2

4

我想你不需要在generate这里。只需在块内使用for循环即可。always

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

您可能需要考虑的几个问题:

  • LR公共汽车的尺寸是多少?[15:0]?
  • L[0]您在哪里为和赋值R[0]
  • 您确定i+1i点击 15 时仍会在您的巴士范围内吗?
于 2011-12-18T17:27:51.833 回答
3

你可以做

always @(posedge clk)
  begin
  L[16:1] <= #1 R[15:0]
  R[16:1] <= #1 L[15:0] ^ out;
  end
于 2011-12-19T22:44:20.983 回答