Previously arachne-pnr was only considering internal oscillators as occupying one global network each, without considering the different types of globals and what they can drive, when promoting globals. By moving oscillator placement to the constraints placement phase, these become known during global promotion and fix occasional conflicts, such as was occurring in tinyfpga/TinyFPGA-Bootloader#5
Previously arachne-pnr was only considering internal oscillators as occupying one global network each, without considering the different types of globals and what they can drive, when promoting globals. By moving oscillator placement to the constraints placement phase, these become known during global promotion and fix occasional conflicts, such as was occurring in tinyfpga/TinyFPGA-Bootloader#5