Doing a bit of #GlasgowInterfaceExplorer experimentation today

☑️ Running the self test
❎ Using any applet shipped with the software
❎ Writing a simple applet myself
👉 Monkey-patching Glasgow build system internals

(wanted to make this a ‘skipping steps’ meme but apparently there isn’t even a stairs emoji?)
@fruchti ooh, what'd you hit?
@whitequark I’m planning to do placement constraints and I didn’t find a better way to add anything to nextpnr_opts from within an applet than overriding assembly._platform.prepare()
@whitequark For now I just added --write to be able to confirm what I’m doing via the nextpnr GUI, but I might need a pre-place script. I don’t have much experience with yosys/nextpnr either, so I’m figuring this out as I go :D
@fruchti ah interesting! note that the yowasp build of nextpnr doesn't include python, so this will not be something i can include in the default configuration
@whitequark Good to know!
@fruchti what are you doing with placement constraints?

@whitequark Building a Loop PUF (basically a ring oscillator with extra inputs). The placement constraints for the ring itself happen via the BEL attribute (they need to be precise anyway), but I need nextpnr_opts to include --ignore-loops.

The pre-place script would place all other logic ‘somewhere else’, separate from the loops. Probably that won’t be necessary, but I’ll have to check—maybe it makes a difference for the performance.