/* Author : Rick van der Zwet * S-number : 0433373 * Version : $Id: README.txt 365 2007-12-03 08:54:04Z rick $ * Copyright : FreeBSD Licence * Description : MIPS simulator. Main module */ = Note = * The delivered C program does compile, but does _not_ deliver a answer, the memory handlers is catching a exception, but I cannot find the problem. I will need to write a number of different use cases in order to track the problem, cause I cannot find it using global search :-( = Intro = * I choose to write the code with the FreeBSD style guide in mind * I choose global variables where ever possible to limit the calls between the functions and make live a bit more easy * Most of the data is implemented dynamic, but the decode tables do have some limitations due fact we are masking and not full matching * I change between hexidecimal and decimal assignments to make the meaning of the code more clear * enum and stucts are used to make the code readable * the code is not optimized on space * Output is written as same way as input = Structure = + sim ++ datapath +++ memory +++ constant +++ alu +++ imm ++ control = Differences between normal implementation = I choose to have a constant and imm component, both are really easy to implement do the fact that they are just functions and not buffer like types. = Files = Makefile = Enhanced version `make help` will show options README.txt = Reading right now alu.c = Component ALU alu.h = --header constant.c = Component Constant constant.h = --header control.c = Microprogram control control.h = --header datapath.c = Datapath (like buffers) datapath.h = --header imm.c = Component IMM imm.h = --header memory.c = Component Memory memory.h = --header sim.c = Main simulator sim.h = --header (contains general declarations)