Difference Between a Combinational and Sequential Circuit
Question – What is the Difference between a Combinational and a Sequential Circuit.
Answer – In a Combinational Circuit, the present output depends only upon the present input. Past input or the sequences of the inputs is immaterial. There is no memory element in the combinationation circuit. If you are implementing a purely combinational circuit on a CPLD or a FPGA, you will typically not need any “clock”, used to step through the “states” or the memory elements. The pure combinational circuit can be composed entirely with the help of logic gates ( AND, OR, NOT, XOR, XNOR etc). Karnaugh mapping is used to minimize the number of gates required to implement a Combinatorial Circuit.
The Sequential Circuit has memory element and the output depends nor only upon the present input, but also upon the pas input or the “state” of the system. or the “memory” of the system. A sequential circuit has flip flops to store the “state” or the registers of the system. A sequential circuit, generally has a clock used to step through the different states of the systems. Typically at each (rising) edge of the clock, the sequential circuit advances to the next state.
Example of a Combinational Circuit
– It is required to check if 4 digit number is has odd parity or an even parity. The system will give out 1 if the parity of the 4 digits is even and will give 0 otherwise. This circuit, can, for example be used to check the error in transmission.
The circuit can be implemented using Boolean Logic and using gates. It can more easily be implemented using Verilog or VHDL Hardware Description Language.
Example of a Sequential Circuit
A system takes a sequence of byte data on its 8 input pin system. The system should give an output, whenever it detects a particular sequence, for example a sequence of 0x01, 0x07, 0x11 and 0x02. Under all other circumstances it will give 0 output.
– The solution to this problem will require a clock which will be used input the values. The clock will also be used to store the intermediate values as the system goes through different states. This will require use of flip flops for implementation.