Fpga Project: Submitted in Fulfillment of The Requirements For The
Fpga Project: Submitted in Fulfillment of The Requirements For The
2019 / 2020
FPGA PROJECT
FPGA MIDTERM
By :
Jad Rizk
________________________________________________
Advisor:
D
Enable_nb1==’
1’
Enable_nb2==’
1’
B
YES
count_nb1==’1
’
Add_nb1++
count_nb2==’1 YES
’
Add_nb2++
TURN ON LEDR++
(from 1 to 5)
A
A
YES NO
B Reset1==’1’
YES
C Reset2==’1
’
NO
NO
add_nb1==’0110 Add_nb1=’0000’ B
’
YES
NO
add_nb2==’0110 Add_nb2=’0000’ C
’
YES
NO YES
D Enable_sum==’1’
D
Description:
In my project I used
Four seven-segments displays,
Five switches,
The ten leds,
The two keys.
This project has a role of calculating two numbers, (addnb1 and addnb2). Each
number will be displayed on a seven-segment display; HEX4 will show the first
number and HEX2 will show the second.
Each number will count up (+1) on every click of the key buttons; KEY(0)
reserved for the growth of the first number (add_nb1) and KEY(1) will be for
the second number (add_nb2).
In addition, with each count up, the leds will turn on in order. To be mentioned
that the five leds starting from the left are reserved for addnb1, and those
starting from the right are for addnb2.
To be clear, here is a description for this part:
While add nb1=’0001’, LEDR(10) will be turned on,
While add nb1=’0010’, instead of LEDR(10) is on, LED(9) will be turned on
also,
While add nb1=’0011’, in addition of LEDR(10) and LEDR(9)are turned on,
LEDR(8) will be on,
It’s similar to the loading process
For add_nb1 it will be like this way
For add_nb2 it will be in the opposite
That’s why I did not let any of the two numbers to exceed the number five,
‘0110.
Moreover, to see the sum, we are supposed to enable the third switch; SW(2), so
we are able to see the sum on HEX0 if it’s one digit, and on HEX1 in plus if it’s
two digit (to get clear our max sum will be 10, we already discussed it).
Furthermore, to let the system get to function; to count up, we are supposed to
enable the two switches; SW(0) to enable counting up the first number and
SW(1) for the second number.
Additionally, we can reset any of the numbers we are wishing to by enabling
SW(3) to reset the first number and SW(4) for the second.
Also, each of the numbers will reset automatically by achieving the number five.
And here was a total description for my project I hope that is clear.