🧠 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”
-
Tools: Block diagrams, architectural documentation
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:
AND2X1 U1 (.A(a), .B(b), .Y(out));
DFF U2 (.D(d), .CLK(clk), .Q(q));
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