GithubHelp home page GithubHelp logo

qyt0109 / learn-programing-fpga-with-vhdl Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 98.86 MB

Learn programing FPGA with VHDL, builds basic modules and components. FPGA based UART Tx Rx

VHDL 77.03% HTML 22.44% Standard ML 0.21% Scheme 0.09% Mathematica 0.23%

learn-programing-fpga-with-vhdl's Introduction

Learn programing FPGA with VHDL

Learn programing FPGA with VHDL, builds basic modules and components. FPGA based UART Tx Rx

  1. Reading a switch input and driving an LED output
  2. Simple State Machine which reacts to user input and drives a number of LEDs
  3. Synchronising and de-bouncing a Switch Input.
  4. Generating a PWM output.
  5. Designing a Shift Register.
  6. 4 Digit 7-Segment display for counting the number of push button activations
  7. UART module & State machine for echoing back characters received from a PC over RS232

UART Module RLT Views

BaudClockGenerator:

The Baud Clock Generator generates the clock signal required for timing the serial communication. It ensures that data is sampled at the correct rate. It calculates the baud rate based on the system clock frequency and the desired baud rate.

Serialiser:

The Serialiser takes parallel data input and converts it into a serial data stream. It serializes the data for transmission over a single data line. It typically includes a shift register to shift out each bit of the parallel data sequentially.

ShiftRegister:

The Shift Register is used to hold the data temporarily during transmission or reception. For transmission, it shifts data out serially. For reception, it receives data serially and shifts it into the register.

Synchronizer:

The Synchronizer ensures proper synchronization of the received data with the system clock. It synchronizes the incoming serial data with the system clock to correctly sample the received bits.

Receiver's FSM:

The Receiver's FSM controls the behavior of the receiver. It manages the various states of the receiver during reception.

Receiver:

The Receiver module is responsible for receiving serial data from an external source. It typically includes logic for detecting the start bit, receiving the data bits, performing optional parity checks, and detecting the stop bit.

Transmitter:

The Transmitter module is responsible for transmitting serial data to an external device. It typically includes logic for sending data bits serially, optionally generating and sending parity bits, and adding stop bits at the end of each data frame.

TopModule:

The TopModule is the overarching module that combines and connects the various UART modules together to create a complete UART communication system.

AES Modules

Test KeyController:

This module generates all the round keys required and stores them as a LUT for each AES encryption, decryption round.

learn-programing-fpga-with-vhdl's People

Contributors

qyt0109 avatar

Watchers

 avatar

Forkers

rsgbmint

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.