
Learn visual language and hardware description basics, explore IP and IC design flow, write your first Verilog, and install free simulator and gtkwave to design and verify logic with testbenches.
Learn to translate verilog into small, useful circuits—edge detectors, counters, and shift registers—covering synchronous and asynchronous resets, up/down control, load and max value, rtl, and waveforms.
Discover common Verilog design mistakes in combinational logic, including incomplete sensitive lists, latches, and multi driven signals, and how lint tools prevent RTL mismatches.
Design and verify a Verilog z-scan function that outputs raster ids in z-scan order for an 8x8 block, with clock, asynchronous reset, and a test bench for automatic checking.
Explore z-scan Verilog design featuring an io define, 64-cycle counter, id valid signaling, and a 64-to-1 mux; compare synthesis implications and a testbench with for loops and random stimuli.
Model a vending machine as a finite state machine with defined states and transitions, compare Mealy and Moore outputs, and implement with three always blocks in Verilog.
Explore finite state machine design in Verilog, comparing one-, two-, and three-block styles, their latency, and how case-based state transitions enable flexible sequence detector implementations.
The speech isn't fluent, please turn on 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)
This is chapter 2, section 4 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.