[Oberon] Oberon System on the FPGA (was Oberon-1 or Oberon-2?)
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
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
- 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