module  JK_FF(J,K,C,Q,QN);
input   J,K;
input   C;
output  Q,QN;

reg  Q,QN;

always  @(negedge C)
begin
  case({J,K})
    2'b00   :  begin  Q <= Q;     QN <= QN;    end
    2'b01   :  begin  Q <= 1'b0;  QN <= 1'b1;  end
    2'b10   :  begin  Q <= 1'b1;  QN <= 1'b0;  end
    2'b11   :  begin  Q <= QN;    QN <= Q;     end
    default :  begin  Q <= Q;     QN <= QN;    end
  endcase
end

endmodule