aboutsummaryrefslogtreecommitdiffstats
path: root/common/kernel/timing.h
diff options
context:
space:
mode:
authorMaciej Kurc <mkurc@antmicro.com>2022-08-30 17:30:58 +0200
committerMaciej Kurc <mkurc@antmicro.com>2022-08-30 17:30:58 +0200
commit9a61ad923444bbf01f777bd76b4b2e74e4e5c503 (patch)
treeeee1c143f1ec2f8ea07c2871dd2e33338f55852c /common/kernel/timing.h
parent8b6be098094c6de151199a33690d6e8ecacdd446 (diff)
downloadnextpnr-9a61ad923444bbf01f777bd76b4b2e74e4e5c503.tar.gz
nextpnr-9a61ad923444bbf01f777bd76b4b2e74e4e5c503.tar.bz2
nextpnr-9a61ad923444bbf01f777bd76b4b2e74e4e5c503.zip
Augmented TimingAnalyser class with detection of clock to clock relations
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Diffstat (limited to 'common/kernel/timing.h')
-rw-r--r--common/kernel/timing.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/kernel/timing.h b/common/kernel/timing.h
index fe1bcaa8..9562ba93 100644
--- a/common/kernel/timing.h
+++ b/common/kernel/timing.h
@@ -92,6 +92,10 @@ struct TimingAnalyser
return slack;
}
+ auto get_clock_delays () const {
+ return clock_delays;
+ }
+
bool setup_only = false;
bool verbose_mode = false;
bool have_loops = false;
@@ -103,6 +107,7 @@ struct TimingAnalyser
void get_route_delays();
void topo_sort();
void setup_port_domains();
+ void identify_related_domains();
void reset_times();
@@ -217,6 +222,7 @@ struct TimingAnalyser
dict<ClockDomainPairKey, domain_id_t> pair_to_id;
std::vector<PerDomain> domains;
std::vector<PerDomainPair> domain_pairs;
+ dict<std::pair<IdString, IdString>, delay_t> clock_delays;
std::vector<CellPortKey> topological_order;