A sequential logic circuit is a type of digital circuit that can store and remember information or data between clock cycles. It uses a memory element, such as a flip-flop or register, to store and update the state of the circuit based on the input and previous state. These circuits can perform a variety of functions, such as counting, shifting, and detecting and responding to specific input patterns. Sequential logic circuits are commonly used in digital electronics, including computers, control systems, and communication devices.

A full-adder is a combinational circuit that adds two single-bit binary numbers and a carry-in, and produces a sum and a carry-out. The full-adder has three inputs and two outputs, one for the sum (S) and one for the carry-out (Cout). The third input of the full-adder is the carry-in (Cin) from the previous stage. It can be implemented using basic logic gates such as AND, XOR, and OR gates.

A half-adder is a combinational circuit that adds two single-bit binary numbers and produces the sum and carry as output. The half-adder has two inputs and two outputs, one for the sum (S) and one for the carry (C). It can be implemented using basic logic gates such as AND, XOR, and NOT gates.

A demultiplexer, also known as a data distributor, is a combinational circuit that takes a single input and forwards it to one of multiple outputs based on the select signal. It has one input line, M select lines, and N output lines. The select input determines which output line the input signal will be forwarded to.

A multiplexer, also known as a data selector, is a combinational circuit that selects data from multiple inputs and forwards one of them to a single output line based on the select signals. It has N input lines, M select lines, and one output line. The select inputs determine which input line is selected and forwarded to the output line.