diff options
Diffstat (limited to 'ice40/arch.cc')
-rw-r--r-- | ice40/arch.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ice40/arch.cc b/ice40/arch.cc index ce45b051..78d4c29c 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -168,6 +168,9 @@ Arch::Arch(ArchArgs args) : args(args) wire_to_net.resize(chip_info->num_wires); pip_to_net.resize(chip_info->num_pips); switches_locked.resize(chip_info->num_switches); + + // Initialise regularly used IDStrings for performance + id_glb_buf_out = id("GLOBAL_BUFFER_OUTPUT"); } // ----------------------------------------------------------------------- @@ -501,4 +504,11 @@ bool Arch::isClockPort(const CellInfo *cell, IdString port) const return false; } +bool Arch::isGlobalNet(const NetInfo *net) const +{ + if (net == nullptr) + return false; + return net->driver.cell != nullptr && net->driver.port == id_glb_buf_out; +} + NEXTPNR_NAMESPACE_END |