Implementation and Analysis of a Sequence Detector on FPGA Using VHDL - IT Computer Science Assignment Help

Download Solution Order New Solution

Assignment Task

Main objectives of the assessment:

  • To enhance understanding of VHDL-based system design, testing, and implementation.
  • To enhance understanding of state machines.
  • To introduce the need for debouncing in practical system implementations.
  • To enhance student competence is presenting complex technical material.

 

Brief Description of the assessment:

The main task in the group project is to implement a sequence detector using the NEXYS FPGA board, which will be used for the prototyping and testing of the implemented system. Design will take place from scratch, i.e., VHDL code will have to be written, synthesized, debugged, analysed and subsequently used for the programming of the FPGA board. Debouncing strategies will have to be considered as well as power consumption issues.

The students are required to:

Use Xilinx Vivado in order to design their system, implement a clock divider in their system and show graphs with the signals that are used by their system.

Produce a bit file and verify the operation of their system using simulation

Present an analysis of the state machine that they propose for their system and explain its suitability for the task in hand.

Consider debouncing strategies for dealing with bouncing issues and propose a suitable strategy.

Show that they can use Vivado in order to estimate power consumption.

 

Learning outcomes for the assessment:

After completing this practical work students should be able to:

  • Design systems using VHDL using a suitable design interface.
  • Implement systems on FPGA Design state machines
  • Understand the effect of bouncing and implement effective debouncing strategies.
  • Estimate power consumption of a design.

 

Title: Design and implementation of sequence detector on FPGA

DESCRIPTION

Sequence detectors are very important in a variety of applications. The main objective of this group project is to implement a sequence detector for FPGAs. The NEXYS FPGA board will be used for the prototyping and testing of the implemented system (see board schematic on the next page). You are asked to take the steps below for your implementation and presentation:

  1. Using Vivado, write VHDL code for the implementation of a sequence detector in VHDL using push buttons. Four push buttons should be used for entering symbols (‘1’,’2’,’3’,’4’) and one push button should be used for initialisation.
  • Up to 10 symbols could be entered after pressing the initialisation push button. When the sequence “2 3 1 4 3” is entered, then the LEDs should start flashing. Please note that the right sequence of symbols need not necessarily be entered immediately after the initialisation push button is pressed. For example, the sequence “2 4 1 2 3 2 3 1 4 3” should be able to activate the flashing of the LEDs.
  • If 10 symbols have been entered but the right sequence of symbols has not appeared yet, then the system should lock and the LEDs should show the following predefined pattern: on, off, on, off, on, off, on, off, on, off, on, off.
  • If the system is locked, the user will need to press the initialisation button in order to be allowed to start entering new symbols.
  1. Synthesise and implement your design (in your report present the RTL and technology schematics).
  2. Analyse the code (produce summary) and give a brief description of your implementation.
  3. Use simulation to test your design and display input/output results with a brief description.
  4. Generate bit-stream.
  5. Use Vivado to estimate power consumption estimates for your design. Show this estimate in your report.

NOTE: In some cases pushing a push-button will not trigger the expected response in your system. This may be due to the fact that in many cases, pushing a push-button does not create a clean transition from 0 to 1. Instead, the input may bounce back to zero and back to 1 within a very short period of time. In order to deal with this problem, you can try using a low clock frequency. But in general you can debounce the pushbuttons in your design by ensuring that the input is considered to be equal to 1 only after it has remained so for a predefined number of clock cycles.

REQUIRED SOFTWARE TOOL AND SUPPORT FILE

  1. Vivado® Design Suite from Xilinx.
  2. General XDC file for NEXYS (provided on Blackboard).

ASSESSMENT

1) Joint technical report, with individual assessment of different parts done by group members. The technical report should address all requested tasks and also include conclusions and interpretations. The technical report should be between 15-20 pages and should be submitted to the Taught Programmes Office by the deadline.

2) Presentation

3) Demo demonstrating individually different components of the hardware implementation.

 

This IT Computer Science Assignment has been solved by our IT Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing Style. Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered.

You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turn tin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.