Git Product home page Git Product logo

najimalfutini / design-a-full-src-processor Goto Github PK

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

The project involves designing a Simple RISC Computer (SRC) processor with 23 instructions, 32 registers, a control unit, data path, and memory components, aiming to create a functional CPU architecture capable of executing instructions.

License: MIT License

VHDL 48.64% Scheme 0.01% Stata 0.13% HTML 51.23%
alu control-unit cpu isa memory pipeline

design-a-full-src-processor's Introduction

Design A Full SRC Processor

A SRC (Simple RISC Computer) processor is a type of computer processor that uses a limited number of instructions to perform its tasks. RISC processors are widely used in a variety of applications, including embedded systems, mobile devices, and servers. They are known for their high performance and low power consumption, making them an attractive choice for many types of systems.

RISC processors are designed to be simple, fast, and efficient, with a focus on executing a small set of instructions fast rather than trying to support many complex instructions.

Processor specs and design logic (Design Decisions):

SRC processor has specific specifications, the specs of the SRC that we designed is:

Our design is a 1-bus system. Which means we use one bus to transmit/share data between the components.
In every clock we perform one micro-operation.
It has a 32 general purpose register and each one has size of 32-bit .
It has a 32-bit program counter (PC) which means it can access 2^32 = 4GB.
It has a 32-bit instruction register (IR).
The word is 4 bytes = 32-bit, and only a 4 byte can be fetched or stored into main memory.
Main memory is organized as an array of bytes.

image

The control unit design:

image

The control unit contains of four main components:

  1. Clocking logic: The main function of this component is to generate enable signal for the counter in the step generator. image

  2. The control step generator: contains of a four-bit up counter and control step decoder which give the wanted step. The counter is with load input because if the counter reserve a Goto6 signal must the step generator go to step 6 by load 0110 to counter. image

  3. Opcode decoder: This decoder will take opcode as input IR<31 โ€ฆ27> and will generate a signal in the wanted instruction.

  4. Control signal encoder: Is the main part in control unit because it contains a Boolean function for each signal.

This is all the signals that has Boolean function:
Boolean Functions

design-a-full-src-processor's People

Contributors

najimalfutini avatar

Watchers

 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.