1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
module top;
reg r_clock,j,k,s,r;
assign clock = r_clock;
jkff inst1 (t, tbar, j, k, clock, s, r);
initial begin
$monitor ($time,,"t=%b,tbar=%b,j=%b,k=%b,clock= %b,s=%b,r=%b",
t, tbar, j, k, clock, s, r);
j = 0;
k = 0;
s = 1;
r = 1;
end
initial begin
#10 s = 0;
#10 r = 1;
#10 r = 0;
#10 r = 1;
#10 j = 0; k = 0;
#10 r_clock = 0;
#10 r_clock = 1;
#10 j = 0; k = 1;
#10 r_clock = 0;
#10 r_clock = 1;
#10 j = 1; k = 0;
#10 r_clock = 0;
#10 r_clock = 1;
#10 j = 1; k = 1;
#10 r_clock = 0;
#10 r_clock = 1;
#10 j = 0; k = 1;
#10 r_clock = 0;
#10 r_clock = 1;
#10 j = 0; k = 0;
#10 r_clock = 0;
#10 r_clock = 1;
#10 r = 0;
#10 r_clock = 0;
#10 r_clock = 1;
#10 r = 0;
#10 s = 1;
#10 r_clock = 0;
#10 r_clock = 1;
#10 r = 1;
#10 s = 0; r = 1;
#10 s = 1; r = 0;
#10 s = 1; r = 1;
#10 s = 0; r = 0;
#10 s = 1; r = 0;
#10 s = 0; r = 1;
end
endmodule
// jk flip flop from valid SIM library
module jkff (t, tbar, j, k, ck, s, r);
parameter rise = 0, fall = 0;
input j, k, ck, s, r; // J, K, clock, s, clear
output t, tbar; // data outputs
JK_Q #(rise, fall) (t, j, k, ck, s, r);
JK_QBAR #(rise, fall) (tbar, j, k, ck, s, r);
endmodule // jkff
|