Open sporniket opened 2 years ago
Some other method I discovered on someone else's project was building some scan chain:
connect physically all vertical pins of a PMOD, and then use RTL to connect them horizontally in a way that makes all pin connected into a single wire across the whole board:
┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐
IN...........o │ o...o │ o...............o │ o...o │ o...............o │ o...o │ o...OUT
├───┼───┼─│─┼─│─┼─│─┼─│─┤ ├───┼───┼─│─┼─│─┼─│─┼─│─┤ ├───┼───┼─│─┼─│─┼─│─┼─│─┤
│ │ │ o...o │ o...o │ │ │ │ o...o │ o...o │ │ │ │ o...o │ o...o │
└───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┘
If the OUT
signal follows the IN
signal, then all pins are connected.
This does not prevent the presence of shorts between two pins, which would go undetected with that scheme.
Maybe some alternative pinout would be rquired to support alternative connectors.
Would that not be something to integrate on each project in their own way rather than upstream? Maybe there are more projects doing this style of testing than I thought...
followup of my comment for #128
typical use (adapted from https://github.com/sporniket/amaranth_sandbox/tree/686b90d42eee8e360d615373728c1ebc0c570ce7/board--colorlight-i9 )
Edit : see the script running : https://www.youtube.com/watch?v=eU3kbz5UF2Q