From f742d1054a2760799e2fb58a5a1fd6b35cf1d276 Mon Sep 17 00:00:00 2001 From: AlexandreSinger Date: Wed, 21 May 2025 12:14:30 -0400 Subject: [PATCH] [Infra] Cleaned Up Includes in Draw Dir Cleaned up the includes in the draw files. These ones were much messier than I originally thought. Many of the header files in the draw directory included way more than they needed which was causing false dependencies anywhere in VPR which included any draw files. --- vpr/src/base/vpr_api.cpp | 4 ++ vpr/src/draw/breakpoint.cpp | 5 ++- vpr/src/draw/breakpoint.h | 10 +---- vpr/src/draw/breakpoint_state_globals.h | 5 +-- vpr/src/draw/buttons.cpp | 6 --- vpr/src/draw/buttons.h | 12 ++--- vpr/src/draw/draw.cpp | 22 ++++------ vpr/src/draw/draw.h | 25 +++++------ vpr/src/draw/draw_basic.cpp | 6 +-- vpr/src/draw/draw_basic.h | 32 ++++---------- vpr/src/draw/draw_color.h | 10 ++--- vpr/src/draw/draw_debug.cpp | 6 ++- vpr/src/draw/draw_debug.h | 21 +++------ vpr/src/draw/draw_floorplanning.cpp | 11 +---- vpr/src/draw/draw_floorplanning.h | 12 +---- vpr/src/draw/draw_global.h | 5 +-- vpr/src/draw/draw_mux.cpp | 8 +--- vpr/src/draw/draw_mux.h | 30 ++----------- vpr/src/draw/draw_noc.cpp | 2 + vpr/src/draw/draw_noc.h | 15 +++---- vpr/src/draw/draw_rr.cpp | 8 ++-- vpr/src/draw/draw_rr.h | 40 +++-------------- vpr/src/draw/draw_rr_edges.cpp | 4 +- vpr/src/draw/draw_rr_edges.h | 40 +++-------------- vpr/src/draw/draw_searchbar.cpp | 4 +- vpr/src/draw/draw_searchbar.h | 44 +++---------------- vpr/src/draw/draw_toggle_functions.cpp | 8 +--- vpr/src/draw/draw_toggle_functions.h | 39 ++-------------- vpr/src/draw/draw_triangle.cpp | 7 ++- vpr/src/draw/draw_triangle.h | 36 ++------------- vpr/src/draw/draw_types.h | 7 +-- vpr/src/draw/gtkcomboboxhelper.h | 5 +-- vpr/src/draw/hsl.h | 5 +-- vpr/src/draw/intra_logic_block.cpp | 2 - vpr/src/draw/intra_logic_block.h | 12 +---- vpr/src/draw/manual_moves.cpp | 6 ++- vpr/src/draw/manual_moves.h | 11 +---- vpr/src/draw/save_graphics.h | 10 +---- vpr/src/draw/search_bar.cpp | 17 +------ vpr/src/draw/search_bar.h | 13 +++--- vpr/src/draw/ui_setup.cpp | 15 +++---- vpr/src/draw/ui_setup.h | 11 ++--- vpr/src/place/annealer.cpp | 6 ++- .../move_generators/manual_move_generator.cpp | 2 +- vpr/src/place/placer.cpp | 4 ++ vpr/src/route/route_utils.cpp | 12 +++-- 46 files changed, 159 insertions(+), 456 deletions(-) diff --git a/vpr/src/base/vpr_api.cpp b/vpr/src/base/vpr_api.cpp index 4dc4732c90c..d125f879fa7 100644 --- a/vpr/src/base/vpr_api.cpp +++ b/vpr/src/base/vpr_api.cpp @@ -105,6 +105,10 @@ #include "serverupdate.h" #endif /* NO_SERVER */ +#ifndef NO_GRAPHICS +#include "draw_global.h" +#endif // NO_GRAPHICS + /* Local subroutines */ static void free_complex_block_types(); diff --git a/vpr/src/draw/breakpoint.cpp b/vpr/src/draw/breakpoint.cpp index 9f0c9fe7ce6..93bcd3da101 100644 --- a/vpr/src/draw/breakpoint.cpp +++ b/vpr/src/draw/breakpoint.cpp @@ -1,9 +1,12 @@ + +#ifndef NO_GRAPHICS + #include "breakpoint.h" #include "draw_global.h" +#include "vtr_expr_eval.h" #include -#ifndef NO_GRAPHICS //if the user adds a "proceed move" breakpoint using the entry field in the UI, this function converts it to the equivalent expression and calls the expression evaluator. Returns true if a breakpoint is encountered //the way the proceed moves breakpoint works is that it proceeds the indicated number of moves from where the placer currently is i.e if at move 3 and proceed 4 ends up at move 7 bool check_for_moves_breakpoints(int moves_to_proceed) { diff --git a/vpr/src/draw/breakpoint.h b/vpr/src/draw/breakpoint.h index 612d85eb8a6..f5fd711bf69 100644 --- a/vpr/src/draw/breakpoint.h +++ b/vpr/src/draw/breakpoint.h @@ -16,14 +16,10 @@ * breakpoints have the same type, and the same value corresponding to the type. */ -#ifndef BREAKPOINT_H -#define BREAKPOINT_H +#pragma once -#include #include - -#include "move_transactions.h" -#include "vtr_expr_eval.h" +#include "breakpoint_state_globals.h" typedef enum breakpoint_types { BT_MOVE_NUM, @@ -133,5 +129,3 @@ BreakpointState get_current_info_b(); //prints current BreakpointState information to terminal when breakpoint is reached void print_current_info(bool in_placer); - -#endif /* BREAKPOINT_H */ diff --git a/vpr/src/draw/breakpoint_state_globals.h b/vpr/src/draw/breakpoint_state_globals.h index d1bb22383d5..7ca1a0c433e 100644 --- a/vpr/src/draw/breakpoint_state_globals.h +++ b/vpr/src/draw/breakpoint_state_globals.h @@ -1,5 +1,4 @@ -#ifndef BREAKPOINT_STATE_GLOBALS -#define BREAKPOINT_STATE_GLOBALS +#pragma once #include #include @@ -29,5 +28,3 @@ class BreakpointStateGlobals { return &glob_breakpoint_state; } }; - -#endif diff --git a/vpr/src/draw/buttons.cpp b/vpr/src/draw/buttons.cpp index db64d45c5de..f8429b44299 100644 --- a/vpr/src/draw/buttons.cpp +++ b/vpr/src/draw/buttons.cpp @@ -10,16 +10,10 @@ * Last updated: Aug 2019 */ -#include "draw_global.h" #include "draw.h" -#include "draw_toggle_functions.h" #include "buttons.h" -#include "intra_logic_block.h" -#include "clustered_netlist.h" -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" //location of spin buttons, combo boxes, and labels on grid gint box_width = 1; diff --git a/vpr/src/draw/buttons.h b/vpr/src/draw/buttons.h index ce7d2910130..e1c706b39cb 100644 --- a/vpr/src/draw/buttons.h +++ b/vpr/src/draw/buttons.h @@ -1,16 +1,10 @@ -#ifndef BUTTONS_H -#define BUTTONS_H +#pragma once #ifndef NO_GRAPHICS -#include "draw_global.h" - -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" +#include void delete_button(const char* button_name); GtkWidget* find_button(const char* button_name); -#endif /* NO_GRAPHICS */ -#endif /* BUTTONS_H */ +#endif /* NO_GRAPHICS */ diff --git a/vpr/src/draw/draw.cpp b/vpr/src/draw/draw.cpp index 0f3ec5902fe..823c2635587 100644 --- a/vpr/src/draw/draw.cpp +++ b/vpr/src/draw/draw.cpp @@ -15,13 +15,21 @@ #include #include #include +#include "draw.h" +#include "timing_info.h" +#include "physical_types.h" + +#include "move_utils.h" + +#ifndef NO_GRAPHICS + #include #include #include +#include "draw_debug.h" #include "vtr_assert.h" #include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" #include "vtr_log.h" #include "vtr_color_map.h" #include "vtr_path.h" @@ -30,39 +38,27 @@ #include "globals.h" #include "draw_color.h" -#include "draw.h" #include "draw_basic.h" #include "draw_rr.h" -#include "draw_toggle_functions.h" #include "draw_searchbar.h" #include "draw_global.h" #include "intra_logic_block.h" -#include "tatum/report/TimingPathCollector.hpp" #include "hsl.h" -#include "route_export.h" #include "search_bar.h" #include "save_graphics.h" -#include "timing_info.h" -#include "physical_types.h" #include "manual_moves.h" #include "draw_noc.h" #include "draw_floorplanning.h" -#include "move_utils.h" #include "ui_setup.h" -#ifndef NO_GRAPHICS - //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW #if defined(X11) && !defined(__MINGW32__) #include #endif -#include "rr_graph.h" -#include "route_utilization.h" #include "place_macro.h" -#include "buttons.h" #include "draw_rr.h" /****************************** Define Macros *******************************/ diff --git a/vpr/src/draw/draw.h b/vpr/src/draw/draw.h index adfb6fd47be..96993cdb3ba 100644 --- a/vpr/src/draw/draw.h +++ b/vpr/src/draw/draw.h @@ -17,24 +17,23 @@ * Last updated: August 2022 */ -#ifndef DRAW_H -#define DRAW_H +#pragma once -#include "rr_graph_fwd.h" -#include "timing_info.h" +#include "blk_loc_registry.h" #include "physical_types.h" +#include "rr_graph_type.h" +#include "timing_info.h" +#include "vpr_types.h" +#include #ifndef NO_GRAPHICS -#include "draw_global.h" - -#include "ezgl/point.hpp" +#include "draw_types.h" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" +#include "ezgl/point.hpp" +#include "physical_types.h" +#include "rr_graph_fwd.h" +#include "vtr_color_map.h" #include "vtr_ndoffsetmatrix.h" extern ezgl::application::settings settings; @@ -173,5 +172,3 @@ t_draw_layer_display get_element_visibility_and_transparency(int src_layer, int ClusterBlockId get_cluster_block_id_from_xy_loc(double x, double y); #endif /* NO_GRAPHICS */ - -#endif /* DRAW_H */ diff --git a/vpr/src/draw/draw_basic.cpp b/vpr/src/draw/draw_basic.cpp index 82e0fa134ca..83881b135de 100644 --- a/vpr/src/draw/draw_basic.cpp +++ b/vpr/src/draw/draw_basic.cpp @@ -1,6 +1,8 @@ /* draw_basic.cpp contains all functions that draw in the main graphics area * that aren't RR nodes or muxes (they have their own file). * All functions in this file contain the prefix draw_. */ +#ifndef NO_GRAPHICS + #include #include #include @@ -27,18 +29,14 @@ #include "route_export.h" #include "tatum/report/TimingPathCollector.hpp" -#ifndef NO_GRAPHICS - //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW #if defined(X11) && !defined(__MINGW32__) #include #endif -#include "rr_graph.h" #include "route_utilization.h" #include "place_macro.h" -#include "buttons.h" /****************************** Define Macros *******************************/ #define DEFAULT_RR_NODE_COLOR ezgl::BLACK diff --git a/vpr/src/draw/draw_basic.h b/vpr/src/draw/draw_basic.h index 65d42836948..913afe81db5 100644 --- a/vpr/src/draw/draw_basic.h +++ b/vpr/src/draw/draw_basic.h @@ -6,38 +6,23 @@ * All functions in this file contain the prefix draw_. */ -#ifndef DRAW_BASIC_H -#define DRAW_BASIC_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" -#include "globals.h" +#include "draw_types.h" +#include "netlist_fwd.h" +#include "rr_graph_fwd.h" +#include "tatum/TimingGraphFwd.hpp" -#include "move_utils.h" - -#ifndef NO_GRAPHICS - -#include "draw_global.h" +#include "vtr_color_map.h" #include "ezgl/point.hpp" -#include "ezgl/application.hpp" #include "ezgl/graphics.hpp" /* Draws the blocks placed on the proper clbs. Occupied blocks are darker colours * @@ -158,4 +143,3 @@ void draw_reset_blk_colors(); void draw_reset_blk_color(ClusterBlockId blk_id); #endif /* NO_GRAPHICS */ -#endif /* DRAW_BASIC_H */ diff --git a/vpr/src/draw/draw_color.h b/vpr/src/draw/draw_color.h index 4dcc5e5dbe8..dc68c8fb077 100644 --- a/vpr/src/draw/draw_color.h +++ b/vpr/src/draw/draw_color.h @@ -5,14 +5,12 @@ * as well as a global vector of colors shuffled to prevent similar * colors from being close together */ -#ifndef DRAW_COLOR_H -#define DRAW_COLOR_H +#pragma once #ifndef NO_GRAPHICS -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" +#include +#include "ezgl/color.hpp" static constexpr ezgl::color blk_BISQUE(0xFF, 0xE4, 0xC4); static constexpr ezgl::color blk_LIGHTGREY(0xD3, 0xD3, 0xD3); @@ -326,5 +324,3 @@ const std::vector block_colors{ }; #endif /* NO_GRAPHICS */ - -#endif /* DRAW_COLOR_H */ diff --git a/vpr/src/draw/draw_debug.cpp b/vpr/src/draw/draw_debug.cpp index 89566863c5e..be7f9acdc46 100644 --- a/vpr/src/draw/draw_debug.cpp +++ b/vpr/src/draw/draw_debug.cpp @@ -1,7 +1,9 @@ -#include "draw_debug.h" - #ifndef NO_GRAPHICS +#include "draw_debug.h" +#include "draw_global.h" +#include "vtr_expr_eval.h" + //keeps track of open windows to avoid reopenning windows that are alerady open struct open_windows { bool debug_window = false; diff --git a/vpr/src/draw/draw_debug.h b/vpr/src/draw/draw_debug.h index f79d7740d7b..c43bf3482cf 100644 --- a/vpr/src/draw/draw_debug.h +++ b/vpr/src/draw/draw_debug.h @@ -4,24 +4,17 @@ * This file contains all functions regarding the graphics related to the setting of place and route breakpoints. * Manages creation of new Gtk Windows with debug options on use of the "Debug" button. */ -#ifndef DRAW_DEBUG_H -#define DRAW_DEBUG_H +#pragma once #ifndef NO_GRAPHICS -#include "breakpoint.h" -#include "draw_global.h" -#include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" - -#include #include -#include #include -#include -#include -#include -#include +#include +#include +#include +#include +#include "breakpoint_state_globals.h" /** debugger functions **/ void draw_debug_window(); @@ -44,5 +37,3 @@ bool valid_expression(std::string exp); void breakpoint_info_window(std::string bpDescription, BreakpointState draw_breakpoint_state, bool in_placer); #endif /*NO_GRAPHICS*/ - -#endif /*DRAW_DEBUG_H*/ diff --git a/vpr/src/draw/draw_floorplanning.cpp b/vpr/src/draw/draw_floorplanning.cpp index e22c6446f7a..7b184baf965 100644 --- a/vpr/src/draw/draw_floorplanning.cpp +++ b/vpr/src/draw/draw_floorplanning.cpp @@ -1,20 +1,13 @@ -#include +#ifndef NO_GRAPHICS -#include "vpr_error.h" +#include #include "globals.h" #include "draw_floorplanning.h" #include "user_place_constraints.h" -#include "draw_color.h" #include "draw.h" -#include "read_xml_arch_file.h" #include "draw_global.h" -#include "intra_logic_block.h" -#include "route_export.h" -#include "tatum/report/TimingPathCollector.hpp" - -#ifndef NO_GRAPHICS //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW diff --git a/vpr/src/draw/draw_floorplanning.h b/vpr/src/draw/draw_floorplanning.h index feae6ec127c..39165a7f787 100644 --- a/vpr/src/draw/draw_floorplanning.h +++ b/vpr/src/draw/draw_floorplanning.h @@ -1,15 +1,9 @@ /** This file contains all functions regarding the graphics related to drawing floorplanning constraints. **/ -#ifndef DRAW_FLOORPLANNING_H -#define DRAW_FLOORPLANNING_H - -#include "globals.h" +#pragma once #ifndef NO_GRAPHICS -#include "draw_global.h" - -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" +#include #include "ezgl/graphics.hpp" ///@brief Iterates through all partitions described in the constraints file and highlights their respective partitions @@ -25,5 +19,3 @@ GtkWidget* setup_floorplanning_legend(GtkWidget* content_tree); void highlight_selected_partition(GtkWidget* widget); #endif /*NO_GRAPHICS*/ - -#endif /*DRAW_FLOORPLANNING_H*/ diff --git a/vpr/src/draw/draw_global.h b/vpr/src/draw/draw_global.h index e53b628cc73..1c9a12c1670 100644 --- a/vpr/src/draw/draw_global.h +++ b/vpr/src/draw/draw_global.h @@ -10,8 +10,7 @@ * Date: August 21, 2013 */ -#ifndef DRAW_GLOBAL_H -#define DRAW_GLOBAL_H +#pragma once #ifndef NO_GRAPHICS @@ -28,5 +27,3 @@ t_draw_coords* get_draw_coords_vars(); t_draw_state* get_draw_state_vars(); #endif // NO_GRAPHICS - -#endif diff --git a/vpr/src/draw/draw_mux.cpp b/vpr/src/draw/draw_mux.cpp index 7d03e2f468b..806391f42bf 100644 --- a/vpr/src/draw/draw_mux.cpp +++ b/vpr/src/draw/draw_mux.cpp @@ -1,16 +1,12 @@ /*draw_mux.cpp contains all functions that draw muxes.*/ +#ifndef NO_GRAPHICS + #include -#include #include "vtr_assert.h" -#include "vtr_color_map.h" -#include "draw_color.h" #include "draw_mux.h" -#include "read_xml_arch_file.h" - -#ifndef NO_GRAPHICS //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW diff --git a/vpr/src/draw/draw_mux.h b/vpr/src/draw/draw_mux.h index cb62427f339..0585de23e87 100644 --- a/vpr/src/draw/draw_mux.h +++ b/vpr/src/draw/draw_mux.h @@ -3,39 +3,18 @@ * * This file contains all functions related to drawing muxes */ -#ifndef DRAW_MUX_H -#define DRAW_MUX_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" - -#include "move_utils.h" - -#ifndef NO_GRAPHICS - -#include "draw_global.h" #include "ezgl/point.hpp" -#include "ezgl/application.hpp" #include "ezgl/graphics.hpp" +#include "physical_types.h" /** * @brief Draws a mux with width = height * 0.4 and scale (slope of the muxes sides) = 0.6, labelled with its size. @@ -54,4 +33,3 @@ ezgl::rectangle draw_mux(ezgl::point2d origin, e_side orientation, float height, ezgl::rectangle draw_mux(ezgl::point2d origin, e_side orientation, float height, float width, float height_scale, ezgl::renderer* g); #endif /* NO_GRAPHICS */ -#endif /* DRAW_MUX_H */ diff --git a/vpr/src/draw/draw_noc.cpp b/vpr/src/draw/draw_noc.cpp index a988d7b4d65..1ff55a1f43d 100644 --- a/vpr/src/draw/draw_noc.cpp +++ b/vpr/src/draw/draw_noc.cpp @@ -1,7 +1,9 @@ #ifndef NO_GRAPHICS +#include "draw.h" #include "draw_basic.h" +#include "draw_global.h" #include "draw_noc.h" #include "globals.h" #include "noc_storage.h" diff --git a/vpr/src/draw/draw_noc.h b/vpr/src/draw/draw_noc.h index e24ae6b1db2..2e144c8021e 100644 --- a/vpr/src/draw/draw_noc.h +++ b/vpr/src/draw/draw_noc.h @@ -21,15 +21,16 @@ * Author: Srivatsan Srinivasan */ -#ifndef DRAW_NOC_H -#define DRAW_NOC_H - -#include -#include +#pragma once #ifndef NO_GRAPHICS -#include "draw.h" +#include "ezgl/graphics.hpp" +#include "ezgl/point.hpp" +#include "noc_data_types.h" +#include "noc_router.h" +#include "physical_types.h" +#include "vtr_vector.h" // defines the area of the marker that represents connection points between links // area is equivalent to the %x of the area of the router @@ -242,5 +243,3 @@ NocLinkType determine_noc_link_type(ezgl::point2d link_start_point, ezgl::point2 void shift_noc_link(noc_link_draw_coords& link_coords, NocLinkShift link_shift_direction, NocLinkType link_type, double noc_connection_marker_quarter_width, double noc_connection_marker_quarter_height); #endif - -#endif diff --git a/vpr/src/draw/draw_rr.cpp b/vpr/src/draw/draw_rr.cpp index d9c6c71c5f3..156147c17e0 100644 --- a/vpr/src/draw/draw_rr.cpp +++ b/vpr/src/draw/draw_rr.cpp @@ -1,12 +1,12 @@ /*draw_rr.cpp contains all functions that relate to drawing routing resources.*/ +#ifndef NO_GRAPHICS + #include #include #include -#include #include "rr_graph_fwd.h" #include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" #include "vtr_color_map.h" #include "vpr_utils.h" @@ -21,10 +21,8 @@ #include "draw_triangle.h" #include "draw_searchbar.h" #include "draw_mux.h" -#include "read_xml_arch_file.h" #include "draw_global.h" - -#ifndef NO_GRAPHICS +#include "search_bar.h" //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW diff --git a/vpr/src/draw/draw_rr.h b/vpr/src/draw/draw_rr.h index 9c19f6bc951..45cc3432ea4 100644 --- a/vpr/src/draw/draw_rr.h +++ b/vpr/src/draw/draw_rr.h @@ -4,48 +4,19 @@ * draw_rr.cpp contains all functions that relate to drawing routing resources. */ -#ifndef DRAW_RR_H -#define DRAW_RR_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" -#include "move_utils.h" +#include "rr_graph_fwd.h" +#include "rr_node.h" -#ifndef NO_GRAPHICS - -#include "draw_global.h" - -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" #include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" - -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" -#include "buttons.h" /* Draws the routing resources that exist in the FPGA, if the user wants * * them drawn. */ @@ -104,4 +75,3 @@ void draw_get_rr_pin_coords(const t_rr_node& node, float* xcen, float* ycen, con */ int get_rr_node_transparency(RRNodeId rr_node); #endif /* NO_GRAPHICS */ -#endif /* DRAW_RR_H */ diff --git a/vpr/src/draw/draw_rr_edges.cpp b/vpr/src/draw/draw_rr_edges.cpp index 2aff5c3d35c..85deffe7652 100644 --- a/vpr/src/draw/draw_rr_edges.cpp +++ b/vpr/src/draw/draw_rr_edges.cpp @@ -1,4 +1,6 @@ /*draw_rr_edges.cpp contains all functions that draw lines between RR nodes.*/ +#ifndef NO_GRAPHICS + #include #include "physical_types_util.h" @@ -15,8 +17,6 @@ #include "draw_global.h" #include "draw_basic.h" -#ifndef NO_GRAPHICS - //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW #if defined(X11) && !defined(__MINGW32__) diff --git a/vpr/src/draw/draw_rr_edges.h b/vpr/src/draw/draw_rr_edges.h index 8ea7a383dcb..f80bb1a1785 100644 --- a/vpr/src/draw/draw_rr_edges.h +++ b/vpr/src/draw/draw_rr_edges.h @@ -4,48 +4,19 @@ * draw_rr_edges.cpp contains all functions that draw lines between RR nodes. */ -#ifndef DRAW_X_TO_Y_H -#define DRAW_X_TO_Y_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" -#include "move_utils.h" +#include "draw_types.h" +#include "rr_graph_fwd.h" -#ifndef NO_GRAPHICS - -#include "draw_global.h" - -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" #include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" - -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" -#include "buttons.h" void draw_chany_to_chany_edge(RRNodeId from_node, RRNodeId to_node, short switch_type, ezgl::renderer* g); void draw_chanx_to_chanx_edge(RRNodeId from_node, RRNodeId to_node, short switch_type, ezgl::renderer* g); @@ -56,4 +27,3 @@ void draw_source_to_pin(RRNodeId source_node, RRNodeId opin_node, ezgl::renderer void draw_pin_to_chan_edge(RRNodeId pin_node, RRNodeId chan_node, ezgl::renderer* g); #endif /* NO_GRAPHICS */ -#endif /* DRAW_X_TO_Y_H */ diff --git a/vpr/src/draw/draw_searchbar.cpp b/vpr/src/draw/draw_searchbar.cpp index 28f174a50dd..9f8e713f733 100644 --- a/vpr/src/draw/draw_searchbar.cpp +++ b/vpr/src/draw/draw_searchbar.cpp @@ -1,4 +1,6 @@ /*draw_searchbar.cpp contains all functions related to searchbar actions.*/ +#ifndef NO_GRAPHICS + #include #include "netlist_fwd.h" @@ -14,8 +16,6 @@ #include "draw_global.h" #include "intra_logic_block.h" -#ifndef NO_GRAPHICS - //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW #if defined(X11) && !defined(__MINGW32__) diff --git a/vpr/src/draw/draw_searchbar.h b/vpr/src/draw/draw_searchbar.h index 25a135be153..5f67e8498fb 100644 --- a/vpr/src/draw/draw_searchbar.h +++ b/vpr/src/draw/draw_searchbar.h @@ -5,48 +5,19 @@ * and manages the selection/highlighting of currently selected options. */ -#ifndef DRAW_SEARCHBAR_H -#define DRAW_SEARCHBAR_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" - -#include "move_utils.h" - -#ifndef NO_GRAPHICS - -#include "draw_global.h" - -#include "ezgl/point.hpp" -#include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" -#include "buttons.h" +#include "clustered_netlist_fwd.h" +#include "ezgl/rectangle.hpp" +#include "physical_types.h" +#include "rr_graph_fwd.h" /* This function computes and returns the boundary coordinates of a channel * wire segment. This can be used for drawing a wire or determining if a @@ -75,4 +46,3 @@ std::set draw_expand_non_configurable_rr_nodes(RRNodeId hit_node); void deselect_all(); #endif /* NO_GRAPHICS */ -#endif /* DRAW_SEARCHBAR_H */ diff --git a/vpr/src/draw/draw_toggle_functions.cpp b/vpr/src/draw/draw_toggle_functions.cpp index ddd518cf4a5..6858c54fea2 100644 --- a/vpr/src/draw/draw_toggle_functions.cpp +++ b/vpr/src/draw/draw_toggle_functions.cpp @@ -1,21 +1,17 @@ +#ifndef NO_GRAPHICS + #include -#include -#include -#include "vpr_utils.h" #include "vpr_error.h" #include "globals.h" -#include "draw_color.h" #include "draw.h" #include "draw_toggle_functions.h" #include "draw_global.h" #include "draw_basic.h" -#ifndef NO_GRAPHICS - //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW #if defined(X11) && !defined(__MINGW32__) diff --git a/vpr/src/draw/draw_toggle_functions.h b/vpr/src/draw/draw_toggle_functions.h index e6c9114900e..baae91f1f91 100644 --- a/vpr/src/draw/draw_toggle_functions.h +++ b/vpr/src/draw/draw_toggle_functions.h @@ -10,48 +10,16 @@ * Author: Sebastian Lievano */ -#ifndef DRAW_TOGGLE_FUNCTIONS_H -#define DRAW_TOGGLE_FUNCTIONS_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" -#include "move_utils.h" - -#ifndef NO_GRAPHICS - -#include "draw_global.h" - -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" - -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" -#include "buttons.h" /* Callback function for main.ui created toggle_nets button in ui_setup.cpp. Controls whether or not nets are visualized. * Toggles value of draw_state->show_nets.*/ @@ -160,4 +128,3 @@ void cross_layer_checkbox_cbk(GtkWidget* widget, gint /*response_id*/, gpointer */ void cross_layer_transparency_cbk(GtkWidget* widget, gint /*response_id*/, gpointer /*data*/); #endif /* NO_GRAPHICS */ -#endif /* DRAW_TOGGLE_FUNCTIONS_H */ diff --git a/vpr/src/draw/draw_triangle.cpp b/vpr/src/draw/draw_triangle.cpp index 83ccd1af7f1..a102ca289de 100644 --- a/vpr/src/draw/draw_triangle.cpp +++ b/vpr/src/draw/draw_triangle.cpp @@ -1,13 +1,12 @@ +#ifndef NO_GRAPHICS + #include #include "vtr_assert.h" -#include "vtr_color_map.h" -#include "draw_color.h" #include "draw_triangle.h" -#include "draw_global.h" -#ifndef NO_GRAPHICS +#include "ezgl/graphics.hpp" //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW diff --git a/vpr/src/draw/draw_triangle.h b/vpr/src/draw/draw_triangle.h index 9c0116f0c5a..051debd56d8 100644 --- a/vpr/src/draw/draw_triangle.h +++ b/vpr/src/draw/draw_triangle.h @@ -5,48 +5,19 @@ * direction of signals, flylines */ -#ifndef DRAW_TRIANGLE_H -#define DRAW_TRIANGLE_H +#pragma once + +#ifndef NO_GRAPHICS #include #include #include #include -#include -#include -#include -#include - -#include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" -#include "vtr_log.h" -#include "vtr_color_map.h" -#include "vtr_path.h" - -#include "vpr_utils.h" -#include "vpr_error.h" - -#include "globals.h" - -#include "move_utils.h" - -#ifndef NO_GRAPHICS #include "draw_global.h" #include "ezgl/point.hpp" -#include "ezgl/application.hpp" #include "ezgl/graphics.hpp" -#include "draw_color.h" -#include "search_bar.h" -#include "draw_debug.h" -#include "manual_moves.h" - -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" -#include "buttons.h" /** * Retrieves the current zoom level based on the visible world and screen dimensions. @@ -83,4 +54,3 @@ void draw_triangle_along_line(ezgl::renderer* g, ezgl::point2d loc, ezgl::point2 void draw_triangle_along_line(ezgl::renderer* g, float xend, float yend, float x1, float x2, float y1, float y2, float arrow_size = DEFAULT_ARROW_SIZE); #endif /* NO_GRAPHICS */ -#endif /* DRAW_TRIANGLE_H */ diff --git a/vpr/src/draw/draw_types.h b/vpr/src/draw/draw_types.h index 8d96ceaf732..9ff713756fb 100644 --- a/vpr/src/draw/draw_types.h +++ b/vpr/src/draw/draw_types.h @@ -15,14 +15,12 @@ * Author: Long Yu (Mike) Wang, Sebastian Lievano */ -#ifndef DRAW_TYPES_H -#define DRAW_TYPES_H +#pragma once #ifndef NO_GRAPHICS #include #include -#include "clustered_netlist.h" #include "timing_info_fwd.h" #include "vtr_util.h" #include "vpr_types.h" @@ -31,7 +29,6 @@ #include "breakpoint.h" #include "manual_moves.h" -#include "ezgl/point.hpp" #include "ezgl/rectangle.hpp" #include "ezgl/color.hpp" @@ -457,5 +454,3 @@ struct t_draw_coords { }; #endif // NO_GRAPHICS - -#endif diff --git a/vpr/src/draw/gtkcomboboxhelper.h b/vpr/src/draw/gtkcomboboxhelper.h index f7b2c2aa637..d950ca91766 100644 --- a/vpr/src/draw/gtkcomboboxhelper.h +++ b/vpr/src/draw/gtkcomboboxhelper.h @@ -1,5 +1,4 @@ -#ifndef GTKCOMBOBOXHELPER_H -#define GTKCOMBOBOXHELPER_H +#pragma once #ifndef NO_GRAPHICS @@ -18,5 +17,3 @@ gint get_item_index_by_text(gpointer combo_box, const gchar* target_item); #endif // NO_GRAPHICS - -#endif // GTKCOMBOBOXHELPER_H diff --git a/vpr/src/draw/hsl.h b/vpr/src/draw/hsl.h index 589266bc6e4..57c5c14bd6d 100644 --- a/vpr/src/draw/hsl.h +++ b/vpr/src/draw/hsl.h @@ -4,8 +4,7 @@ * This file manages conversions between color (red, green, and blue) and hsl (hue, saturation, and luminesence) */ -#ifndef HSL_H -#define HSL_H +#pragma once #ifndef NO_GRAPHICS @@ -22,5 +21,3 @@ hsl color2hsl(ezgl::color in); ezgl::color hsl2color(hsl in); #endif /* NO_GRAPHICS */ - -#endif diff --git a/vpr/src/draw/intra_logic_block.cpp b/vpr/src/draw/intra_logic_block.cpp index 48993eaf8a7..d30bded969b 100644 --- a/vpr/src/draw/intra_logic_block.cpp +++ b/vpr/src/draw/intra_logic_block.cpp @@ -25,7 +25,6 @@ #include #include "vtr_assert.h" -#include "vtr_memory.h" #include "intra_logic_block.h" #include "globals.h" @@ -34,7 +33,6 @@ #include "draw_global.h" #include "draw.h" #include "draw_triangle.h" -#include "draw_color.h" /************************* Subroutines local to this file. *******************************/ diff --git a/vpr/src/draw/intra_logic_block.h b/vpr/src/draw/intra_logic_block.h index 7ad0bf9bba5..331c747aecf 100644 --- a/vpr/src/draw/intra_logic_block.h +++ b/vpr/src/draw/intra_logic_block.h @@ -15,22 +15,16 @@ * Date: May,June 2014 */ -#ifndef INTRA_LOGIC_BLOCK_H -#define INTRA_LOGIC_BLOCK_H +#pragma once #ifndef NO_GRAPHICS #include "vpr_types.h" -#include "draw_types.h" #include "atom_netlist_fwd.h" #include #include "ezgl/point.hpp" - -#ifndef NO_GRAPHICS #include "ezgl/graphics.hpp" -#include "ezgl/application.hpp" -#endif /* NO_GRAPHICS */ struct t_selected_sub_block_info { struct clb_pin_tuple { @@ -112,9 +106,7 @@ void draw_internal_init_blk(); /* Top-level drawing routine for internal sub-blocks. The function traverses through all * grid tiles and calls helper function to draw inside each block. */ -#ifndef NO_GRAPHICS void draw_internal_draw_subblk(ezgl::renderer* g); -#endif /* NO_GRAPHICS */ /* Determines which part of a block to highlight, and stores it, * so that the other subblock drawing functions will obey it. @@ -141,5 +133,3 @@ void find_pin_index_at_model_scope(const AtomPinId the_pin, const AtomBlockId lb t_pb* find_atom_block_in_pb(const std::string& name, t_pb* pb); #endif /* NO_GRAPHICS */ - -#endif /* INTRA_LOGIC_BLOCK_H */ diff --git a/vpr/src/draw/manual_moves.cpp b/vpr/src/draw/manual_moves.cpp index 972b2a36bd7..2377feca006 100644 --- a/vpr/src/draw/manual_moves.cpp +++ b/vpr/src/draw/manual_moves.cpp @@ -12,15 +12,17 @@ * if the manual move toggle button in the UI is active or not, and calls the function needed. */ +#ifndef NO_GRAPHICS + #include "manual_moves.h" +#include "draw_debug.h" #include "globals.h" #include "draw.h" +#include "draw_global.h" #include "draw_searchbar.h" #include "buttons.h" #include "physical_types_util.h" -#ifndef NO_GRAPHICS - void draw_manual_moves_window(const std::string& block_id) { t_draw_state* draw_state = get_draw_state_vars(); diff --git a/vpr/src/draw/manual_moves.h b/vpr/src/draw/manual_moves.h index e5c152275d4..ecc2b504b38 100644 --- a/vpr/src/draw/manual_moves.h +++ b/vpr/src/draw/manual_moves.h @@ -7,14 +7,11 @@ * Author: Paula Perdomo */ -#ifndef MANUAL_MOVES_H -#define MANUAL_MOVES_H +#pragma once /** This file contains all functions for manual moves **/ #ifndef NO_GRAPHICS -#include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" #include "manual_move_generator.h" #include "move_utils.h" @@ -22,8 +19,7 @@ #include #include #include -#include -#include +#include /** * @brief ManualMovesInfo struct @@ -70,7 +66,6 @@ struct ManualMovesInfo { * user_highlighted_block: Stores whether user highlighted block in UI instead of entering the block ID manually. * manual_move_window: GtkWindow for the manual move. In this window the user inputs the block ID and to position of the block to move. */ - struct ManualMovesState { ManualMovesInfo manual_move_info; bool manual_move_window_is_open = false; @@ -164,5 +159,3 @@ e_create_move manual_move_display_and_propose(ManualMoveGenerator& manual_move_g const PlacerCriticalities* criticalities); #endif /*NO_GRAPHICS*/ - -#endif /* MANUAL_MOVES_H */ diff --git a/vpr/src/draw/save_graphics.h b/vpr/src/draw/save_graphics.h index f9a6ec2fbb1..a034fd3534d 100644 --- a/vpr/src/draw/save_graphics.h +++ b/vpr/src/draw/save_graphics.h @@ -4,21 +4,15 @@ * Manages saving of graphics in different file formats */ -#ifndef SAVE_GRAPHICS_H -#define SAVE_GRAPHICS_H +#pragma once #ifndef NO_GRAPHICS -#include "draw_global.h" - -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" +#include void save_graphics(std::string extension, std::string file_name); void save_graphics_dialog_box(GtkWidget* /*widget*/, ezgl::application* /*app*/); void save_graphics_from_button(GtkWidget* /*widget*/, gint response_id, gpointer data); #endif /* NO_GRAPHICS */ - -#endif /* SAVE_GRAPHICS_H */ diff --git a/vpr/src/draw/search_bar.cpp b/vpr/src/draw/search_bar.cpp index 46261da44d5..0f06e8cc49e 100644 --- a/vpr/src/draw/search_bar.cpp +++ b/vpr/src/draw/search_bar.cpp @@ -13,34 +13,25 @@ * */ -#include "physical_types.h" #ifndef NO_GRAPHICS #include #include #include "vtr_assert.h" -#include "vtr_ndoffsetmatrix.h" -#include "vtr_memory.h" #include "vtr_log.h" -#include "vtr_color_map.h" #include "vpr_utils.h" -#include "vpr_error.h" #include "globals.h" -#include "draw_color.h" #include "draw.h" -#include "draw_basic.h" #include "draw_rr.h" #include "draw_searchbar.h" -#include "read_xml_arch_file.h" #include "draw_global.h" #include "intra_logic_block.h" #include "atom_netlist.h" -#include "tatum/report/TimingPathCollector.hpp" -#include "hsl.h" -#include "route_export.h" #include "search_bar.h" +#include "physical_types.h" +#include "place_macro.h" //To process key presses we need the X11 keysym definitions, //which are unavailable when building with MINGW @@ -48,10 +39,6 @@ #include #endif -#include "rr_graph.h" -#include "route_utilization.h" -#include "place_macro.h" - extern std::string rr_highlight_message; void search_and_highlight(GtkWidget* /*widget*/, ezgl::application* app) { diff --git a/vpr/src/draw/search_bar.h b/vpr/src/draw/search_bar.h index 5aafd49435d..34dab6c313f 100644 --- a/vpr/src/draw/search_bar.h +++ b/vpr/src/draw/search_bar.h @@ -7,17 +7,15 @@ * Author: Sebastian Lievano */ -#ifndef SEARCH_BAR_H -#define SEARCH_BAR_H +#pragma once #ifndef NO_GRAPHICS -#include "draw_global.h" +#include "atom_netlist_fwd.h" +#include "clustered_netlist_fwd.h" +#include "rr_graph_fwd.h" -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" -#include "draw_color.h" void search_and_highlight(GtkWidget* /*widget*/, ezgl::application* app); bool highlight_rr_nodes(RRNodeId hit_node); @@ -51,6 +49,5 @@ GdkEvent simulate_keypress(char key, GdkWindow* window); //Returns current search type std::string get_search_type(ezgl::application* app); -#endif /* NO_GRAPHICS */ -#endif /* SEARCH_BAR_H */ +#endif /* NO_GRAPHICS */ diff --git a/vpr/src/draw/ui_setup.cpp b/vpr/src/draw/ui_setup.cpp index d62d8210e63..d03bb717279 100644 --- a/vpr/src/draw/ui_setup.cpp +++ b/vpr/src/draw/ui_setup.cpp @@ -1,4 +1,3 @@ -#ifndef NO_GRAPHICS /** * @file UI_SETUP.CPP * @author Sebastian Lievano @@ -10,18 +9,18 @@ * Each function here initializes a different set of ui buttons, connecting their callback functions */ -#include "draw_global.h" +#ifndef NO_GRAPHICS + +#include "clustered_netlist.h" #include "draw.h" +#include "draw_global.h" #include "draw_toggle_functions.h" -#include "buttons.h" -#include "intra_logic_block.h" -#include "clustered_netlist.h" -#include "ui_setup.h" #include "save_graphics.h" +#include "search_bar.h" +#include "ui_setup.h" -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" + void basic_button_setup(ezgl::application* app) { //button to enter window_mode, created in main.ui GtkButton* window = (GtkButton*)app->get_object("Window"); diff --git a/vpr/src/draw/ui_setup.h b/vpr/src/draw/ui_setup.h index 3b543adb493..a7d396ea5ef 100644 --- a/vpr/src/draw/ui_setup.h +++ b/vpr/src/draw/ui_setup.h @@ -9,16 +9,13 @@ * Author: Sebastian Lievano */ -#ifndef UISETUP_H -#define UISETUP_H +#pragma once #ifndef NO_GRAPHICS -#include "draw_global.h" - -#include "ezgl/point.hpp" #include "ezgl/application.hpp" -#include "ezgl/graphics.hpp" + +#include /** * @brief configures basic buttons @@ -100,5 +97,3 @@ void hide_widget(std::string widgetName, ezgl::application* app); void show_widget(std::string widgetName, ezgl::application* app); #endif /* NO_GRAPHICS */ - -#endif /* UISETUP_H */ diff --git a/vpr/src/place/annealer.cpp b/vpr/src/place/annealer.cpp index 949dfe5b4c1..6183fceec61 100644 --- a/vpr/src/place/annealer.cpp +++ b/vpr/src/place/annealer.cpp @@ -5,7 +5,6 @@ #include #include "globals.h" -#include "draw_global.h" #include "place_macro.h" #include "vpr_types.h" #include "place_util.h" @@ -19,6 +18,11 @@ #include "RL_agent_util.h" #include "PlacerSetupSlacks.h" #include "PlacerCriticalities.h" +#include "vtr_expr_eval.h" + +#ifndef NO_GRAPHICS +#include "draw_global.h" +#endif // NO_GRAPHICS /**************************************************************************/ /*************** Static Function Declarations *****************************/ diff --git a/vpr/src/place/move_generators/manual_move_generator.cpp b/vpr/src/place/move_generators/manual_move_generator.cpp index cebbe8e8dd6..a4e67644774 100644 --- a/vpr/src/place/move_generators/manual_move_generator.cpp +++ b/vpr/src/place/move_generators/manual_move_generator.cpp @@ -17,7 +17,7 @@ #include "placer_state.h" #ifndef NO_GRAPHICS -#include "draw.h" +#include "draw_global.h" #endif //NO_GRAPHICS ManualMoveGenerator::ManualMoveGenerator(PlacerState& placer_state, diff --git a/vpr/src/place/placer.cpp b/vpr/src/place/placer.cpp index b2ea7078e95..5f9a10dcdc4 100644 --- a/vpr/src/place/placer.cpp +++ b/vpr/src/place/placer.cpp @@ -21,6 +21,10 @@ #include "place_checkpoint.h" #include "tatum/echo_writer.hpp" +#ifndef NO_GRAPHICS +#include "draw_global.h" +#endif // NO_GRAPHICS + Placer::Placer(const Netlist<>& net_list, std::optional> init_place, const t_placer_opts& placer_opts, diff --git a/vpr/src/route/route_utils.cpp b/vpr/src/route/route_utils.cpp index 1fe21dbffcb..2a8cfa60c83 100644 --- a/vpr/src/route/route_utils.cpp +++ b/vpr/src/route/route_utils.cpp @@ -3,10 +3,6 @@ #include "route_utils.h" #include "connection_based_routing.h" -#include "draw.h" -#include "draw_debug.h" -#include "draw_global.h" -#include "draw_types.h" #include "net_delay.h" #include "netlist_fwd.h" #include "overuse_report.h" @@ -21,6 +17,14 @@ #include "tatum/TimingReporter.hpp" #include "stats.h" +#ifndef NO_GRAPHICS +#include "draw.h" +#include "draw_debug.h" +#include "draw_global.h" +#include "draw_types.h" +#include "vtr_expr_eval.h" +#endif // NO_GRAPHICS + bool check_net_delays(const Netlist<>& net_list, NetPinsMatrix& net_delay) { constexpr float ERROR_TOL = 0.0001;