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)