Skip to content

A 14-bit custom processor designed in Vivado, featuring an extended instruction set with logical, shift, and rotate operations. Includes real-time debugging through LEDs and flag indicators. Developed as part of a university digital systems project to explore CPU architecture and FPGA implementation.

Notifications You must be signed in to change notification settings

Maneeshaherath/NanoProcessor

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Improved Nano Processor (Group 17)

πŸ” Summary

This project is a university-level implementation of an improved 14-bit Nano Processor, developed using Xilinx Vivado. The processor introduces an extended instruction set to perform logical, shift, and rotate operations alongside basic arithmetic and control flow instructions. It features a structured register-based instruction format and integrates real-time debugging through LED outputs and status flags. This work showcases practical CPU architecture design, custom assembly language development, and FPGA-based implementation.

πŸš€ Project Overview

The Improved Nano Processor expands on a basic nano-architecture to support more versatile operations essential for modern computing applications. Developed as part of a digital systems coursework, it offers a hands-on exploration into CPU design, instruction set architecture (ISA), and hardware synthesis using FPGAs.

πŸ›  Features

  • βœ… Custom 14-bit instruction format
  • πŸ” Logical operations: AND, OR, XOR, NOT
  • πŸ”„ Shift & Rotate operations: SHL, SHR, ROL, ROR
  • βž• Arithmetic & Control instructions: ADD, NEG, MOV, JRZ
  • πŸ’‘ Real-time debug with LEDs and flag indicators
  • πŸ“‚ Fully integrated Vivado project with simulation support

🧠 Instruction Format

Each instruction is 14 bits:

  • 4 bits: Opcode (defines operation type)
  • 6 bits: Source registers (RA, RB or Rs)
  • 4 bits: Destination register (Rd) or immediate data

Example Instructions

  • AND RA, RB, Rd β†’ 0100 RARARA RBRBRB RdRdRdRd
  • SHL Rd, Rs, n β†’ 1000 RdRdRd RsRsRs 00nn
  • NOT RA, Rd β†’ 0111 RARARA 000 RdRdRdRd

πŸ’‘ LED & Flag Indicators

  • Output (R7):

    • Bit 4: V19
    • Bit 3: U19
    • Bit 2: E19
    • Bit 1: U16
  • Flags:

    • Overflow: L1
    • Zero: P1
    • Carry: N3
    • Sign: P3

πŸ§ͺ Requirements

  • Xilinx Vivado (FPGA development environment)
  • FPGA development board compatible with the provided pin configuration

πŸ“œ License

This project is developed for educational purposes and coursework evaluation. Please contact the authors before reuse or modification.


Developed by Group 17
Department of Computer Science and Engineering
University Project – 2025

About

A 14-bit custom processor designed in Vivado, featuring an extended instruction set with logical, shift, and rotate operations. Includes real-time debugging through LEDs and flag indicators. Developed as part of a university digital systems project to explore CPU architecture and FPGA implementation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • VHDL 33.3%
  • C 22.8%
  • HTML 16.4%
  • Tcl 15.3%
  • JavaScript 8.0%
  • Shell 2.7%
  • Other 1.5%