diff options
-rw-r--r-- | common/kernel/timing.cc | 16 | ||||
-rw-r--r-- | gowin/arch.cc | 3 |
2 files changed, 12 insertions, 7 deletions
diff --git a/common/kernel/timing.cc b/common/kernel/timing.cc index f046ba7d..47235789 100644 --- a/common/kernel/timing.cc +++ b/common/kernel/timing.cc @@ -299,10 +299,12 @@ void TimingAnalyser::identify_related_domains() std::function<void(const NetInfo *, dict<IdString, delay_t> &, delay_t)> find_net_drivers = [&](const NetInfo *ni, dict<IdString, delay_t> &drivers, delay_t delay_acc) { // Get driving cell and port - if (ni == nullptr) return; + if (ni == nullptr) + return; const CellInfo *cell = ni->driver.cell; - if (cell == nullptr) return; - + if (cell == nullptr) + return; + const IdString port = ni->driver.port; bool didGoUpstream = false; @@ -363,9 +365,11 @@ void TimingAnalyser::identify_related_domains() for (const auto &domain : domains) { const NetInfo *ni = ctx->nets.at(domain.key.clock).get(); - if (ni == nullptr) continue; - if (ni->driver.cell == nullptr) continue; - + if (ni == nullptr) + continue; + if (ni->driver.cell == nullptr) + continue; + dict<IdString, delay_t> drivers; find_net_drivers(ni, drivers, 0); diff --git a/gowin/arch.cc b/gowin/arch.cc index 00050f44..f00dfb0a 100644 --- a/gowin/arch.cc +++ b/gowin/arch.cc @@ -880,7 +880,8 @@ void Arch::read_cst(std::istream &in) std::regex portre = std::regex("IO_PORT +\"([^\"]+)\" +([^;]+;).*[\\s\\S]*"); std::regex port_attrre = std::regex("([^ =;]+=[^ =;]+) *([^;]*;)"); std::regex iobelre = std::regex("IO([TRBL])([0-9]+)\\[?([A-Z])\\]?"); - std::regex inslocre = std::regex("INS_LOC +\"([^\"]+)\" +R([0-9]+)C([0-9]+)\\[([0-9])\\]\\[([AB])\\] *;.*[\\s\\S]*"); + std::regex inslocre = + std::regex("INS_LOC +\"([^\"]+)\" +R([0-9]+)C([0-9]+)\\[([0-9])\\]\\[([AB])\\] *;.*[\\s\\S]*"); std::regex clockre = std::regex("CLOCK_LOC +\"([^\"]+)\" +BUF([GS])(\\[([0-7])\\])?[^;]*;.*[\\s\\S]*"); std::smatch match, match_attr, match_pinloc; std::string line, pinline; |