Skip to content

A Mano Basic Computer is a simple computer architecture designed by M. Morris Mano. a hardware implementation of the various components in the computer architecture, such as the instruction register, arithmetic logic unit, memory unit and control unit

Notifications You must be signed in to change notification settings

codsalah/Mano-Basic-Computer-Using-Verilog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mano Basic Computer

Overview

The Mano Basic Computer is a theoretical computer architecture described by M. Morris Mano. It includes a central processing unit (CPU), random access memory (RAM), and an input-output bus. This project was undertaken by a team of 5 students as part of our Microcontrollers Architecture Course.

Modules

  • 4bit_counter: Module for a 4-bit counter.
  • 256_RAM: Module for a 256-byte Random Access Memory (RAM).
  • AC_adderNlogic: Module for an Arithmetic and Logic Unit (ALU) adder and logic operations.
  • AC_CONTROL: Module for controlling the Arithmetic and Logic Unit (ALU).
  • AC_REG: Module for the Arithmetic and Logic Unit (ALU) register.
  • AR_Control: Module for controlling the Address Register (AR).
  • BUS_Control: Module for controlling the system bus.
  • BUS_Selection: Module for selecting signals on the bus.
  • Control_Unit: Module for the main control unit.
  • D_ff_reset: Module for a D flip-flop with reset functionality.
  • D_flipflop: Module for a D flip-flop.
  • decoder: Module for a binary decoder.
  • Decoder3x8: Module for a 3x8 binary decoder.
  • DR_Control: Module for controlling the Data Register (DR).
  • DR_REG: Module for the Data Register (DR).
  • Encoder8x3: Module for an 8x3 binary encoder.
  • main: Main module.
  • Main_tb_behav.wcfg: Module for the testbench behavior configuration.
  • mano_basic_comp3: Module for the Mano Basic Computer.
  • Memory_control: Module for controlling memory operations.
  • MUX8x3: Module for an 8x3 multiplexer.
  • PC_Control: Module for controlling the Program Counter (PC).
  • PC_REG: Module for the Program Counter (PC) register.
  • seq_counter: Module for a sequential counter.
  • Sequence_counter: Module for a sequence counter.
  • timing_signals: Module for timing signals.

Instruction Set

img

Instruction Hexadecimal Code Description
AND 0XXX 8XXX And memory word to AC
ADD 1XXX 9XXX Add memory word to AC
LDA 2XXX AXXX Load AC from memory
STA 3XXX BXXX Store content of AC into memory
BUN 3XXX CXXX Branch unconditionally
ISZ 7XXX EXXX Increment and skip if zero
CLA 7800 Clear AC
CLE 7400 Clear E
CMA 7200 Complement AC
CME 7100 Complement E
INC 7020 Increment AC
SPA 7010 Skip next instruction if AC is positive
SNA 7008 Skip next instruction if AC is negative
SZA 7004 Skip next instruction if AC is zero
SZE 7002 Skip next instruction if E is zero

basic computer

img

Output signal

img

About

A Mano Basic Computer is a simple computer architecture designed by M. Morris Mano. a hardware implementation of the various components in the computer architecture, such as the instruction register, arithmetic logic unit, memory unit and control unit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published