2020-02-27 21:35:56 -06:00
|
|
|
#ifndef PNR_SDC_ROUTING_WRITER_H
|
|
|
|
#define PNR_SDC_ROUTING_WRITER_H
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
* Include header files that are required by function declaration
|
|
|
|
*******************************************************************/
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include "module_manager.h"
|
|
|
|
#include "device_rr_gsb.h"
|
|
|
|
#include "rr_graph_obj.h"
|
2021-03-14 20:35:49 -05:00
|
|
|
#include "device_grid.h"
|
|
|
|
#include "vpr_device_annotation.h"
|
2020-02-27 21:35:56 -06:00
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
* Function declaration
|
|
|
|
*******************************************************************/
|
|
|
|
|
|
|
|
/* begin namespace openfpga */
|
|
|
|
namespace openfpga {
|
|
|
|
|
|
|
|
void print_pnr_sdc_flatten_routing_constrain_sb_timing(const std::string& sdc_dir,
|
2020-05-05 13:31:11 -05:00
|
|
|
const float& time_unit,
|
2020-05-02 19:31:37 -05:00
|
|
|
const bool& hierarchical,
|
2020-02-27 21:35:56 -06:00
|
|
|
const ModuleManager& module_manager,
|
2020-05-02 19:31:37 -05:00
|
|
|
const ModuleId& top_module,
|
2021-03-14 20:35:49 -05:00
|
|
|
const VprDeviceAnnotation& device_annotation,
|
|
|
|
const DeviceGrid& grids,
|
2020-02-27 21:35:56 -06:00
|
|
|
const RRGraph& rr_graph,
|
2020-03-25 16:55:30 -05:00
|
|
|
const DeviceRRGSB& device_rr_gsb,
|
|
|
|
const bool& constrain_zero_delay_paths);
|
2020-02-27 21:35:56 -06:00
|
|
|
|
|
|
|
void print_pnr_sdc_compact_routing_constrain_sb_timing(const std::string& sdc_dir,
|
2020-05-05 13:31:11 -05:00
|
|
|
const float& time_unit,
|
2020-05-02 19:31:37 -05:00
|
|
|
const bool& hierarchical,
|
2020-02-27 21:35:56 -06:00
|
|
|
const ModuleManager& module_manager,
|
2020-05-02 19:31:37 -05:00
|
|
|
const ModuleId& top_module,
|
2021-03-14 20:35:49 -05:00
|
|
|
const VprDeviceAnnotation& device_annotation,
|
|
|
|
const DeviceGrid& grids,
|
2020-02-27 21:35:56 -06:00
|
|
|
const RRGraph& rr_graph,
|
2020-03-25 16:55:30 -05:00
|
|
|
const DeviceRRGSB& device_rr_gsb,
|
|
|
|
const bool& constrain_zero_delay_paths);
|
2020-02-27 21:35:56 -06:00
|
|
|
|
|
|
|
void print_pnr_sdc_flatten_routing_constrain_cb_timing(const std::string& sdc_dir,
|
2020-05-05 13:31:11 -05:00
|
|
|
const float& time_unit,
|
2020-05-02 20:02:35 -05:00
|
|
|
const bool& hierarchical,
|
2020-02-27 21:35:56 -06:00
|
|
|
const ModuleManager& module_manager,
|
2020-05-02 20:02:35 -05:00
|
|
|
const ModuleId& top_module,
|
2021-03-14 20:35:49 -05:00
|
|
|
const VprDeviceAnnotation& device_annotation,
|
|
|
|
const DeviceGrid& grids,
|
2020-02-27 21:35:56 -06:00
|
|
|
const RRGraph& rr_graph,
|
2020-03-25 16:55:30 -05:00
|
|
|
const DeviceRRGSB& device_rr_gsb,
|
|
|
|
const bool& constrain_zero_delay_paths);
|
2020-02-27 21:35:56 -06:00
|
|
|
|
|
|
|
void print_pnr_sdc_compact_routing_constrain_cb_timing(const std::string& sdc_dir,
|
2020-05-05 13:31:11 -05:00
|
|
|
const float& time_unit,
|
2020-05-02 20:02:35 -05:00
|
|
|
const bool& hierarchical,
|
2020-02-27 21:35:56 -06:00
|
|
|
const ModuleManager& module_manager,
|
2020-05-02 20:02:35 -05:00
|
|
|
const ModuleId& top_module,
|
2021-03-14 20:35:49 -05:00
|
|
|
const VprDeviceAnnotation& device_annotation,
|
|
|
|
const DeviceGrid& grids,
|
2020-02-27 21:35:56 -06:00
|
|
|
const RRGraph& rr_graph,
|
2020-03-25 16:55:30 -05:00
|
|
|
const DeviceRRGSB& device_rr_gsb,
|
|
|
|
const bool& constrain_zero_delay_paths);
|
2020-02-27 21:35:56 -06:00
|
|
|
|
|
|
|
} /* end namespace openfpga */
|
|
|
|
|
|
|
|
#endif
|