RTL Design

Objective: Master digital logic and RTL coding with Verilog/SystemVerilog for synthesis, verification, and ASIC design flow.

Module 1: Introduction to Digital Design

  • What is RTL?
  • Combinational and Sequential Logic
  • Flip-Flops, Latches, MUXes, Counters
  • Timing Diagrams and Setup/Hold Concept

Module 2: Verilog Basics

  • Module Definition
  • Ports and Parameters
  • Data Types and Operators
  • Always Blocks: Combinational and Sequential
  • Initial vs Always

Module 3: RTL Design Practices

  • Non-blocking vs Blocking Assignments
  • FSM (Finite State Machine) Design
  • Synchronous Reset vs Asynchronous Reset
  • One-Hot, Gray Encoding
  • Hands-on: Design a FSM for elevator control

Module 4: Design of Common Digital Blocks

  • ALU, Adders, Comparators
  • Multipliers, Shift Registers
  • Counters (Up/Down, Programmable)
  • Memory Interface and FIFOs
  • Hands-on: RTL implementation of 4-bit ALU

Module 5: Coding for Synthesis

  • Synthesizable vs Non-synthesizable Constructs
  • Inferring Latches, Multiplexers
  • Clock Gating Techniques
  • Pipeline and Retiming Friendly Coding
  • Latch Avoidance Guidelines

Module 6: SystemVerilog Enhancements (Optional)

  • Interfaces and Clocking Blocks
  • Structs and Enums
  • Assertions for RTL Debug
  • Benefits over Verilog in RTL coding

Module 7: Design for Testability

  • Scan Insertion Basics
  • DFT Guidelines at RTL
  • Boundary Scan and BIST overview
  • Hands-on: Insert scan-friendly flip-flops

Module 8: RTL Simulation and Debug

  • Testbench and Simulation Flow
  • Waveform Viewing and Signal Debug
  • Assertions and Monitors
  • Linting Tools and Coding Style Checks

Module 9: TCL for RTL Automation

  • Introduction to TCL Syntax
  • Using TCL in RTL Flow (Sim/Synthesis)
  • Automating Simulation Runs and Logs
  • Hands-on: Write a TCL script to compile and simulate testbench

Module 10: RTL to Netlist Handoff

  • Constraints (SDC) Introduction
  • Deliverables: RTL, Constraints, Testbench
  • Preparing for Synthesis
  • Sign-off Checklist before handoff

Projects

  • Project 1: Design and simulate a UART Transmitter
  • Project 2: RTL coding of a Pipelined ALU
  • Project 3: FSM-based Arbiter with priority logic

Tools and Labs

  • Modelsim / QuestaSim
  • Vivado / Design Compiler for Synthesis
  • GTKWAVE for viewing waveforms
  • Linting tools and RTL linters (Spyglass, Verilator)

Assessment and Deliverables

  • Weekly RTL assignments
  • Mini Projects and Code Reviews
  • Simulation results and waveforms
  • Final Exam and Viva

prerequisites

  • Basic electronics and Linux basics
  • Passion for learning
  • Qualification
    • Diploma (EE, EC, EI, CS, IT)
    • B.Tech/BE/M.Tech/ME (EE, EC, EI, CS, IT)
    • Any degree with Maths and Physics
  • Failed students with lots of Passion (Let's work out a way)

Selection Process

  • Analytical Test
  • Interview

Limited Seats

Right mentor plays a crutial role in career building, choose right one.