diff --git a/doc/ChangeLog.txt b/doc/ChangeLog.txt index b7524039..3f32f0bc 100644 --- a/doc/ChangeLog.txt +++ b/doc/ChangeLog.txt @@ -11,6 +11,9 @@ The Cudd BBD packager is now required. The USE_TCL_READLINE option defaults to ON. +The variable link_make_black_boxes has been removed. +Use the -no_black_boxes option to the link_design command. + Release 2.5.0 2024/01/17 ------------------------- diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index bf5937f5..f84e59d4 100644 Binary files a/doc/OpenSTA.odt and b/doc/OpenSTA.odt differ diff --git a/doc/OpenSTA.pdf b/doc/OpenSTA.pdf index 655f1682..26031ffc 100644 Binary files a/doc/OpenSTA.pdf and b/doc/OpenSTA.pdf differ diff --git a/include/sta/Sta.hh b/include/sta/Sta.hh index be39820b..52c2ef2d 100644 --- a/include/sta/Sta.hh +++ b/include/sta/Sta.hh @@ -116,9 +116,8 @@ public: // linked network. void readNetlistBefore(); // Return true if successful. - bool linkDesign(const char *top_cell_name); - bool linkMakeBlackBoxes() const; - void setLinkMakeBlackBoxes(bool make); + bool linkDesign(const char *top_cell_name, + bool make_black_boxes); // SDC Swig API. Instance *currentInstance() const; @@ -1452,7 +1451,6 @@ protected: ReportPath *report_path_; Power *power_; Tcl_Interp *tcl_interp_; - bool link_make_black_boxes_; bool update_genclks_; EquivCells *equiv_cells_; bool graph_sdc_annotated_; diff --git a/network/Network.i b/network/Network.i index 0953300e..8ccc7a7a 100644 --- a/network/Network.i +++ b/network/Network.i @@ -253,21 +253,10 @@ set_cmd_namespace_cmd(const char *namespc) } bool -link_design_cmd(const char *top_cell_name) +link_design_cmd(const char *top_cell_name, + bool make_black_boxes) { - return Sta::sta()->linkDesign(top_cell_name); -} - -bool -link_make_black_boxes() -{ - return Sta::sta()->linkMakeBlackBoxes(); -} - -void -set_link_make_black_boxes(bool make) -{ - Sta::sta()->setLinkMakeBlackBoxes(make); + return Sta::sta()->linkDesign(top_cell_name, make_black_boxes); } Instance * diff --git a/search/Sta.cc b/search/Sta.cc index 79325f65..06a7429f 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -268,7 +268,6 @@ Sta::Sta() : clk_skews_(nullptr), report_path_(nullptr), power_(nullptr), - link_make_black_boxes_(true), update_genclks_(false), equiv_cells_(nullptr), graph_sdc_annotated_(false), @@ -735,29 +734,18 @@ Sta::readNetlistBefore() } bool -Sta::linkDesign(const char *top_cell_name) +Sta::linkDesign(const char *top_cell_name, + bool make_black_boxes) { clear(); Stats stats(debug_, report_); bool status = network_->linkNetwork(top_cell_name, - link_make_black_boxes_, + make_black_boxes, report_); stats.report("Link"); return status; } -bool -Sta::linkMakeBlackBoxes() const -{ - return link_make_black_boxes_; -} - -void -Sta::setLinkMakeBlackBoxes(bool make) -{ - link_make_black_boxes_ = make; -} - //////////////////////////////////////////////////////////////// void diff --git a/tcl/Link.tcl b/tcl/Link.tcl index 39912ddf..a278c710 100644 --- a/tcl/Link.tcl +++ b/tcl/Link.tcl @@ -18,11 +18,13 @@ namespace eval sta { -define_cmd_args "link_design" {[top_cell_name]} +define_cmd_args "link_design" {[-no_black_boxes]\ + [top_cell_name]} proc_redirect link_design { variable current_design_name + parse_key_args "link_design" args keys {} flags {-no_black_boxes} check_argc_eq0or1 "link_design" $args if { $args == "" } { set top_cell_name "" @@ -37,7 +39,11 @@ proc_redirect link_design { set top_cell_name $current_design_name } } - link_design_cmd $top_cell_name + set make_black_boxes 1 + if { [info exists flags(-no_black_boxes)] } { + set make_black_boxes 0 + } + link_design_cmd $top_cell_name $make_black_boxes } # sta namespace end diff --git a/tcl/Variables.tcl b/tcl/Variables.tcl index 0d054dbf..01e45d0e 100644 --- a/tcl/Variables.tcl +++ b/tcl/Variables.tcl @@ -22,14 +22,6 @@ namespace eval sta { # ################################################################ -trace variable ::link_make_black_boxes "rw" \ - sta::trace_link_make_black_boxes - -proc trace_link_make_black_boxes { name1 name2 op } { - trace_boolean_var $op ::link_make_black_boxes \ - link_make_black_boxes set_link_make_black_boxes -} - # Default digits to print after decimal point for reporting commands. set ::sta_report_default_digits 2