Beginner’s guide to Basic-graphics-music examples
These are examples to demonstrate labs sessions for systemverilog-homework which are portable systemverilog
examples for FPGA and ASIC.
FPGA Field Programmable Gate Array is a type of integrated circuit that can be programmed multiple times.
It consists of an array of programmable logic blocks and interconnects that can be configured to perform
various digital functions. FPGAs are commonly used in applications where flexibility, speed, and parallel
processing capabilities are required, such as in telecommunications, automotive and aerospace.
ASIC, Application Specific Integrated Circuit, this is an integrated circuit chip designed for specific use
for instance, telecommunications, automotive etc.
These examples facilitate learning for beginners by:-
- Removing EDA and FPGA vendor complexity and restrictions.
- Compensating the gap between academia and industry in solving microarchitectural problems
necessary for a career in ASIC design, building CPU, GPU and networking chips. - Reducing the barrier of entry for them or a person who is transitioning to FPGA/ASIC design.
Requirements:-
- Ubuntu 23.10,supports latest icarus verilog 12, other versions of linux are supported also.
- git.
- FPGA board, the examples support 30 boards with FPGAs from Xilinx,Altera, Gowin and Lattice and
aim to be compatible with open-source ASIC design tools.
A List of boards for various FPGA vendors:-
Step 1 download Intel Quartus
Go to and download Quartus Lite Edition 23.1. This version needs no license to generate files to program the FPGA
Step 2 Running the installer
Right click on installer and select properties and set installer executable as program.
Open terminal at that location and type ./installer_name and press ENTER installer GUI should open
Select Devices depending on board you have check add on button, agree to license and click download.
Installation Completed
Step 3 Running Quartus
Double click on desktop icon OR Navigate to installation directory in bin directory in command line and type
$ ./quartus
Step 4 Installing git
Open terminal and type
$ sudo apt-get install git
Step 5 git clone Basic-graphics-music
In terminal, at a desired location clone the main directory from github
$ git clone https://github.com/yuri-panchul/basics-graphics-music
Step 6 Setup and Sellecting FPGA board.
Connect your FPGA board via usb cable
Open the cloned directory on your pc in terminal
Use
$ git pull
command To update to the new version then,
Run the bash script
$ ./check_setup_and_choose_fpga_board.bash
Sellect the corresponding number of your boards DE10-lite is 16 and press ENTER The number might change depending on cloned version of the directory. Some old boards that are not supported by Quartus 23.1 can be used by of the software.
Choose N when prompted with choice to use Qurtus GUI The reason for N is because you what to run one example after which you can try the rest.
Step 7 Running Shift register example
Navigate to shift register example by typing
$ cd labs/08_shift_register
To Run synthesis in CLI run the script
$ ./03_synthesize_for_fpga.bash
During synthesis a directory Run is generated, containing necessary files for programming the FPGA, after which the
programmer is run by the same script to program the board using the files. After a successful!! synthesis the response should be as bellow.
Ensure all the LED switches are off All switches should be down because the left switch is used as a reset.
The image bellow illustrates how a shift register works.
Press Reset button, KEY 0 to observe how logic 1 get shifted accross the registers If you use another board,
not DE10-Lite, reset might be allocated to another button.
You can run other scripts in the directory depending on what you want to do
Date 2024-06-21
2 thoughts on “Beginner’s guide to Basic-graphics-music examples”
Comments are closed.