Skip to main content
  1. Tutorials/
  2. Verilog/

Hardware Design Abstraction Levels in Verilog

·238 words·2 mins· loading · loading · ·
Hardware Design Hardware Abstraction RTL Design Gate Level Transistor Level Digital Design
Hardware Design
Axolot Logic
Author
Axolot Logic
Digital Design Engineer
Table of Contents
Verilog HDL Series - This article is part of a series.
Part 3: This Article

🧠 Hardware Design Abstraction Levels
#

Hardware design can be described at multiple levels of abstraction. At the highest level, the system’s overall functionality is defined, while the lowest level shows how individual transistors are connected.

1️⃣ Architectural Level (Highest)
#

  • What does it describe?: Defines the system-level features and specifications

  • Examples:

    • “Design a 32-bit processor”
    • “Include 1MB of cache memory”

2️⃣ RTL (Register Transfer Level)
#

  • What does it describe?: Describes how data flows between registers
  • Example Verilog Code:
module counter(
  input clk,
  output reg [3:0] count
);
always @(posedge clk) 
  count <= count + 1;
endmodule

3️⃣ Gate Level
#

  • What does it describe?: Shows logic gates (AND, OR, NOT) and their interconnections
  • Example:
module top_module (
    input  a,
    input  b,
    input  d,
    input  clk,
    output out,
    output q
);

    AND2X1 U1 (
        .A(a),
        .B(b),
        .Y(out)
    );

    DFF U2 (
        .D(d),
        .CLK(clk),
        .Q(q)
    );

endmodule
module AND2X1 (
    input  A,
    input  B,
    output Y
);

    assign Y = A & B;

endmodule
module DFF (
    input  D,
    input  CLK,
    output Q
);

    reg Q_reg;
    assign Q = Q_reg;

    always @(posedge CLK) begin
        Q_reg <= D;
    end

endmodule

4️⃣ Transistor Level
#

  • What does it describe?: Describes how individual transistors are connected
  • Used for: Custom-designed circuits (e.g., SRAM bitcells)
  • Example: CMOS inverter design

5️⃣ Physical Layout (Lowest)
#

  • What does it describe?: Specifies the physical placement of components on the silicon chip
  • Output: GDSII file for fabrication

Verilog HDL Series - This article is part of a series.
Part 3: This Article

Related

Verilog generate Block: Parameterized Hardware Design
· loading · loading
Hardware Design Verilog Generate Parameterized Design RTL Design Hardware Synthesis Digital Design
Hardware Design
Verilog Assignments: Procedural vs. Continuous Explained
· loading · loading
Hardware Design Verilog Assignments Continuous Assignment Procedural Assignment RTL Design Hardware Description Language
Hardware Design
Verilog Blocking vs. Non-Blocking Assignments
· loading · loading
Hardware Design Verilog Assignments Blocking Assignment NonBlocking Assignment RTL Design Sequential Logic
Hardware Design
Verilog Control Flow: if, case, loops & RTL Guidelines
· loading · loading
Hardware Design Verilog Control Flow Verilog If-Else Verilog Case Verilog Loops RTL Design
Hardware Design
Verilog Data Types, Logic Values & Arrays Explained
·740 words·4 mins· loading · loading
Hardware Design Verilog Data Types Verilog Logic Verilog Arrays HDL Modeling Digital Design
Hardware Design
Verilog Namespaces: Understanding Scope and Modularity
· loading · loading
Hardware Design Verilog Namespace Verilog Scope Modularity RTL Design Hardware Description Language
Hardware Design