Skip to content
forked from Moodrammer/PDP-11

💻 Simulation for the architecture of a processor inspired by the ideas of PDP-11 processor

License

Notifications You must be signed in to change notification settings

Etshawy1/PDP-11

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDP-11

GitHub contributors GitHub forks GitHub stars GitHub license

Table of Contents

About

The project aims to enforce the concepts of computer architecture by designing and simulating a 16-bit processor inspired by ideas from the famous PDP-11 processor.

Processor Design

Processor Design

Control word design

Control Word

Instruction Register design

Double Operand Instructions:

double

The Supported Instructions are :

  • Add
  • SUB (Subtract)
  • ADC (Add with carry)
  • SBC (Subtract with carry)
  • AND
  • OR
  • XOR
  • CMP (Compare to set flags)

Single Operand Instructions:

Single

The Supported Instructions are :

  • INC (Increment)
  • DEC (Decrement)
  • CLR (Clear)
  • INV (Invert)
  • LSR (Logic shift right)
  • ROR (Rotate right)
  • ASR (Arithmetic shift right)
  • LSL (Logic shift left)
  • ROL (Rotate Left)

Branching Instructions:

Branch

The Supported Instructions are :

  • BR (Branch unconditionally)
  • BEQ (Branch if equal)
  • BNE (Branch if not equal)
  • BLO (Branch if lower)
  • BLS (Branch if lower or same)
  • BHI (Branch if Higher)
  • BHS (Branch if Higher or same)

Special Instructions:

Special

The Supported Instructions are :

  • HLT (Halt)
  • NOP (No operation)
  • JSR (Jump service routine)
  • RTS (Return from service routine)

Addressing modes supported:

Add modes

Assembler

An assembler is provided coded in c++ to convert input codes to the format understood by the designed processor.
Assembler file
The Assembler is compiled using g++

Steps to run:

  • Create a new project in Modelsim
  • Add vhdl files as Existing files to the project
  • Compile
  • Compile the code file required to run using the assembler
  • Replace the <path according to working directory> in the do file of the program required to run according to the working directory or create a do file similar to the ones in the dofiles directory.
    The created do file should :
    • load the rom file
    • load the mem file of the program required to run
  • run the do file

Tools:

  • Modelsim Altera version
  • vscode

Contributers:

License:

About

💻 Simulation for the architecture of a processor inspired by the ideas of PDP-11 processor

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • VHDL 50.3%
  • Stata 26.3%
  • C++ 17.0%
  • Assembly 6.4%