This repo contains documentation of the "VSD Open Digital-Design-on-FPGA" tutorial.
- Introduction
- Interfacing LEDs
- LED Counter
- Interfacing LEDs Lab
- Interfacing Seven segment
- Interfacing Seven Segment Labs
- Traffic Light lab
- Acknowledgement
- References
Makerchip is an Open Source App for circuit design, verilog programming, VLSI design, etc. Makerchip provides free and instant access to the latest tools from your browser and from your desktop. This includes open-source tools and proprietary ones. For more detail refer:
https://www.makerchip.com/
It is an FPGA board that can be simulated using Makerchip IDE. It is very useful to see the simulation of the real FPGA on a desktop. For more details refer:
https://github.com/BalaDhinesh/Digital-Design-on-FPGA--VSDOpen21
This topic dealing with interfacing of the LEDs on the Virtual FPGA by writing a System Verilog code in Makerchip.
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/076hWmn#
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/0j2hyj6
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/0lOhzop
A seven-segment display (SSD) is a form of electronic display device for displaying decimal numbers. They can be used as an alternative to complex display's such as dot matrix.
A SSD has 7 segments and theoretically we can use it to display 2^7 = 128 combinations of characters. But most of these combinations, doesn't make sense to a human eye. Decimal numbers can be displayed correctly on a 7 segment panel.
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/0k5hqnm
Truth table for the BCD to seven segment display:
The Seven Segment Display interfacing is done in this workshop using the Virtual FPGA in Makerchip. A System Verilog code is written in order to describe the functionallity of the seven segment display. A reg is used to store a BCD value and is incremented for every count of the counter and then converted to Seven Segment equivalent using the above truth table.
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/0Wnhyjg#
This project deals with the Traffic Controller Design using the Makerchip Virtual FPGA. As shown above we are focussing on the Yellow and Green light and these are depicted using the G and D of the 7 segment display respectively. Green light turns ON for 8 clock pulses while Yellow turns on for 4 clock pulses. All lights OFF are considered as Red Signal. The fours 7 segment display are considered as signal for the four ways.
Please refer the following link for the project:
https://www.makerchip.com/sandbox/0mZf5hwmG/0nZh6G5#
NORTH :
begin
// Enable first seven segment and set to Green
digit <= 4'b0111;
segment <= 7'b1110111;
/* TODO: 1. Keep the green NORTH signal active for 8 seconds
2. Set state of signal to yellow NORTH after that
HINT: Use if-else block
*/
if(count==7) begin
assign state=NORTH_Y;
assign count=0;
end
else assign count=count+1;
end
NORTH_Y :
begin
// Enable first seven segment and set to Yellow
digit <= 4'b0111;
segment <= 7'b1111110;
/* TODO: 1. Keep the yellow NORTH signal active for 4 seconds
2. Set state of signal to green SOUTH after that
*/
if(count==3) begin
assign state=SOUTH;
assign count=0;
end
else assign count=count+1;
end
I would like to thank Mr. Kunal Ghosh, Mrs. Anagha Ghosh, Mr. Steve Hoover and Mr. Bala Dinesh for the tutorial explained in the simplest way possible. It helped me to learn more about the FPGA and Makerchip in a very easy and structured manner. It will be very helpful for students to work on Virtual FPGA as many cannot afford the real one. It is also useful for the simulation purpose.