Computer Architecture Lab/Winter2006/JeitMossFrühRamb/Files
Computer Architecture Lab/Winter2006/JeitMossFrühRamb/Files is outdated. You can help by updating it if possible. |
Overview
[edit | edit source]our Design consists of two parts:
- MatPRO
- SimpCom for MatPro
The whole Design can be downloaded here
MatPRO
[edit | edit source]For better readability and for better understanding, we have split up the MatPRO in more sub parts:
- Globals: Package with constants
- IFetch: handels the IRAM and translates the program into smaller instructions
- IDecode: handels the DRAM and the Register-File
- ALU: as the name states, does the work
Globals
[edit | edit source]The Globals.vhd is a package that contains our constants.
IFetch
[edit | edit source]The IFetch_v2.vhd controls the program flow. It takes the instruction of a program and, if needed, translates it into more smaller instructions that our ALU understands.
IDecode
[edit | edit source]The IDecode.vhd takes the "generated" instruction from the IFetch and decides, if a value-transfer from DRAM to the Register-File or the other way around takes place. If such a value-transfer happens, it can also stall the whole CoProzessor, since we only use a dualported Register-File-RAM and no triported Register-File-RAM.
ALU
[edit | edit source]The alu.vhd simply does the maths. It takes 5 cycles until the result is valid: 3 cycles for the multiplication, 1 cycle for the addition/subtraction and 1 cycle for data normalisation.
SimpCom for MatPRO
[edit | edit source]Since we wanted to build a multi-purpose CoProzessor, we didn't implement the SimpCom direct into the MatPRO. Therefore, the SimpCom is a stand-alone Module that instantiates the MatPRO.
sc_matpro.vhd is the sourcefile for this Module.
Since the CoProcessor is connected to the JOP-Processor, another configurationfile, the scio_min_mp.vhd is needed.
Demoprogram
[edit | edit source]A demo-assembler-program can be found here
The java-file for the JOP-Processor is this one