[Oberon] Lola TS [WAS Re: Assumed issue in the Lola-2 compiler]
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