Skip to content

KRakeesh04/Nano-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nanoprocessor

Overview

This project implements a simple nanoprocessor using VHDL. The design is modular, with each component responsible for a specific function in the processor's operation. The project is suitable for FPGA implementation and educational purposes.

Processor Structure

Project Structure

Main Modules

  • Nano_processor.vhd: Top-level entity integrating all modules of the nanoprocessor.
  • Top_Module.vhd: Main wrapper for the nanoprocessor, handling I/O and system integration.
  • Instruction_Decoder.vhd: Decodes instructions from memory for processor control.
  • Instruction_memory.vhd: Stores and outputs instructions based on address input.
  • Register_Memory.vhd: Implements the register file for data storage and access.
  • Add_Sub_4bit_unit.vhd: 4-bit adder/subtractor unit for arithmetic operations.
  • Adder_3bit.vhd: 3-bit adder, used in the counter module.
  • FA.vhd: Full Adder module, used in arithmetic units.
  • HA.vhd: Half Adder module, used in arithmetic units.
  • Counter.vhd: 3-bit counter for memory addressing and sequencing.
  • Decoder_2_to_4.vhd: 2-to-4 line decoder for address decoding.
  • Decoder_3_to_8.vhd: 3-to-8 line decoder for address decoding.
  • MUX_2way_3bit.vhd: 2-to-1 multiplexer for 3-bit data.
  • MUX_2way_4bit.vhd: 2-to-1 multiplexer for 4-bit data.
  • MUX_8way_4bit.vhd: 8-to-1 multiplexer for 4-bit data.
  • Register_4_bit.vhd: 4-bit register for temporary data storage.
  • LUT_7Seg.vhd: Look-up table for 7-segment display output.
  • Slow_clock.vhd: Clock divider to generate a slower system clock.

Simulation

Testbenches for each module are provided in the sim/ directory. These files can be used to verify the functionality of each component individually.

Usage

To use or simulate the nanoprocessor, instantiate the Top_Module or Nano_processor entity in your FPGA project, and connect the appropriate I/O signals. Use the provided testbenches for simulation and verification.

About

Semester 02 computer organization and digital design final project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors