← Back to VLSI Topics
Front-End Domain

RTL Design

Verilog/SystemVerilog coding, FSM design, synthesis-ready RTL, pipelining, and hardware architecture design.

1. Introduction to Verilog HDL

Verilog is a Hardware Description Language (HDL) used to model digital systems at various levels of abstraction. It is the most widely used language for RTL (Register Transfer Level) design in the VLSI industry.

History & Evolution

  • Developed in 1984 by Gateway Design Automation (later acquired by Cadence).
  • IEEE Standard 1364 (Verilog-1995, Verilog-2001, Verilog-2005).
  • SystemVerilog (IEEE 1800) is the superset used in modern designs.

Abstraction Levels in Verilog

1. Behavioral

High-level, algorithmic description (always, initial blocks).

2. RTL (Register Transfer Level)

Most common for synthesis – describes data flow between registers.

3. Gate Level

Netlist with logic gates (post-synthesis).

4. Switch Level

Transistor level modeling.

Basic Verilog Structure

module example_module (
    input wire clk,
    input wire rst_n,
    input wire [7:0] data_in,
    output reg [7:0] data_out
);

    always @(posedge clk or negedge rst_n) begin
        if (!rst_n)
            data_out <= 8'b0;
        else
            data_out <= data_in;
    end

endmodule

Key Concepts in Verilog for RTL

  • • Non-blocking (<=) vs Blocking (=) assignments
  • • Sensitivity lists (always @)
  • • Continuous assignments (assign)
  • • Parameters & Generate statements
  • • Tasks & Functions
  • • Finite State Machines (FSM)