Verilog: ¿es posible hacer una instanciación indexada?

Tengo un archivo, que es algo similar a

module AB(A,B,Out);
  input A,B;
  output Out;

  wire Out;
  assign Out = A & B;
endmodule

Necesito usar N número de este cálculo. es decir, tengo a = 1001; b = 0001, necesito hacer algo como Y bit a bit, y tengo N bits.

Lo he usado como una instanciación:

op[0] = a[0] & b[0];
op[1] = a[1] & b[1];
op[2] = a[2] & b[2];
op[3] = a[3] & b[3];
op[4] = a[4] & b[4];

Cuando intento hacer esto con un índice i, tengo:

AB g(a[i],b[i],Op[i]) for i = 0 to N-1. 

Si hago esto, dice que AB no está declarado.

¿Es esto imposible? Si es así, ¿cuál es la alternativa?

Respuestas a la pregunta(2)

Su respuesta a la pregunta