Fpga101: Digital System Design Using Verilog And Python

Posted By: ELK1nG

Fpga101: Digital System Design Using Verilog And Python
Published 1/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1000.14 MB | Duration: 2h 49m

From Verilog basics to building a miniature of Google's TPU

What you'll learn

Understand the fundamentals of Verilog and FPGA.

Understand RTL design, including combinational logic, sequential logic, FSM, and FSMD.

Interface the digital circuit on the FPGA to an ARM processor.

Build a miniature Google's TPU.

Requirements

Fundamentals of digital circuits and programming will give an added advantage.

Description

FPGAs are often used to implement digital signal processing applications that require computation acceleration. FPGAs are also used to verify digital circuits before taping them out into silicon chips, called application-specific integrated circuits (ASICs). The Verilog/VHDL hardware description language (HDL) is used to describe the digital circuits, both for FPGA and ASIC targets. This course focuses on the Verilog language.This course teaches the fundamentals of building digital circuits with Verilog. Four topics of fundamental digital circuits are explained: combinational logic, sequential logic, finite state machines (FSM), and finite state machines with data paths (FSMD). Three more topics about integrating the digital circuit on the FPGA into an ARM processor are explained. At the end of the course, a final project on how to build a miniature Google TPU is explained.In the final project, you are going to learn the methodology design of an accelerator for a neural network based on a matrix multiplication core. Matrix multiplication is used in engineering for many applications. Once you get familiar with the methodology, then you should be able to apply the methodology design to any design that you want.After finishing the course, you will receive a certified certificate of completion. A complete Udemy 30-day money-back guarantee if you are not satisfied with this course, allowing you to study with no risk.See you within the course.

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Source Code

Section 2: Design Flow

Lecture 3 Verilog I

Lecture 4 FPGA Chip

Lecture 5 Vivado Installation

Lecture 6 Simulation Flow

Lecture 7 Compilation Flow

Section 3: Combinational Circuits

Lecture 8 Verilog II

Lecture 9 Combinational Circuits Modeling

Lecture 10 Combinational Circuits Testing

Section 4: Sequential Circuits

Lecture 11 Verilog III

Lecture 12 Sequential Circuits Modeling I

Lecture 13 Sequential Circuits Modeling II

Lecture 14 Sequential Circuits Testing

Section 5: State Machine Circuits

Lecture 15 FSM Circuits Modeling

Lecture 16 FSMD Circuits Modeling

Lecture 17 FSMD Circuits Testing

Section 6: Zynq Architecture

Lecture 18 Zynq Introduction

Lecture 19 Simple GPIO Testing

Section 7: Basic Hardware Software Design

Lecture 20 Stream DMA PE System

Lecture 21 Block Memory PE System

Section 8: A Miniature Google's TPU

Lecture 22 Neural Network Architecture

Lecture 23 RTL Design of Systolic Processor

Lecture 24 SoC and Software Design

Anyone interested in learning the fundamentals of digital system design.