[Oberon] Oberon System on the FPGA (was Oberon-1 or Oberon-2?)

Richard Hable informujo at aon.at
Fri Oct 31 19:23:23 CET 2014

On 10/30/14 15:35, skulski at pas.rochester.edu wrote:

> Do you need to build your own SoC? If you are doing what we are doing then
> the answer is yes. In fact, every FPGA configuration, with a processor or
> without, is a SoC. I am now interested in adding a soft core to our
> designs.

Right, so you want to have a processor on your board and you want to 
have an Oberon-2 compiler for it. So, why not "implement" a processor 
for which an Oberon-2 compiler already exists? I think, MIPS would be 
a good candidate because it has a simple "classic" MIPS instruction 
set, and OP2 creator Regis Crelier himself has written a code 
generator for it.

Based on my own experiences with creating a backend for OP2 I'd say 
that it is a semester's work ("piece of cake") only if you are a very 
fast hacker, for the following reasons:

- The OP2 source code is difficult to understand. For example, it uses 
intermediate data structures which have been optimized for high 
efficiency, not for comprehensibility, using record fields with 
generic names, which are reused for different purposes, instead of 
extended records.

- You have to create your own register assignment/management which can 
be very tricky, especially with explicitly passed run-time type 
descriptors, open arrays etc.

- Creating code even for simple operators and standard functions can 
be surprisingly complicated if you want to create reasonably efficient 
code: If, for example, your processor supports only 5 different 
addressing modes, you have to create up to 25 different instructions 
sequences for simple operations like integer subtraction. Even more 
complications are possible for efficient support of the different 
Oberon-2 integer types (SHORTINT, INTEGER, and LONGINT).

- Finally, let's face it, development in Oberon-2 is a lot less 
efficient compared to, for example, development within modern Java 
development environments, due to lack of good editors and debuggers.

> So, never say never while talking to the HW person. We can do anything.

This is my favorite quote of the month. :)


More information about the Oberon mailing list