Reunite `litex-buildenv` with LiteX platforms
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?
- [ ] sim.py
- [ ] tofe_axiom.py
- [ ] tofe_lowspeedio.py
There are more boards here too -> https://github.com/timvideos/HDMI2USB-litex-firmware/pull/398
- [ ] Digilent CMOD A7 (just platform file added)
- [ ] Numato Lab Galatea Spartan 6 PCIe Development Board
- [ ] Numato Lab Neso Artix 7 100T FPGA Module
- [ ] Numato Lab Saturn Spartan 6 LX45 FPGA Module
@piotr-binkowski