module full_adder_dataflow(
    input       a,           // Data
    input       b,           // Data
    input       cin,         // Carry in
    output      sum,         // Sum of a + b
    output      cout);       // Carry out

    // CONTINUOUS ASSIGNMENT STATEMENT
    assign sum  = a ^ b ^ cin;
    assign cout = (a & b) | (cin & (a ^ b));

endmodule