Skip to content

Implementing a subset of ARM instruction set architecture in a multicycle microarchitecture using Xilinx Vivado IDE. The computer architecture followed is Harvard (separate data and instruction memory).

License

Notifications You must be signed in to change notification settings

alextsagkas/ARM-multicycle-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARM Multicycle Processor

Below are provided the details of the ARM multicycle processor that was implemented as a project for the Computer Architecture course at the University of Athens.

Specifically, the information is depicted pictorially and covers the instruction fields of the implemented instructions, the datapath, the control unit, and a recommendation for an additional instruction that could be implemented.

Instruction Implemented

Data Processing

  • ADD(S)-I: adds_i
  • ADD(S)-R: adds_r
  • SUB(S)-I: subs_i
  • SUB(S)-R: subs_r
  • CMP-I: cmp_i
  • CMP-R: cmp_r
  • AND(S)-I: ands_i
  • AND(S)-R: ands_r
  • XOR(S)-I: xors_i
  • XOR(S)-R: xors_r
  • MOV-I: mov_i
  • MOV-R: mov_r
  • LSL: lsl
  • ASR: asr
  • MVN-I: mvn_i
  • MVN-R: mvn_r

Memory Access

  • LDR-I: ldr
  • STR-I: str

Branch

  • B: b
  • BL: bl

Datapath

The control signals that come from the control unit are drawn in cyan color.

datapath

Control Unit

Structure

control_unit

Instruction Decoder

instruction_decoder

FSM Schematic

fsm-schematic

Conditional Decoding

conditional_logic

Recommendation (Not Implemented)

Instruction Fields

ror

Datapath of the ROR Command

Paths thar are activated by the ROR command are drawn in red color.

datapath_ror

About

Implementing a subset of ARM instruction set architecture in a multicycle microarchitecture using Xilinx Vivado IDE. The computer architecture followed is Harvard (separate data and instruction memory).

Topics

Resources

License

Stars

Watchers

Forks