All path groups (#215)

* All path groups

* Fixes

* Use c++17 iteration
This commit is contained in:
Akash Levy 2025-02-12 10:40:43 -08:00 committed by GitHub
parent 20178bc924
commit e7e80ca6c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 30 additions and 0 deletions

View File

@ -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).

View File

@ -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)

2
test/path_group_names.ok Normal file
View File

@ -0,0 +1,2 @@
Initial path groups:
Final path groups: In2Out In2Reg Reg2Out Reg2Reg

14
test/path_group_names.tcl Normal file
View File

@ -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]"

View File

@ -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