The HAM means Hypothetical Accumulator Machine and is a microprocessor model designed by the Institute of Computer Science, University of Osnabrück for education purpose. The model is written in RTeasy, a very easy register transfer language. RTeasy has been developed by the Institute of Computer Engineering, University of Lübeck. Thanks both institutes for their job.
Okay, the question is: „What about HAM?“ It has been intended to be a platform to study how a kind of minimalistic processor works and how the software affects and control the running micro.
First, see the block diagram of the accu machine:
The following components are integrated:
- ALU for ADD, AND, COMP, RSHIFT
- Accumulator stores arithmetic or logic results
- Instruction register seperates the opcode
- Program counter indicates which command is currently executed
- Data register holds data words to or from memory
- Address register holds addresses of memory
- Control circuits are required for controlling the machine by supporting any control signals
Have a look to the RT-Code of the HAM. The syntax of the code and the simulation environment can be found here!
RTeasy is only a language for learning how digital hardware interact at register transfer level in an easy way. To test whether the machine can be implemented on an FPGA I describted the HAM including I/O in VHDL. The model supports the following facts:
- All register have their own process
- FSM moore style
- reset and clock management
- Block-RAM for program and data code
- Testbench for simulation
- Bitstream for uploading into FPGA S6LX9
I test the implementation on the Avnet Spartan-6 LX9 MicroBoard with following features:
- Spartan-6 XC6SLX9-2CSG324C FPGA
- 64 MB LPDDR SDRAM
- 128 Mb Multi-I/O SPI Flash
- 10/100 Ethernet PHY
- USB-to-UART port
- On-board USB JTAG circuitry
- Two Digilent Pmod™ compatible headers (2×6)
- Single-chip, 3-rail power with Power Good indicator
- Programmable clock chip
- Over-voltage and ESD protection on USB
- Four LEDs
- 4-bit DIP switch
- Reset and PROG push-buttons
- Under 90 €
A picture of this nice gadget:
For more information please visit the Avnet-Hompage!
Last but not least the VHDL-Model of the HAM-uP including ucf and ISE-Files can be found here!
And now? The best micro is absolute unfeasible when software isn’t available.
Look to the programmers model of the HAM uP: