To reduce the amount of code duplication we should subclass from litex platforms' _io, connectors and methods instead of redefining them. This will prevent surprises and subtle incompatibilities between litex-buildenv and litex platforms if a user of litex-buildenv decides they want to use litex (or even migen) directly for their current project.
Contrived example: Maybe a user of litex wants complete customization for their shiny new project?
List of existing platforms:
[ ] arty.py
[ ] atlys.py
[ ] mimasv2.py
[ ] minispartan6.py
[ ] netv2.py
[ ] nexys_video.py
[ ] opsis.py
[ ] pipistrello.py
Platforms to add:
[ ] arty_s7.py
[ ] tinyfpga_b.py
The following are possibly okay leaving in litex-buildenv/not subclassing from LiteX?
To reduce the amount of code duplication we should subclass from
litex
platforms'_io
,connectors
and methods instead of redefining them. This will prevent surprises and subtle incompatibilities betweenlitex-buildenv
andlitex
platforms if a user oflitex-buildenv
decides they want to uselitex
(or evenmigen
) directly for their current project.Contrived example: Maybe a user of
litex
wants complete customization for their shiny new project?List of existing platforms:
Platforms to add:
The following are possibly okay leaving in
litex-buildenv
/not subclassing from LiteX?