0% found this document useful (0 votes)
359 views2 pages

VHDL Project

This document outlines the stages of a VHDL project to design a room thermometer using a FPGA board. It involves: 1. Designing modules to convert a 13-bit binary number to decimal and display on a 7-segment display. 2. Reading temperature from a sensor module, converting to decimal, and displaying the temperature. 3. Adding a PicoBlaze microcontroller to read the temperature and send to the display converter. 4. Averaging the temperature over time and displaying the result. The project involves designing, simulating, and implementing the system on a FPGA board while writing a report on the system design and simulations.

Uploaded by

touseef kalyar
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)
359 views2 pages

VHDL Project

This document outlines the stages of a VHDL project to design a room thermometer using a FPGA board. It involves: 1. Designing modules to convert a 13-bit binary number to decimal and display on a 7-segment display. 2. Reading temperature from a sensor module, converting to decimal, and displaying the temperature. 3. Adding a PicoBlaze microcontroller to read the temperature and send to the display converter. 4. Averaging the temperature over time and displaying the result. The project involves designing, simulating, and implementing the system on a FPGA board while writing a report on the system design and simulations.

Uploaded by

touseef kalyar
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/ 2

VHDL PROJECT

Coursework information:
Students will create VIVADO projects to design, simulate and implement in FPGA a room
thermometer targeting the XC7A100T-1CSG324C device (Nexys-A7 development board).

Stage 1: 7segments display converter – 30 marks (marks breakdown as below)


Using VHDL, describe the behaviour of a digital system that takes a two’s complement of a 13- bit
signed binary number as input and displays its decimal value on a seven-segment display. For this you
will design:
1. Amodulethatcalculatesthedecimalvalueofthe13-bit2’scomplementbinarynumber.
2. A module that encodes the decimal values into a 7-segment display value.
3. A module that sets the refreshing rate of the 7-segment display to 1.5kHz.
4. A top-level module to include and instantiate the modules created
5. A testbench to test the designed modules.

Bonus points:
a. Design a testbench to automatically check the correctness of the module’s output for all the
possible input combinations of the module tested.

Stage 2: Reading & display the temperature – 25 marks

You are provided with two VHDL modules (TWICtl.vhd and TempSensorCtl.vhd) that read the
ADT7420 sensor over the I2C bus and return a 13-bit twos complement word representing the
temperature in Celsius with an accuracy of 0.0625°C.

1. Using the VHDL modules provided and the code written in Stage1, write the appropriate code
for reading the temperature from the ADT7420 sensor and store it in a temporary register.
2. Based on the sensor’s datasheet, convert the binary number from the register into a
temperature and display the value on the 7-segment display.
3. Use the most left switch on the board to switch between displaying the temperature or the
switches value.

Bonus points:

a. Displaythetemperaturewith4decimals.
b. Modify the appropriate VHDL files to read the temperature from the sensor with an

accuracy of 0.0078°C (16-bit word) and display it on the Nexys-A7 display with four decimals

Stage 3: Reading & display with PicoBlaze – 10 marks

1. Embed into your design a PicoBlaze softcore microcontroller. Write the appropriate code for
programming the microcontroller to read the value from the temperature sensor or entered
from switches available on the Nexys-A7 board. Connect the picoblaze output to the
temperature converter designed in Stage2b.
2. Use a switch on the board to select how the temperature value is read(through picoblaze or
direct from sensor/switches)
Bonus points

a. Program the microcontroller to convert the temperature expressed in Celsius read from the sensor
(or switches), in Fahrenheit. Add to your design appropriate buttons to select the temperature scale
(Celsius and Fahrenheit) to be displayed on the 7 segments display.

Stage 4: Signal processing – 5 marks


a.
II.
•••

Design in VHDL a module that reads the temperature value every minute and calculates the average
daily temperature. Display the calculated temperature on the 7-segment display.
Report: Produce a brief but comprehensive report to cover the following topics– 30 marks
(marks breakdown as below)
Draw a diagram of the designed system and briefly describe its main functional blocks.
(10 marks)
Explain the algorithm used to convert a 13-bit signed binary number to 7-segments display.
(5 marks).
Describe the software used for simulating your design, the type of simulations performed, specifying
the differences between these types, and add a snapshot of relevant waveforms produced to reflect
these differences quantitatively. (5 marks)
Evaluate the number of FFs inferred in Stage1c implementation. Explain how this number was
determined. (5 marks)
Evaluate the data representation used for storing the values read from the temperature sensor and
indicate the number of bits used for the factionary and integer part. Explain how you obtained these
numbers. (5 marks)

You might also like