*Edit : Todo resuelto , despues de investigar un buen rato alcance la solucion
Código:
//Modulo del biestable JK
module JKdown(output reg Q, output wire QN, input wire J, input wire K, input wire C);
not(NQ,Q);
initial
begin
Q=0;
end
always @(posedge C)
case ({J,K})
2'b10: Q=1;
2'b01: Q=0;
2'b11: Q=~Q;
endcase
endmodule
//Módulo que contiene el contador y la circuitería auxiliar.
module contador (output wire[3:0] Q, input wire C);
//Cables correspondientes a las salidas negadas de los biestables.
wire [3:0] nQ;
wire rand;
// J2, K2
and (rand, Q[0], nQ[3]);
JKdown jk0 (Q[0], nQ[0], Q[1], Q[1], C);
JKdown jk1 (Q[1], nQ[1], Q[0], Q[0], C);
JKdown jk2 (Q[2], nQ[2], rand, rand, C);
JKdown jk3 (Q[3], Q[3], 1'b1, 1'b1, C);
endmodule
//Módulo para probar el circuito.
module test;
reg C;
wire [3:0] Q;
contador counter (Q,C);
always
begin
#9 C=~C;
end
initial
begin
$monitor($time, "Q[3:0]=%b", Q[3:0]);
//Iniciar cuenta en 2
counter.jk3.Q=0;
counter.jk2.Q=0;
counter.jk1.Q=1;
counter.jk0.Q=0;
C=0;
#300 $finish;
end
endmodule
[MOD]: Utiliza las etiquetas para insertar código.