Oberon system on Pipistrello
"Project Oberon is a design for a complete computer system. Its simplicity and clarity enables a single person to know and implement the entire system, while still providing enough power to make it useful and usable in a production environment."
For more info about Oberon see this link: http://www.projectoberon.com/
The problem implementing the Oberon system on a general purpose FPGA board like Pipistrello is that it's designed for a memory system using fast (10ns) 32-bit wide 1 MB SRAM. My first thought was to write a caching memory controller and use LPDDR as memory but the complexity of that code would be in stark contrast to the simplicity of the Oberon code so I decided to abandon that plan and instead design a simple SRAM add-on board for Pipistrello that can hold up to 2 MB of 10ns 32-bit wide SRAM and two PS/2 connectors for keyboard and mouse. The rest of the system is basically covered by the on-board I/O (video via HDMI, sd-card using the micro-sd socket) so I could use all 48 pins in the wing connectors for the SRAM board.
The original oberon code is basically unchanged, the only major code addition is a module that takes the signals that normally drive an analog VGA monitor and convert it to DVI output via the HDMI connector.
Latest Oberon code is available here (complete Xilinx ISE project and Pipistrello bit file):