Quiero hacer un contador como el código gris, pero esto es diferente, así que escribe este código pero ayúdame a encontrar un error
Este es el código
module counter2(mainclk,rst , A,B,C,D );
input mainclk;
input rst;
output A,B,C,D;
reg A,B,C,D;
reg [3:0]qb;
reg anb,dnb,bc,nca,nd,na,nb,cna;
reg ap,bp,cp;
initial
begin
A=1'b0;
B=1'b1;
C=1'b0;
D=1'b1;
qb[3]=1'b1;
qb[2]=1'b0;
qb[1]=1'b1;
qb[0]=1'b0;
end
always @(posedge mainclk )
begin
if(rst)
begin
A<=1'b0;
B<=1'b1;
C<=1'b0;
D<=1'b1;
end
else
begin
anb <= A && qb[2];
dnb <= D && qb[2];
ap <= anb || dnb;
d_ff dffa(ap , 0 , mainclk , A ,qb[3]);
bc <= B && C ;
nca <= A && qb[1];
bp <= bc || nca;
@d_ff dffb(bp , 0 , mainclk , B ,qb[2]);
cp <= qb[0] || qb[3] || qb[2] ;
@d_ff dffc(cp , 0 , mainclk , C ,qb[1]);
cna <= C && qb[3];
@d_ff dffd(cna , 0 , mainclk , D ,qb[0]);
end
end
endmodule
y el error es Error (10170): Verilog HDL syntax error at counter2.v(37) near text "dffa"; expecting "<=", or "="