Tags
Language
Tags
January 2025
Su Mo Tu We Th Fr Sa
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1

Ic/Fpga Design P2: Verilog For Design And Verification

Posted By: ELK1nG
Ic/Fpga Design P2: Verilog For Design And Verification

Ic/Fpga Design P2: Verilog For Design And Verification
Published 1/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.90 GB | Duration: 9h 1m

Consistency between circuit diagram, RTL code and waveform

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)

Requirements

Basic C or C++ programing language

Basic knowledge of digital fundamental

Description

If you don't need Q&A, you can also find a free version of this chapter at my homepage of Udemy.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 fundamental3: Install Verilator and GTKwave4: Common used Verilog syntax for design and verification5: 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 testbench10: 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 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.

Overview

Section 1: Introduction and Preparation

Lecture 1 Introduction

Lecture 2 Digital IP and IC Design Flow

Lecture 3 Quick Review of Digital Fundamental

Lecture 4 Install Verilator and GTKwave

Section 2: Using Verilog to Describe Basic Logic Gates and Simulation

Lecture 5 Hello World in Verilog

Lecture 6 Describe Combination Logic and Sim

Lecture 7 Describe Sync and Async DFF and Sim

Lecture 8 Power-Up sim value difference for Verilator and other sim tools

Section 3: Common Used Verilog Syntaxes

Lecture 9 Verilog Syntanx: Declare and Operators

Lecture 10 if-else if-else and case statement

Lecture 11 sign extension and one-hot decoder

Section 4: Describe counter, edge detect, shift regs and common mistakes for RTL

Lecture 12 Describe small but usefull circuit: counter, edge detect, shift regs

Lecture 13 Common mistakes: Incomplete Sensitive list, Latch, Comb. loop, Multi-driven

Section 5: Practice time: design and verify z-scan function

Lecture 14 design and verify z-scan function

Lecture 15 Reference design and verification code for z-scan

Lecture 16 Project Directoies and Makefile

Section 6: Finite States Machine Design

Lecture 17 Design Finite States Machine

Lecture 18 Using FSM to Design Sequence Detect Function

Lecture 19 Sequence Detect by Shift Regs

Section 7: Function and Task

Lecture 20 Function and Task Syntax

Lecture 21 Task example in testbench

Section 8: Execution Order of Verilog in SW View

Lecture 22 Execution Order of Verilog in SW View

Section 9: Concept of Design Testbench

Lecture 23 Concept of Design Testbench

Section 10: Advanced Topics

Lecture 24 Generate and Parameter Construct

Lecture 25 Concept of Design Large Scale Designs

Section 11: Final Exercise: Complex Sequence Detection

Lecture 26 Bonus Section

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