
A thorough introduction to Basys 3 board with Artix 7 chip on it from Digilent.
Table of Contents:
00:35 Flow Process
01:21 Introduction to Basys 3 Board
02:54 Creating a New Project
05:58 Design Entry (Verilog in Vivavdo)
07:42 Creating a Constraint File
13:10 Behavioral Simulation, Creating a Test bench File
22:29 Implementation
23:07 Generate Bitstream File
23:25 Downloading Bitstream File onto the Basys 3 Board
24:21 Functionality
#electronicswithprofmughal #basys3board #fpga
Implement Automobile Display Mirror System on an FPGA board that takes four 8-bit data from four different sensors and displays the data at the output using the selector switches of the Multiplexer. Assume that the 8-bit output then goes to a display that knows how to convert the binary number to decimal. Ref: Digital Design by Frank Vahid (2011, pg 90)
Learn how to simulate and Implement D Flip Flop using Verilog Description in Vivado.
The JK flip flop is basically a gated SR flip-flop with the addition of a clock input circuitry that prevents the illegal or invalid output condition that can occur when both inputs S and R are equal to logic level “1”. Learn how to simulate JK Flip Flop in Vivado using Verilog Description (Behavioral Model) and implement it on to the Basys 3 Board.
Learn how to simulate T Flip Flop in Vivado using Verilog Description (Behavioral Model).
Learn how to create a calculator that can perform basic operations like addition, subtraction, multiplication, and division in Verilog using Vivado environment.
Pushbuttons often generate spurious open/close transitions when pressed, due to mechanical and physical issues: these transitions may be read as multiple presses in a very short time fooling the program. This example demonstrates how to debounce a pushbutton on an FPGA board to get a single output pulse and a stable signal.Without debouncing, pressing the button once may cause unpredictable results.
Learn how to design a Binary to BCD converter and implement it on Basys 3 FPGA board.
The objective of this session is to build complicated combinational logic circuits, such as the binary to BCD converter. This tutorial will also be a transition from combinational logic to sequential logic circuits, such as counters. We will also apply the techniques learned from digital electronics lecture series on multiplexers and decoders to implement 4-digit 7-segment LED display.
Learn how to design a Binary to BCD converter and implement it on Basys 3 FPGA board. The objective of this session is to build complicated combinational logic circuits, such as the binary to BCD converter. This tutorial will also be a transition from combinational logic to sequential logic circuits, such as counters. We will also apply the techniques learned from digital electronics lecture series on multiplexers and decoders to implement 4-digit 7-segment LED display.
Learn how to generate a an LFSR Counter and implement it on the Basys 3 Board.
Learn how to build a UART communication between the Basys 3 board (or any FPGA board) and the data terminal equipment such as computer terminal. We will transmit 8 bits data from Basys 3 using the switches to the computer terminal through USB-UART connector on Basys 3. When a binary logic is set on switches [sw7:sw0], this forms a binary value (data bits) of an ASCII character. The character will show in the terminal (Teraterm, an open source). Transmission is triggered when a button is pressed. There is a button to reset the data as well.
Building a UART communication between the Basys 3 board and the computer terminal. When the key strobe on the keyboard (from the computer) is pressed, the 8 bits will transmit from the keyboard to FPGA through USB-UART port on Basys 3 Board. 8 LEDs [7:0] on Basys3 will be used to show the binary value of the ASCII character. All receiving is triggered when a key is pressed on the keyboard. There is a button to reset the output led as well.
Table of Content
00:15 Introduction to the Project and Pre-Requisite
00:50 DEMO | Preview
01:35 Background and Theory | Functional Block Diagram
12:50 Verilog Coding
28:00 Synthesis & implementation
29:40 Generate & Download Bitsream file on to the FPGA Board
30:35 Connecting Window Terminal
31:15 Check the functionality
This is a simple project great for FPGA beginners with very little hands-on work with your board, and a good reference point for someone who needs to remember how to synthesize source files and implement design onto an FPGA board.
In this project, you will see the demo operating and showing all the green LEDs ON on the FPGA board except for one LED that is OFF and moving across the LEDs at a frequency of 4 Hz. In addition, the seven-segment display will change through the different segments at the same frequency. Even though this is a basic-level project, it introduces a slow clock, the use of registers, and the use of LEDs and seven-segments on the FPGA board.
Application: This project could display and scroll text on the billboard!
Table of Contents:
00:00 Introduction
00:20 Learning SCOPE
04:30 Slow Clock (4 Hz), Clock Divider
06:30 Led Counter
07:20 Scrolling LEDs using a case statement, behavioral modeling
13:30 Demo and Display
A digital system is designed that implements a realistic T20 cricket game onto an FPGA board using Verilog HDL. The algorithmic design consists of a linear feedback shift register (LFSR), comparator, adders, and counters. The pseudorandom number generated by LFSR is assigned a value which is translated into runs, balls, extras, and wickets. The system design is capable of producing realistic results, displaying a scoreboard that reflects team score and ball count, and displays winner on the board followed by the end-of-game celebration. In this paper, we demonstrate the systems implementation using both Vivado Simulator and FPGA, in addition, paper includes RTL analysis at the schematic level exhibiting design flow and logical elements of the T20 cricket Game.
Table of Contents:
00:00 Introduction
03:25 Functionality of the T20 Cricket Game on Basys 3 Board
10:50 Algorithmic Design (including Display System for Scoreboard)
17:45 RTL Analysis at the Schematic Level
22:15 Designing Game using Verilog
22:30 LFSR
24:55 Team Score Module
28:25 Score Comparator Module
29:55 LED Controller Module
34:30 Constraint File
35:30 Implementation, programming the board
This is a whack-a-mole game implemented on to an FPGA Board. The game has two main features. One is the game timer that runs for 20 seconds, second is the score count, which keeps track of the number of counts you successfully hit the mole. We use leds to represent moles and we flip switches to whack the mole.
Table of Contents:
00:00 Introduction
00:53 Introduction to the game and DEMO
03:31 Functional Block Diagram
07:47 Verilog Coding
28:30 Implementation of game onto an FPGA Board
The working principles of the vending machine are as follows:
With every rising edge of the clock arriving, the machine looks for a rising edge on the quarter and dollar bill, and buy. If the quarter goes to logic 1, the machine adds 25 cents as credit. If the dollar bill goes to logic 1, the machine adds 100 cents ($1) as a credit. If the user presses the buy button, the machine first checks which product is selected. Then, it checks the total credit is enough and there is at least one product is available in stock. If all conditions are satisfied, then the vending machine withdraws the price of the product from total credit; decreases the stock of the product by one, and sets the relevant bit of the product output to logic level 1.
0:00 Introduction/DEMO
02:10 Functional Block Diagram (RNG)
06:25 RTL Schematic
07:25 Verilog Coding, Step-by-step instructions
23:45 Implementation onto Basys 3 Board and Suggestions
Digital circuits are the foundation upon which the computers, cell phones, and calculators we use every day are built. This course explores these foundations using modern digital design techniques to design, implement and test digital circuits ranging in complexity from basic logic gates to state machines that perform useful functions like calculations, counting, timing, and a host of other applications. Students will learn modern design techniques using a hardware description language (HDL) such as Verilog to design, simulate and implement logic systems consisting of basic gates, adders, multiplexers, latches, and counters. The function and operation of programmable logic devices, such as field programmable gate arrays (FPGAs), will be described and discussed in terms of how an HDL logic design is mapped and implemented.
Learn about Verilog as a beginner. In this course, we will learn about the basics of Verilog and how we can use it in the Vivado environment to generate combinational and sequential designs. We'll design finite state machines with real-world applications such as vending machines, T20 Cricket Games, Counters, etc., and implement them onto an FPGA board. We'll learn about the basic understanding of generating slow clocks, shift registers, flip flops, and counters to design basic-intermediate-advance-level FPGA projects. In addition, we'll generate testbench files to validate the logic and analyze the functionality of the design. The course will cover an explanation of the code line by line that students can follow and replicate on their own board while they watch the video.
Access to project files, supporting material, and code is included in the course
Come and join the course and become an expert on Verilog and FPGAs.