timing: Allow overriding of route delays
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
eb6817c259
commit
14c676ab49
@ -38,9 +38,10 @@ void TimingAnalyser::setup()
|
||||
run();
|
||||
}
|
||||
|
||||
void TimingAnalyser::run()
|
||||
void TimingAnalyser::run(bool update_route_delays)
|
||||
{
|
||||
reset_times();
|
||||
if (update_route_delays)
|
||||
get_route_delays();
|
||||
walk_forward();
|
||||
walk_backward();
|
||||
@ -149,6 +150,8 @@ void TimingAnalyser::get_route_delays()
|
||||
}
|
||||
}
|
||||
|
||||
void TimingAnalyser::set_route_delay(CellPortKey port, DelayPair value) { ports.at(port).route_delay = value; }
|
||||
|
||||
void TimingAnalyser::topo_sort()
|
||||
{
|
||||
TopoSort<CellPortKey> topo;
|
||||
|
@ -97,9 +97,13 @@ struct TimingAnalyser
|
||||
public:
|
||||
TimingAnalyser(Context *ctx) : ctx(ctx){};
|
||||
void setup();
|
||||
void run();
|
||||
void run(bool update_route_delays = true);
|
||||
void print_report();
|
||||
|
||||
// This is used when routers etc are not actually binding detailed routing (due to congestion or an abstracted
|
||||
// model), but want to re-run STA with their own calculated delays
|
||||
void set_route_delay(CellPortKey port, DelayPair value);
|
||||
|
||||
float get_criticality(CellPortKey port) const { return ports.at(port).worst_crit; }
|
||||
float get_setup_slack(CellPortKey port) const { return ports.at(port).worst_setup_slack; }
|
||||
float get_domain_setup_slack(CellPortKey port) const
|
||||
|
Loading…
Reference in New Issue
Block a user