0% found this document useful (0 votes)
62 views4 pages

Verilog Design) and Dump Code Using Programmer. Test by Sliding Switches

The document summarizes an educational project involving an FPGA development board. It has three modules: 1. Developing a real-time clock using the board's inputs and outputs and communicating via Morse code. 2. Programming the board's ARM processor and FPGA as a multipurpose device using interrupts and a real-time clock. 3. Learning to communicate between the ARM processor and FPGA fabric via an AXI bridge, generating an ARM execution file and operating LEDs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views4 pages

Verilog Design) and Dump Code Using Programmer. Test by Sliding Switches

The document summarizes an educational project involving an FPGA development board. It has three modules: 1. Developing a real-time clock using the board's inputs and outputs and communicating via Morse code. 2. Programming the board's ARM processor and FPGA as a multipurpose device using interrupts and a real-time clock. 3. Learning to communicate between the ARM processor and FPGA fabric via an AXI bridge, generating an ARM execution file and operating LEDs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Executive summary

The aim of this project is to get familiarized with work with DE1-SoC that contains Altera Cyclone V
FPGA and ARM 9 processor. The project has 3 modules:
Module 1: The module introduces inputs and outputs that are on the DE1SoC. Using these a real time
clock is developed and used in Morse code communication.
Module 2: This deals with prompting the user to use ARM 9 HPS integrated with Cyclone V FPGA
as a multipurpose device using Assembly Level Programming on Altera Monitor Program 15.1. This
involves the effective use of interrupts and ARM Generic Interrupt Controller (GIC) where the HPS is
programmed as a Real Time Clock to display time in seconds and hundredth of a second, a counter
with constant speed, a Counter whose speed is decided by the user through KEYS[3:0].
Module 3: This deals with learning to communicate with HPS and FPGA fabric through AXI
(Advanced eXtensible Interface) bridge. It deals with generating an ARM execution file through
Quartus Prime EDS Suite 15.1 and operating LEDs on DE1-SoC.
Module 1
Objective

To learn how to connect simple input (switches) and output (LEDs, 7-segment displays)
devices to an FPGA chip and implement a circuit that uses these devices
To understand clocks in timed circuits and display timers using 7 segment displays

Procedure

Lab1
o

Part 1:
Create a Quartus file to link LEDs to Switches by assigning the LED vector
to the switch vector
Assign pins on board accordingly (follow Quartus II Introduction using
Verilog Design) and dump code using programmer. Test by sliding switches
Part 2:
Create a Quartus file to implement a 4 bit wide 2to1 mux
Assign switch 9 as the select s, and 7 through 4 as input Y and 3 through 0 as
input X and connect LEDs 3 through 0 as the output, while still probing LED
9 for input s
Make necessary pin assignments
Dump code using Programmer tool and test by sliding switches, observing
LEDs
Part 3:
Create a Quartus file to implement a 2 bit wide 3to1 mux
Assign switches 8 and 9 as select lines, and 5 through 0 as inputs U, V and W.
Also assign LEDs 0 and 1 as the output.
Make necessary pin assignments
Dump code using Programmer tool and test by sliding switches, observing
LEDs
Part 4:
Create a Quartus file to display using the 7 segment display
Write a VHDL entity to connect c1c0 to switches 0 and 1 and outputs of
decoder to HEX0 display (declared as a vector)

Lab5
o

Make pin assignments and dump code using programmer tool and test by
toggling switches 0 and 1

Part 5:
Include the entity given in Lab1_VHDL.pdf in D2L, in a new Quartus file
Connect switches 9 and 8 to inputs of the 3 instances of 2 bit wide 3 to 1
mux, and also connect switches 5 through 0 to each instance of the mux as
required to produce patterns as shown in the pdf mentioned above
Make necessary pin assignments and program the board using programmer
tool and test by toggling switches and observing LEDs
Part 6:
Using the entity developed in part 5, make a new Quartus file and change
switches 9 through 7 to select inputs
Make appropriate changes to pin planner and dump code using programmer
tool and test by switching 9 through 7 and observe 7 segment displays
Part 1:
Create a Quartus file to design a modulo k counter, with a VHDL file for an 8
bit counter to count with mod 20
Configure key0 as reset and key1 as manual clock, LEDs 7 through 0 as the
counter display and LED 9 as rollover
Make pin assignments, use programmer tool to dump code and then test
Part 2:
Using the basic modulo counter from part 1, interface three 7 segment
displays (HEX 2 through 0) and configure them to display as a three-digit
counter
Assign key0 as a reset to the counter and use the on board clock for all
Make pin assignments, use programmer tool to dump code and then test
Part 3:
Modify part 2 to display a real time clock by counting from 0 to 99
(hundredth of second) on HEX 1 and 0, 0 to 59 on HEX 3 and 2 and minutes
(0 to 59) on HEX 4 and 3
Use switches 0 through 7 to pre-set time and key0 as a reset
Make pin assignments, use programmer tool to dump code and then test
Part 4:
Using the timing knowledge accumulated in the above parts, we develop a
half second counter and use this to implement the Morse code
Switches 2 through 0 are to be configured to display A through H using an
LED. Also configure key0 as a reset

Observations and Answers


In step 2, the displays worked accurately as expected.
In lab1:
-

In part 1, switches toggled the LEDs accurately


In part 2, toggling switch 9 toggled LEDs 3 through 0 according to inputs
defined by switches

In part 3, toggling switches 8 and 9 made LEDs 0 and 1 show inputs U, V


and W accordingly
In part 4, selecting 00/01/10 showed d/E/1 respectively on the 7 segment
display
In part 5, toggling switches 9 and 8 displayed d/E/1 according to logic in
part 3 and 4
In part 6, displays toggled on 7 segment array depending on switch 9
through 7 inputs

In lab5:
-

In part 1, the counter wraps around at 20 and resets on pressing key0


In part 2, the modulo counter counts using the three 7 segment displays
every 1 second
In part 3, the six 7 segment displays make up a real time clock!
In part 4, Morse code works perfectly for the developed characters
SOS works with accurate gap of half second between parts of same
character and one and half second between characters

Module Test Results

In lab 1:
Utilization for part 1: (Less than 1 %)

Utilization for part 2: (Less than 1 %)

Utilization for part 3: (Less than 1 %)

Utilization for part 4: (Less than 1 %)

Utilization for part 5: (Less than 1 %)

Utilization for part 6: (Less than 1 %)

In lab5:
Fmax for part 1:

Utilization for part 1: (Less than 1 %)

Fmax for part 2:

Utilization for part 2: (Less than 1 %)

Fmax for part 3:

Utilization for part 3: (Less than 1 %)

Fmax for part 4:

Utilization for part 4: (Less than 1 %)

Lessons Learnt
-

Programming the DE1SoC


Achieving real time accuracy is an art which needs very careful evaluation of all scenarios
and thinking of worst case delays

Conclusion
Understood the working of switches, LEDs and HEX displays through exercises. Also understood the
working of timers and how to develop a real time clock and use it to communicate with Morse code.

MODULE 2 and 3 : from nagarajs mail

You might also like