Instead of relying on a "hack" in nextpnr, FABulous should simply add the global clock to bel.v2.text:
BelBegin,X0Y0,A,Global_Clock,A_
CLK,OUT,X0Y0.A_CLK
BelEnd
Then, pips.txt should connect X0Y0.A_CLK to all bels in tiles with global clock enabled.
This way, the global clock network can be applied to the entire fabric, to parts of the fabric (per column) and can be mixed with other clock routing. This also paves the way for adding multiple global clocks to FABulous: changing the number of Global_Clock's can be entirely done within FABulous without touching nextpnr at all.
PS: Please rename it to GLOBAL_CLOCK in the process.
Instead of relying on a "hack" in nextpnr, FABulous should simply add the global clock to
bel.v2.text:Then,
pips.txtshould connectX0Y0.A_CLKto all bels in tiles with global clock enabled.This way, the global clock network can be applied to the entire fabric, to parts of the fabric (per column) and can be mixed with other clock routing. This also paves the way for adding multiple global clocks to FABulous: changing the number of
Global_Clock's can be entirely done within FABulous without touching nextpnr at all.PS: Please rename it to
GLOBAL_CLOCKin the process.