[Oberon] Procedure variables and local procedures

Skulski, Wojciech skulski at pas.rochester.edu
Sat Sep 30 05:07:10 CEST 2017

> Runtime overflows (INTEGER as well as BYTE) are not trapped in Project
> Oberon or Astrobe Oberon. In fact the Random function exploits this
> behaviour and would break if ported to a system that didn't allow you to
> turn off overflow trapping.

Another good point! Overflowing is a crucial part of some digital filters in FPGAs. Without overflowing these filters would not work. 

Another, slightly less exotic example is a circular buffer design whose pointer must overflow in order to make the buffer circular. I use this design pattern all over my FPGA firmware. In a computer language one can use an IF statement or a modulo operator, but in the FPGA there is hardly place for such embellishments. Most often I just let the upper bit fall off. 


More information about the Oberon mailing list