Category Archives: Tutorials

State Partition Method for State Minimization

State Partition Method for State Minimization is also powerful as the Implication Chart Method and better than Row Equivalence method. In this technique, the states are partitioned into groups based on the possibility that they can be combined. Lets consider the example state table as shown in Table 1 for state minimization using state partition… Read More »

Implication Chart Method for State Minimization

Implication Chart Method for State Minimization is very popular for reducing the steps of an FSM and it is more machine friendly method than Row Equivalence Technique. In this method, a chart is prepared to find the equivalent steps. The implication chart is shown in Figure 1. States are written along the x-axis as ,… Read More »

Row Equivalence Method for State Minimization

Row Equivalence Method for State Minimization is a very simple technique to reduce number of states of an FSM. In the row equivalence method, it is checked that rows of a state table are equivalent or not. Here, a comparatively strict definition of state equivalence is used. The conditions for two states and to be… Read More »

State Minimization Techniques for FSM

In the previous post FSM Design, we have discussed design of Mealy and Moore state machines using Verilog. State minimization is important if we want to reduce number of states in a complex FSM which has many redundant states. If the number of states are reduced then number of bits required for state assignment will… Read More »

FPGA Implementation

In this Tutorial, a detailed discussion on FPGA implementation of complex digital circuits is discussed. First, a brief overview on FPGA is given then the steps involved in implementing a circuit are illustrated. Specific examples are shown to illustrate the steps. FPGA: Basic Overview. A tutorial on FPGA Implementation using XILINX ISE. Estimation of Dynamic… Read More »

FSM design

Contents for FSM design are   Sequence Detector using Mealy Machine Sequence Detector using Moore Machine Serial Adder Vending Machine FSMs, an important category of sequential circuits, are used frequently in designing digital systems. From the daily used electronic machines to the complex digital systems, FSMs are used everywhere. For example, in a station the vending… Read More »

System Architectures

Contents for the system architectures are  Serial Architectures Parallel Architectures Pipelining Comparison Based on the signal acquisition strategy, area and timing constraints digital system architectures can be of the following types Serial Architectures Parallel Architectures Mixed Architectures Go to the Top Serial Architectures The serial architectures process a data stream serially by taking one data… Read More »

Memory Design

Contents for memory design are  Controlled Register Read Only Memory (ROM) Random Access Memory (RAM) Dual Port Memory Simple Dual Port Memory In digital system design, the usage of memory elements is unavoidable. In some of the systems, data can be pre-stored in a constant memory. Memory elements can be used as temporary storage of… Read More »

Sequential Circuits

Contents Flip/flops Shift Registers PN Sequence Generator Counters Loadable Counter Clock Division Clock Division by 3 General Approach for Clock Division Sequential Logic Blocks The output of sequential blocks depends on the present state as well as on past state. Sequential circuits work with a reference which is the clock. A clock signal can be… Read More »

Combinational Circuits

Contents for combinational circuits are  Addition/Subtraction Controlled Add_sub Decoder Converters Parity Check and Generator Comparator Design Wired Shift Variable Shift Block Scale Block Combinational Circuits In this post, the realization of various basic combinational circuits using Verilog is discussed. There is no need to discuss the theory behind the combinational blocks. More about the theoretical… Read More »

Verilog Basics

Contents for Verilog Basics are  Dataflow style Behavioral Style Structural Style Mixed Style In this tutorial, different programming styles in Verilog coding will be discussed. Various online tutorials on programming syntax, operators, different commands, assignment strategies and other important topics are already available. Readers can find the references useful for basics. In going through the… Read More »


Over the past several years, digital system design has become dominant in the field of VLSI design for relatively high performance and cost-effective VLSI circuits. The revolutionary nature of these developments is understood by the rapid growth in implementation of systems on a single chip (SoCs). Instead of fabricating discrete components industries are preferring production… Read More »