module t_flip_flop_gate (
    input       clk,        // Clock
    input       t,          // Inputs
    output      q,          // Output
    output      qbar);      //

    // INTERNAL WIRES
    wire        j, k;
    wire        s, r;

    assign j = t;
    assign k = t;

    // JK FLIP-FLOP -----------------------------------

    // NAND3
    nand (s, j, clk, qbar);

    // NAND4
    nand (r, k, clk, q);

    // SR- LATCH -------------------------------------
    
    // NAND1
    nand (q, s, qbar);

    // NAND2
    nand (qbar, r, q);

endmodule