2023-02-21 18:53:05 -06:00
|
|
|
/************************************************************************
|
|
|
|
* A header file for ClockNetwork class, including critical data declaration
|
|
|
|
* Please include this file only for using any PinConstraints data structure
|
|
|
|
* Refer to clock_network.h for more details
|
|
|
|
***********************************************************************/
|
|
|
|
|
|
|
|
/************************************************************************
|
|
|
|
* Create strong id for ClockNetwork to avoid illegal type casting
|
|
|
|
***********************************************************************/
|
|
|
|
#ifndef CLOCK_NETWORK_FWD_H
|
|
|
|
#define CLOCK_NETWORK_FWD_H
|
|
|
|
|
|
|
|
#include "vtr_strong_id.h"
|
|
|
|
|
|
|
|
namespace openfpga { // Begin namespace openfpga
|
|
|
|
|
2023-02-26 00:41:33 -06:00
|
|
|
struct clock_level_id_tag;
|
2023-02-21 18:53:05 -06:00
|
|
|
struct clock_tree_id_tag;
|
2023-02-27 00:23:17 -06:00
|
|
|
struct clock_tree_pin_id_tag;
|
2023-02-21 18:53:05 -06:00
|
|
|
struct clock_spine_id_tag;
|
2023-02-22 20:21:28 -06:00
|
|
|
struct clock_switch_point_id_tag;
|
2024-06-24 19:54:58 -05:00
|
|
|
struct clock_internal_driver_id_tag;
|
2024-06-26 17:41:56 -05:00
|
|
|
struct clock_tap_id_tag;
|
2023-02-21 18:53:05 -06:00
|
|
|
|
2023-02-26 00:41:33 -06:00
|
|
|
typedef vtr::StrongId<clock_level_id_tag> ClockLevelId;
|
2023-02-21 18:53:05 -06:00
|
|
|
typedef vtr::StrongId<clock_tree_id_tag> ClockTreeId;
|
2023-02-27 00:23:17 -06:00
|
|
|
typedef vtr::StrongId<clock_tree_pin_id_tag> ClockTreePinId;
|
2023-02-21 18:53:05 -06:00
|
|
|
typedef vtr::StrongId<clock_spine_id_tag> ClockSpineId;
|
2023-02-22 20:21:28 -06:00
|
|
|
typedef vtr::StrongId<clock_switch_point_id_tag> ClockSwitchPointId;
|
2024-06-24 19:54:58 -05:00
|
|
|
typedef vtr::StrongId<clock_internal_driver_id_tag> ClockInternalDriverId;
|
2024-06-26 17:41:56 -05:00
|
|
|
typedef vtr::StrongId<clock_tap_id_tag> ClockTapId;
|
2023-02-21 18:53:05 -06:00
|
|
|
|
|
|
|
/* Short declaration of class */
|
|
|
|
class ClockNetwork;
|
|
|
|
|
|
|
|
} // End of namespace openfpga
|
|
|
|
|
|
|
|
#endif
|