[Oberon] Lola TS [WAS Re: Assumed issue in the Lola-2 compiler]

Paul Reed paulreed at paddedcell.com
Thu Apr 25 00:44:29 CEST 2019

>> I also would like to discuss whether there is a way to avoid using a
>> Xilinx specific module for TS()...

> In my point of view the Lola compiler could translate tri-state (0, 1,
> Z) buffers to ...
>   assign O = enable ? I : 1'bz;

The interface of the IOBUF.v external module (ie the external Lola type 
IOBUF) happens to have been taken as-is from Xilinx but it's a pretty 
general thing.  (I personally find Xilinx' parameter names .I and .O 
confusing, but whatever.)

I agree it's tempting but I was rather glad I didn't change the TS to 
generate inline 'z expressions, when I came across a toolchain (Clifford 
Wolf's IceStorm tools for the Lattice iCE40) which didn't implement 
tri-state properly from the Verilog.  I just wrote an IOBUF.v which 
wrapped the SB_IO with the relevant parameters set.

I think there will always be chip-specific stuff which would not be 
usefully expressed in Lola, e.g. I/O buffers with pull-up resistors, 
double-data-rate I/O, phase-locked loops etc.


More information about the Oberon mailing list