Emulator on Verilog

Roughly what you have to do is:

Write an emulator for the ARM machine. This should have a range of features to show the inner workings of the process of executing an assembly program.

Write a bubble sort program in ARM assembly. The start of this file is provided, you have to fill in the blanks.

Stage 1

Write an emulator that is able to read a ".emu" file in the format described above and detect programs that are not correct such as having more or less than 32 bits per line, or that have non recognized instructions such as unknown opcodes. The program should be written so it is executed using a command similar to

./emu [option(s)] [url removed, login to view]

Stage 2

Implement the option "-trace" which should show how the program is executed and how the different registers are affected as the emulator goes trough each instruction.

Stage 3

Produce memory dumps by implementing options "-before" and "-after".

For each location in memory that holds a valid instruction or data value, print it out in the following format: <address>, <value (in hex)>


0x00000000 0x12345678

0x00000004 0x23ac2000

and so on

This should be done in a way that only things that have changed are shown rather than the entire state of memory.

Stage 4

Implement a working bubblesort algorithm in ARM assembly. You are given the starting point and input data values for this algorithm and you may replace the data section to use your own numbers, but full marks for this stage are only available if you use the provided data. Use the "SVC 2" debug instruction to print out each element of the array in turn once sorted, one per line.


In addition to these stages you should provide evidence of your emulator working in ".emu" files

Compétences : Architecture Logicielle, Verilog / VHDL

Voir plus : bubble sort verilog, emu verilog, sort bubble, sort array, sort algorithm, one bits, line algorithm, use algorithm, bubble sort algorithm, algorithm sort, 1 bits, bubble sort emu, architecture programs, verilog vhdl, machine element, emu, bubble, read process memory, command line print file, command line print, bubble sort algorithm software, addition verilog, dumps, state machine, read memory

Concernant l'employeur :
( 0 commentaires ) bristol, United Kingdom

N° du projet : #1057475

1 freelance a fait une offre moyenne de 500 £ pour ce travail


Please check PM

500 £ GBP en 10 jours
(0 Commentaires)