<pepijndevos_>
daveshah, fyi Python 3.9 gives some deprecation warnings
<pepijndevos_>
hmmm... so Gowin has their own IBUF/OBUF primitives, which synth_gowin also generates with iopadmap. But nexpnr *on top of that* creates $nextprn_ibuf etc
<pepijndevos_>
Wondering if I should write a packer that deletes the $nextpnr ones and packs the custom ones into a bel, or tell yosys to just not generate them.
<pepijndevos_>
Packing is some tricky business... very easy to crash all the things with dangling pointers.
<daveshah>
remove the $nextpnr ones
<daveshah>
eventually I want to get rid of IO buffer insertion in nextpnr, it's more error prone than it needs to be when it comes to complex inout patterns
<pepijndevos_>
ooops
<pepijndevos_>
ERROR: net 'led[5]' driver port 'O' missing on cell 'cpu.alu_out[0]_LUT4_F_I2_LUT4_F_1_LC'
<pepijndevos_>
huuuhhh, I'm not sure I understand what that means. uh... so the LC is driving net led[5] yea? LC doesn't have a port called 'O', so that's... weird.
<pepijndevos_>
so led[5] is the top level output, which should be driven by an IOB, not by a slice... still no clue how tf that is happening.
<daveshah>
make sure you are removing the nextpnr_iob s properly
<pepijndevos_>
daveshah, pretty sure I'm *not* removing them properly...
<pepijndevos_>
what does disconnect_port(ctx, ci, p.first); do compared to ctx->nets.erase(dnet);? Because the generic code does... both in different cases