2011-12-18 4 views

ответ

3

Вы могли бы сделать

always @(posedge clk) 
    begin 
    L[16:1] <= #1 R[15:0] 
    R[16:1] <= #1 L[15:0]^out; 
    end 
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 

несколько вопросов, вы, вероятно, хотите, чтобы думать о том:

  • Какого размера являются L и R автобусов? [15:0]?
  • Где вы назначаете значения L[0] и R[0]?
  • Вы уверены, что i+1, когда i показов 15 будет по-прежнему в пределах вашего автобуса?
+0

благодаря Марти, у меня есть еще один вопрос, это синтезируемого? – Sohrab

+0

Это должно быть ... – Marty

+1

# 1 не синтезируется, но инструмент примет его и просто даст вам предупреждение. –

Смежные вопросы