#ifndef VPR_ATOM_DELAY_CALC_H
#define VPR_ATOM_DELAY_CALC_H

#include "atom_netlist.h"
#include "atom_lookup.h"
#include "vtr_hash.h"
#include "DelayType.h"

//Delay Calculator for timing edges which are internal to atoms
class AtomDelayCalc {
    public:
        AtomDelayCalc(const AtomNetlist& netlist, const AtomLookup& netlist_lookup);
        float atom_combinational_delay(const AtomPinId src_pin, const AtomPinId sink_pin, const DelayType delay_type) const;
        float atom_setup_time(const AtomPinId clk_pin, const AtomPinId input_pin) const;
        float atom_hold_time(const AtomPinId clk_pin, const AtomPinId input_pin) const;
        float atom_clock_to_q_delay(const AtomPinId clk_pin, const AtomPinId output_pin, const DelayType delay_type) const;
    private:
        const t_pb_graph_pin* find_pb_graph_pin(const AtomPinId atom_pin) const;
    private:
        const AtomNetlist& netlist_;
        const AtomLookup& netlist_lookup_;
};

#include "atom_delay_calc.inl"

#endif
