Design Methodology

Hierarchical Modeling Concept

With the help of our previous blog, we have learned some interesting new facts about Verilog. As a result, let’s talk about one of the first concepts to grasp, namely the hierarchical modelling concept.

To conduct efficient Verilog HDL-based design, the designer must adopt a “good” design process. In this blog, we’ll go through common design techniques and show how they transfer to Verilog. A digital simulation is composed of several components. We will discuss the components and their relationships.

Design methodology

Digital design techniques are classified into two types: top-down design methodologies and bottom-up design methodologies.

Top-Down Methodology

In a top-down design technique, we simply define the top-level block and identify the sub-blocks required to create the top-level block. We further split the sub-blocks until we reach leaf cells, which cannot be divided anymore. The top-down design approach is depicted in Figure 1.

Fig 1: Top-down Design Technique

Bottom-up Methodology

In a bottom-up design technique, we first identify the accessible building pieces. Using these building components, we construct larger cells. These cells are then utilised for higher-level blocks until the design’s top-level block is built. The bottom-up design approach is depicted in Figure 2.

Fig 2: Bottom-up Design Technique

A mix of top-down and bottom-up flows is generally utilized. The requirements of the top-level block are defined by the design architects. Logic designers select how to arrange the design by dividing functionality into blocks and sub-blocks. Simultaneously, circuit designers are developing efficient circuits for leaf-level cells. They use these leaf cells to create higher-level cells.

The flow intersects at an intermediate stage when switch-level circuit designers have used switches to generate a library of leaf cells and logic-level designers have planned from the top down until all modules are specified in terms of leaf cells.

Let us discuss the design of a negative edge-triggered 4-bit ripple carry counter, which will demonstrate these hierarchical modelling approaches in a clear way.

4-bit ripple carry counter

 Fig 3: 4-bit ripple carry counter

Figure 3 shows a ripple carry counter consisting of negative edge-triggered toggle flip-flops or T-flipflops. As illustrated in Figure 4, each of the T-flipflops may be built using negative edge-triggered D-flipflops and inverters (assuming the D-flipflops do not have q-bar output).

Fig 4: T-flipflops

As a result, the ripple carries counter is constructed in a hierarchical manner using building blocks. Figure 5 depicts the design hierarchy diagram of the ripple counter.

Fig 5: Design Hierarchy Diagram of Ripple Counter

In a top-down design process, we must first identify the functionality of the top-level block, the ripple carries counter. The counter is then implemented using T-flipflops. We construct the T-flipflops using the D-flipflops and an extra inverter gate. After that, we split larger blocks into smaller building sub-blocks until we reach the point where we can no longer break up the Mocks any further.

A bottom-up approach works in the opposite direction. We construct by combining large building components,t,s for example, we might construct D-flipflops out of AND and OR, or we could construct customised D-flipflops form of transistors. Thus, at the level of the D -flipflops, the bottom-up flow meets the top-down flow.

Some aspects of programming that are very important to know first are discussed. Now let’s see what we learned in a while.

  1. What do you mean by the hierarchical modelling concept?
  2. How many types of design methodology exist?
  3. Explain briefly the top-down design technique.
  4. Describe briefly the bottom-up design technique.
  5. Explain how both types of design methodologies are used with an example of a 4-bit ripple carry counter.
Notify of
Inline Feedbacks
View all comments