build.{dsl,plat,res}: allow dir="oe".
authorwhitequark <cz@m-labs.hk>
Mon, 3 Jun 2019 04:39:05 +0000 (04:39 +0000)
committerwhitequark <cz@m-labs.hk>
Mon, 3 Jun 2019 04:42:55 +0000 (04:42 +0000)
commit8471a04de9449b8cfb1641c893b240e5f7cb69be
treec057d57bb8a4815d8dda7e10f34fa54d3615f1a2
parent74378453bc04417907efe0913e1010381bb298f1
build.{dsl,plat,res}: allow dir="oe".

Although a dir="oe" pin is generally equivalent to dir="io" pin with
the i* signal(s) disconnected, they are not equivalent, because some
pins may not be able to support input buffers at all, either because
there are no input buffers, or because the input buffers are consumed
by some other resource.

E.g. this can happen on iCE40 when the input buffer is consumed by
a PLL.
nmigen/build/dsl.py
nmigen/build/plat.py
nmigen/build/res.py
nmigen/test/test_build_dsl.py
nmigen/test/test_build_res.py
nmigen/vendor/fpga/lattice_ice40.py