Projects:2015s1-18 ARM Processor For Digital Systems Practicals
ARM Processor For Digital Systems Practicals
Formatting syntax
heading : = text = Note: text will have underline under it across the page Sub-heading : == text == Note: text will have underline across the page Sub Sub-heading : === text === Note: text will be bolded
Introduction
Aim
Motivation
Use Case Scenario
Key Requirements
disARMed Processor
Downloader System
Adept 2
DeppD
disARMed Assembler
emuARM
Contents
Introduction
Aim
The aim of the project is to aid first year and second year students with their learning of digital systems and computer architecture in Digital Systems courses. The outcome of the project is to create a set of tools as a teaching aid for the laboratories of these Digital Systems courses. Motivation
Motivation
Use Case Scenarios
This section describes the scenarios of how and where the teaching aid will be used.
1st Year Digital System course laboratories
Students will be provided with an example assembly language program. They will simulate the program on the Host PC and observe the execution of the instructions. They can modify the program.
The students will run the example assembly language program on the FPGA board and observe the outcome. There will be specifications provided in the lab which require the students to design logic blocks to connect the disARMed processor with the peripheral blocks such as the LEDs.
Figure 1.2 shows an example where the students are required to connect the disARMed microprocessor with the LEDs peripheral block with the address decoder coloured in blue.
2nd Year Digital System course laboratories
Second year students will create their own assembly language programs and simulate it on the Host PC. They will observe how each instruction is executed, the datapath each instruction follows, and the change in values in the registers and memory.
The students will download their assembly program onto the Basys-2 FPGA board and run it with the disARMed microprocessor. They will observe the interactions of the microprocessor with the peripheral blocks on board the Basys-2 FPGA board.
In addition, students will explore the Verilog code of the disARMed microprocessor. Students will be given an incomplete disARMed microprocessor where they have to design and implement the missing module.
For example, the microprocessor may be missing the ALU component and students will be required to design their own ALU as shown below (in blue rectangle).
Key Requirements
- disARMed Processor
- Simulation system
- Downloader
Edit Required
System Overview
In this section, we will discuss how the system works,...
System Design
The following diagram shows the overview of the system, as well as how information will flow within the system.
disARMed Processor
Processor Core
Memory System
Communication Interface
Downloader System
Adept 2 Introduction Why we have chosen to use it How it is used inthe project and what for
DeppD
Introduction (Mention the purpose, how it will be used, etc)
Design (Talk about how it was designed)
Outcome
disARMed Assembler
Assembler is the program that reads assembly code and translates it to machine code. Assembly source code can be written with any text editor. The assembler will read the source file and detect any syntax errors and pop error messages correspondingly, then after correction converts correct code to a hex file. Then the hex file will be transferred by the downloader to FPGA board for execution. Both disARMed assembler and downloader are written in Java.
The assembler has two main modules, parser and translator. Parser breaks each assembly instruction into its underlying components (operators and operands and other fields), and translator generates machine code(hex code) according to encoding rules.
It's packed as a single java .jar file and used as a command line program. User simply type command:
java -jar Assembler.jar <directory/file.s>
emuARM
Introduction
Why we have chosen to use it
what is is used for in the project
How it is used/will be used
include a picture of its front panel
References