-
Notifications
You must be signed in to change notification settings - Fork 115
Open
Labels
Description
There seem to be two subclasses of very similar boards:
- Boards that are completely equivalent wrt usable pins / connectors and resources and only differ in exact fpga model (usually size and / or speedgrade). These include the
tinyfpga_ax{1,2}
and thezturn_lite_z0{07s,10}
.
Currently these are handled as different boards, located in different files. Thezturn_lite
uses inheritance to avoid duplicating the pinout. - Boards that are very close but still differ in resources (due to for example different sets of usable pins on different fpga models). These are currently also handled as completely different boards (for example the
ecpix
).
The approach of making every variant its own board currently seems to bring two main advantages:
- Its hard to use the wrong board (by accidentally using the wrong fpga model or speedgrade)
- Each variant is (apart from the
zturn_lite
) is completely seperate from each other, making maintance easier (changing a variant only ever affects that variant).
Considering these advantages the approach for the second class seems very reasonable already.
For the first class however it might be better to put them in the same file and use inheritance like the zturn_lite
to avoid duplicating pinout, programming logic and more.
Especially for speedgrade however this still seems a bit unnecessary and could bloat the list boards.