GithubHelp home page GithubHelp logo

elimkwan / vhdl_peakdetector Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 20 KB

The detector process a number of words as typed in by the user in the terminal, and return the peak byte along with the three bytes that precede and follow it in the sequence

VHDL 100.00%

vhdl_peakdetector's Introduction

VHDL_PeakDetector

This is a group project with Trevor and Yasin. My main contribution is writing the DataProc.vhd.

Description:

The peak detector will process a number of words as typed in by the user in the terminal, and return the peak byte along with the three bytes that precede and follow it in the sequence. It also returns the index of the peak byte in the sequence. The design can be implemented on the Nexys 3 development board with a Spartan 6 device running on a 100 MHz clock with Xilinx ISE. There are 3 supplied modules: a Receiver and Transmitter that implement the RS232 protocol, a Data Generator that supplies a byte at a time under the control of a 2-phase handshaking protocol.

Features

  • Data Processor: analyses certain number of bytes from the Data Generator and outputs the peak byte of the sequences; with the three bytes before and after the peak, as well as the index of the peak byte.
  • Command Processor: handle the command input by user.

Optimisations in the Data Processor

  • using mealy state machine
  • 2 state processor instead of 1
  • reduce number of states from 15 to 3
  • Results: Improve the run time by 5x

How the full system looks like:

Unfortunately the full system is not here, but that is how it would look like

  • ANNN (NNN are 3 decimal digits): Start command to process NNN bytes of data. Print each byte processed.
  • L: Print the 3 bytes preceding the peak, the peak byte itself and the 3 bytes following the peak in the order received. Example output: “09 FA A0 FD BC 10 DE”.
  • P: Print the peak byte (e.g. FD), and the peak index (e.g. 197). Example output: “FD 197”.
  • Push button BTNU (reset): Initialise the system when pressed at any point.

vhdl_peakdetector's People

Contributors

elimkwan avatar

Stargazers

Ren avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.