Git Product home page Git Product logo

dsd-project's Introduction

Digital System Design Project

Architecture

Shows a diagram of the system architecture.

UART Controller

  • UART RX Controller

    Abstracts the AXI4-Lite interface of the UART RX module of the AXI UART Lite IP. It is responsible for receiving data from the RX line using the UART RX module. It uses the Read Address and Read Data channels of the AXI4-Lite interface.

  • UART TX Controller

    Abstracts the AXI4-Lite interface of the UART TX module of the AXI UART Lite IP. It is responsible for sending data on the TX line using the UART TX module. It uses the Write Address, Write Data, and Write Response channels of the AXI4-Lite interface.

Master Controller

This module represents the main part of the system. It's main purpose is to read the instructions from the UART RX Controller and execute them. It is responsible for writing the CPU instructions to the Program Memory and data to the Data Memory and issuing commands to the Read Controller and CPU Controller.

Read Controller

This module receives read requests from the Master Controller and is responsible for reading the data from the Data Memory and sending it to the UART TX Controller.

CPU Controller

This modules receives commands from the Master Controller and is responsible for controlling the CPU. It is responsible for issuing the start, stop, and reset commands to the CPU.

Control Language Specification

  1. Reset the CPU

    RESET
    

    Opcode: 0x01

    8'h01
    8'b0000_0001
  2. Start the CPU

    START
    

    Opcode: 0x02

    8'h02
    8'b0000_0010
  3. Stop the CPU

    STOP
    

    Opcode: 0x04

    8'h04
    8'b0000_0100
  4. Write Program Memory

    WRITE_PROG <ADDRESS> <LENGTH> <BYTE_1> <BYTE_2> ... <BYTE_N>
    

    The length is the number of bytes to be written to the memory. The bytes from the 16-bit instruction are stored in the memory in little-endian format.

    Opcode: 0x08

    8'h08
    8'b0000_1000
  5. Write Data Memory

    WRITE_DATA <ADDRESS> <LENGTH> <BYTE_1> <BYTE_2> ... <BYTE_N>
    

    The length is the number of bytes to be written to the memory. The bytes from the 32-bit data are stored in the memory in little-endian format.

    Opcode: 0x10

    8'h10
    8'b0001_0000
  6. Read Data Memory

    READ_DATA <ADDRESS> <LENGTH>
    

    The length is the number of 32-bit words to read from the memory. The data is read from the memory in little-endian format.

    Opcode: 0x20

    8'h20
    8'b0010_0000

dsd-project's People

Contributors

cristiancristea00 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.