Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
VLSI/FPGA Design P2-S1: Verilog for Design and Verification
Rating: 4.1 out of 5(36 ratings)
1,386 students

VLSI/FPGA Design P2-S1: Verilog for Design and Verification

Consistency between circuit diagram, RTL code and waveform
Last updated 3/2025
English
English [Auto],

What you'll learn

  • Common used Verilog syntaxes for design and verification
  • Install Verilator and GTKwave on windows OS(using WSL)
  • Descript combination logic (basic logic gates, MUX, decoder, one-hot decoder)
  • Descript sequential logic (DFF with sync/async reset, ounter, edge detect, shift registers, sequence check, sync_fifo)
  • Design finite state machine (FSM)
  • Write testbench
  • Using Verilator and GTKwave to debug a design
  • Common mistakes for synthesis (incomplete sensitive list, latch, multi-driven, combination logic loop)
  • Practice time: z-scan, complex sequence check (FSM)

Course content

1 section5 lectures1h 33m total length
  • Introduction3:38

    Explore Verilog as a hardware description language, learn IP/IC design flow, and write first Verilog code. Use free tools to design and verify combinational, sequential logic, and testbenches.

  • Digital IP and IC Design Flow26:10

    Learn the end-to-end IP and IC design flow, from requirements and algorithm modeling to hardware mapping, verification, and FPGA emulation, culminating in tapeout and production.

  • Quick Review of Digital Fundamental17:38

    Contrast combinational and sequential logic, detailing gates, muxes, dffs, latches, clock edges, four-state values z and x, plus two's complement and hex encoding.

  • Install Verilator and GTKwave43:23

    Install Verilator and gtkwave on Linux via Windows Subsystem for Linux, set up Ubuntu 22, and build and run a hello world simulation with Verilator.

  • Promotion: VLSI/FPGA Design Resume Project: 2D DMA Controller with APB+AXI Inf.2:19

    Design a 2D DMA controller IP to copy data between system addresses using APB and AXI interfaces, demonstrated on FPGA.

Requirements

  • Basic knowledge of digital fundamental
  • Basic C or C++ programing language

Description

The speech isn't fluent, please turn on the subtitle to help your understanding.


Quick master through examples and coding exercises, in videos less than 10 hours. After study, you can have the ability of consistency between circuit schematic, Verilog code and waveform. That’s given anyone of them, you can figure out the other two. In this chapter (will be divided to several free sections), I’ll explain:

1: Digital IP/IC design flow;

2: Quick review of digital fundamental

3: Install Verilator and GTKwave

4: Common used Verilog syntax for design and verification

5: Design combination logic(basic gates, MUX, decoder, one-hot decoder)

6: Design sequential logic(sync-DFF, async-DFF)

7: Design small but useful block(counter, edge detect, shift registers, sequence check, sync_fifo)

8: Design FSM(finite state machine)

9: Design basic testbench

10: Common mistakes for synthesis(incomplete sensitive list, latch, multi-driven, combination logic loop)

11: Practice time: design and verify z-scan and complex sequence check(FSM)


Note:

This is chapter 2, section 1 of whole Digital IC and FPGA design course.

In the whole course, I will introduce fundamentals of digital IC and FPGA design, with 12+ coding exercises and 3 course projects.

Theory part: MOS transistor -> logic cells -> arithmetic data path -> Verilog language -> common used HW function blocks and architecture -> STA -> on-chip-bus(APB/AHB-Lite/AXI4) -> low power design -> DFT -> SOC(MCU level).

Function blocks and architecture: FSM, pipeline, arbiter, CDC, sync_fifo, async_fifo, ping-pong, pipeline with control, slide window, pipeline hazard and forward path, systolic.

Project: SHA-256 algorithm with simple interface, SHA-256 with APB/AXI interface, 2D DMA controller with APB/AXI interface.

After explaining of each HW architecture, I will give you a coding exercise, with reference code. Coding difficulty will begin from several lines to fifty lines, more than 100 lines, then around 200 lines. While the final big project will be 1000+ lines.

I suppose these should be essential knowledge and skills you need master to enter this area.

I will try my best to explain what-> how-> why and encourage you to do it better in this course.


Please browse to my homepage on Udemy to obtain information about each chapter of this course.

Who this course is for:

  • Anyone who wants to study Verilog and digital IC/FPGA design