Quería modular GR como operador. ¿Cómo puedo?
module GR(ou,a,b);
input [7:0] a,b;
input reset;
output ou;
wire o1,o2,o3,o4;
assign ou=o1 || o2 || o3 || o4;
TBC call1(o1,a[1],b[1]);
TBC call2(o2,a[3],b[3]);
TBC call3(o3,a[5],b[5]);
TBC call4(o4,a[7],b[7]);
endmodule
**************************************************************************
module TBC(o,a,b);
input a,b;
output o;
assign o=a && (~b);
endmodule
module five(outt,ack,reset,a1,b1,c1,d1,e1,clka);
input [7:0] a1,b1,c1,d1,e1;
input clka,reset;
output reg [7:0] outt;
output reg ack;
always @(negedge clka) begin
if(GR(a1[1],b1[2])) begin
b1[2]<=a1[1];a1[1]<=b1[2];
end
end
endmodule
¿Qué corrección necesito?
Editar: Como se sugiere a continuación, comentar, hago funcionar como se muestra a continuación *
function GR;
input [7:0] a,b;
wire o1,o2,o3,o4;
begin
GR=o1 || o2 || o3 || o4;
o1=a[1]&&(~b[1]);
o2=a[3]&&(~b[3]);
o3=a[5]&&(~b[5]);
o4=a[7]&&(~b[7]);
end
endfunction
Pero está dando error: Error de sintaxis cerca de "cable"