We use sequential circuits to design a 4-bit serial adder of unsigned integers. Unlike combinational circuits, the memory feature of flip flops allows us to define two states

flowchart LR
	Q0((State Q0)) --> |11/0| Q1((State Q1))
	Q1 --> |00/1| Q0
	Q0 --> |00/0,01/1,10/1| Q0
	Q1 --> |01/0,10/0,11/1| Q1

where the XY/Z notation stands for two operands / carry-in. Since the states require only one bit to remember, we only need use one D flip-flop to hold the states. The organization of the adder are drawn as

flowchart LR
    In([In]) --> G[Combinational<br> Circuit G]
    G -->|Qnext| D[D Flip-Flop]
	CLK([CLK]) --> D
    D -->|Q| F[Combinational<br> Circuit F]
    D -->|Q| G
    F --> Out([Out])
	In --> F

The combinational circuit G are defined as

and the circuit F is