diff --git a/README.md b/README.md index e098e5bf..4aea9416 100644 --- a/README.md +++ b/README.md @@ -210,11 +210,13 @@ Use Homebrew to install them. Set these variables before using cmake to cirumvent the Xcode versions. +``` # flex/bison override apple version export PATH="$(brew --prefix bison)/bin:${PATH}" export PATH="$(brew --prefix flex)/bin:${PATH}" export CMAKE_INCLUDE_PATH="$(brew --prefix flex)/include" export CMAKE_LIBRARY_PATH="$(brew --prefix flex)/lib;$(brew --prefix bison)/lib" +``` Homebrew does not support tclreadline, but the macports system does (see https://www.macports.org). diff --git a/sdc/Sdc.i b/sdc/Sdc.i index c03a8165..4291dcb4 100644 --- a/sdc/Sdc.i +++ b/sdc/Sdc.i @@ -1323,6 +1323,17 @@ filter_timing_arcs(const char *property, //////////////////////////////////////////////////////////////// +StringSeq +path_group_names() +{ + StringSeq pg_names; + for (auto const& [name, group] : Sta::sta()->sdc()->groupPaths()) + pg_names.push_back(name); + return pg_names; +} + +//////////////////////////////////////////////////////////////// + void set_voltage_global(const MinMax *min_max, float voltage) diff --git a/test/path_group_names.ok b/test/path_group_names.ok new file mode 100644 index 00000000..6209a2fc --- /dev/null +++ b/test/path_group_names.ok @@ -0,0 +1,2 @@ +Initial path groups: +Final path groups: In2Out In2Reg Reg2Out Reg2Reg diff --git a/test/path_group_names.tcl b/test/path_group_names.tcl new file mode 100644 index 00000000..40fefb27 --- /dev/null +++ b/test/path_group_names.tcl @@ -0,0 +1,14 @@ +# path_group_names + +read_liberty asap7_small.lib.gz +read_verilog reg1_asap7.v +link_design top +create_clock -name clk -period 500 {clk1 clk2 clk3} +set_input_delay -clock clk 0 [all_inputs -no_clocks] +set_output_delay -clock clk 0 [all_outputs] +puts "Initial path groups: [sta::path_group_names]" +group_path -name In2Reg -from [all_inputs] -to [all_registers -data_pins] +group_path -name In2Out -from [all_inputs] -to [all_outputs] +group_path -name Reg2Out -from [all_registers -clock_pins] -to [all_outputs] +group_path -name Reg2Reg -from [all_registers -clock_pins] -to [all_registers -data_pins] +puts "Final path groups: [sta::path_group_names]" diff --git a/test/regression_vars.tcl b/test/regression_vars.tcl index 2d8ccbe1..5818e4c2 100644 --- a/test/regression_vars.tcl +++ b/test/regression_vars.tcl @@ -147,6 +147,7 @@ record_sta_tests { liberty_arcs_one2one_2 liberty_ccsn liberty_latch3 + path_group_names prima3 report_checks_src_attr report_json1