
This is a sequential circuit. Read the simulation waveforms to determine
what the circuit does, then implement it.

  time   clock  a   p   q
  0ns    0      0   x   x
  5ns    0      0   x   x
  10ns   0      0   x   x
  15ns   0      0   x   x
  20ns   0      0   x   x
  25ns   1      0   0   x
  30ns   1      0   0   x
  35ns   1      0   0   x
  40ns   1      0   0   x
  45ns   1      0   0   x
  50ns   1      0   0   x
  55ns   0      0   0   0
  60ns   0      0   0   0
  65ns   0      0   0   0
  70ns   0      1   0   0
  75ns   0      0   0   0
  80ns   0      1   0   0
  85ns   1      0   0   0
  90ns   1      1   1   0
  95ns   1      0   0   0
  100ns  1      1   1   0
  105ns  1      0   0   0
  110ns  1      1   1   0
  115ns  0      0   1   1
  120ns  0      1   1   1
  125ns  0      0   1   1
  130ns  0      1   1   1
  135ns  0      0   1   1
  140ns  0      0   1   1
  145ns  1      0   0   1
  150ns  1      0   0   1
  155ns  1      0   0   1
  160ns  1      0   0   1
  165ns  1      1   1   1
  170ns  1      0   0   1
  175ns  0      1   0   0
  180ns  0      0   0   0
  185ns  0      1   0   0
  190ns  0      0   0   0

module TopModule (
  input clock,
  input a,
  output reg p,
  output reg q
);

