Shop OBEX P1 Docs P2 Docs Learn Events
Oberon System Implemented on a Low-Cost FPGA Board — Parallax Forums

Oberon System Implemented on a Low-Cost FPGA Board

Bob Lawrence (VE1RLL)Bob Lawrence (VE1RLL) Posts: 1,720
edited 2016-01-19 18:40 in General Discussion
Has anyone use Oberon for FPGA development or you are planning to do so in the future?

=========================================================

Oberon System
Implemented on a
Low-Cost FPGA Board

by Niklaus Wirth
Professor (retired)
Swiss Federal Institute of Technology (ETH)
Zurich, Switzerland

Niklaus Wirth:
"Choosing a Xilinx FPGA allowed me
to update the system while keeping the
design as close as possible
to the original version from 1990. "

Complete Article:
http://www.xilinx.com/support/documentation/xcell_articles/91-5-oberon-system-implemented-on-a-low-cost-fpga-board.pdf


================================



Comments

  • Wouldn't that be using an FPGA to do Oberon dwvelopment?

    No. Thought about it, but no time, and I think doing that would take significant time.

    I may well give it a go on P2 at some point in the future.
  • re: Wouldn't that be using an FPGA to do Oberon dwvelopment?


    Yes I changed the title. Thanks!

  • User NameUser Name Posts: 1,451
    edited 2016-01-19 19:23
    Wow, what a great article and a fascinating project! Thanks for posting this.

    @Potato: By all means do so! The Oberon OS could be just the ticket for a stand-alone P2 machine. Of course it would violate Dr. Wirth's rule that "no part must be specified in assembler code." But we won't tell Dr. Wirth. Besides, Propeller assembly is clearly more pure than the indecipherable gunk he was talking about. :)
  • potatoheadpotatohead Posts: 10,261
    edited 2016-01-19 19:49
    Oh, I don't think it is necessary to violate the rules. Oberon is written in Oberon. If one were to change the compiler code generator to PASM, and boot strap that compilier onto the P2, then Oberon could build.

    Because we have hubexec, there would be no technical reason why the necessary core i/o, display, etc... libraries could not be modified as well. A couple in line or binary specifIed PASM instructions would need to live in there, to access hardware specific bits, like the streamer.

    Seems to me, there are two basic paths there too.

    One would be an Oberon loader. Have it be in PASM, and it does the setup. The other is to mod the libraries as mentioned. There has to be a little slack where software driven features, like a display, etc... are needed, but not part of Oberon. The loader path could potentially leave Oberon pure.

    When we get this Smart Pin stage done, it's time for ongoing bug fixing and tweaks and the chip system software. At that time, we learn how booting can go, etc...

    The on chip stuff probably will be PASM, monitor, booter, and crypt at a minimum. That's enough to both bootstrap something, and or build loaders, etc.. that can support something like Oberon, if on chip is chosen. The moment booting is sorted, the usual tools can be used as well.

    The former is harder, but maybe good systems education material. The latter is the more likely and easier way to go.

    Might be a great project in the future!

    I got a P2 project in process right now, and one for the P1 in my queue. (Reference video drivers for Brett) Gonna get those done before I personally think too much about anything along these lines.

    If Oberon gets done one day, it may actually see an education market. IMHO, it's powerful enough to do a lot. Someone here just mentioned using it to do ARM programming. I would be interested to know more about that.

    A little P2 system with storage, maybe external RAM should perform nicely. Fun thoughts!
  • Potatohead

    Check out Astrobe

    http://www.astrobe.com/default.htm

    They have free starter development packages for M3 and M4 chips. I use the M3 package since I primarily muck about with the LPC1347 boards(they're cheap).

    There is also a Oberon documents page at:
    http://www.astrobe.com/Oberon.htm

  • jmgjmg Posts: 15,173
    rod1963 wrote: »
    Check out Astrobe

    http://www.astrobe.com/default.htm

    They have free starter development packages for M3 and M4 chips. I use the M3 package since I primarily muck about with the LPC1347 boards(they're cheap).

    Yes, and recently they also release a RISC5 version, for cross compile to the FPGA hosts :
    http://www.astrobe.com/RISC5/default.htm
  • OberonStation


    OberonStation
    enso, 18 January 2016 (created 27 August 2013)

    OberonStation™ is a self-contained FPGA-based, 32-bit computer designed specifically to run Oberon RISC, as described by Profs. Niklaus Wirth and Jürg Gutknecht in Project Oberon (New Edition 2013).

    Attached to a PS/2 keyboard, a mouse and a monitor (1024x768 or better) via a VGA cable, OberonStation is a complete Oberon workstation that boots Oberon in about 1 second from the uSD card. Complete source code for the Oberon GUI environment, Oberon RISC compiler and applications is available at projectoberon.com. OberonStation is also compatible with Astrobe.

    http://oberonstation.x10.mx/

    Starting price example:

    Item total:$179.99

Sign In or Register to comment.