Skip to content

Commit 4966240

Browse files
committed
Merge remote-tracking branch 'parallax/master'
2 parents 9c9b565 + 128ea3c commit 4966240

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+571
-258
lines changed

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -247,22 +247,20 @@ should be a short description of the problem. Attach a test case to
247247
reproduce the issue as described below. Issues without test cases are
248248
unlikely to get a response.
249249

250-
The files in the test case should be collected into a directory named
251-
YYYYMMDD where YYYY is the year, MM is the month, and DD is the
252-
day (this format allows "ls" to report them in chronological order).
253-
The contents of the directory should be collected into a compressed
254-
tarfile named YYYYMMDD.tgz.
255-
256250
The test case should have a tcl command file recreates the issue named
257-
run.tcl. If there are more than one command file using the same data
251+
run.tcl. If is are more than one command file using the same data
258252
files, there should be separate command files, run1.tcl, run2.tcl
259253
etc. The bug report can refer to these command files by name.
260254

261255
Command files should not have absolute filenames like
262-
"/home/cho/OpenSTA_Request/write_path_spice/dump_spice" in them.
256+
"/home/john/OpenSTA_bug/write_path_spice/dump_spice" in them.
263257
These obviously are not portable. Use filenames relative to the test
264258
case directory.
265259

260+
The files in the test case should be collected into a directory.
261+
The contents of the directory should be collected into a compressed
262+
tarfile.
263+
266264
## Contributions
267265

268266
Contributors must sign the Contributor License Agreement (doc/CLA.txt)

cmake/FindTCL.cmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ set(TCL_POSSIBLE_NAMES
3131
# tcl lib path guesses.
3232
if (NOT TCL_LIB_PATHS)
3333
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
34-
set(TCL_LIB_PATHS /opt/homebrew/Cellar/tcl-tk@8/8.6.16/lib /opt/homebrew/opt/tcl-tk/lib /usr/local/lib)
34+
set(TCL_LIB_PATHS
35+
/opt/homebrew/Cellar/tcl-tk@8/8.6.17/lib
36+
/opt/homebrew/Cellar/tcl-tk@8/8.6.16/lib
37+
/opt/homebrew/opt/tcl-tk/lib /usr/local/lib)
3538
set(TCL_NO_DEFAULT_PATH TRUE)
3639
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
3740
set(TCL_LIB_PATHS /usr/lib /usr/lib64 /usr/local/lib)

dcalc/GraphDelayCalc.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,19 @@ GraphDelayCalc::delayInvalid(Vertex *vertex)
184184
}
185185
}
186186

187+
void
188+
GraphDelayCalc::levelsChangedBefore()
189+
{
190+
delaysInvalid();
191+
}
192+
193+
void
194+
GraphDelayCalc::levelChangedBefore(Vertex *vertex)
195+
{
196+
iter_->remove(vertex);
197+
delayInvalid(vertex);
198+
}
199+
187200
void
188201
GraphDelayCalc::deleteVertexBefore(Vertex *vertex)
189202
{

doc/ApiChanges.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ The following classes now return const objects.
5353
Liberty PgPorts are now LibertyPorts with additional member functions for
5454
liberty pg_pins.
5555

56+
The write_verilog command always sorts the verilog file instances.
57+
The -sort argument is ignored.
58+
5659
Release 2.6.1 2025/03/??
5760
-------------------------
5861

doc/OpenSTA.fodt

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13772,18 +13772,9 @@
1377213772
<text:p text:style-name="P29"><text:alphabetical-index-mark-start text:id="IMark53760024032"/><text:span text:style-name="Command_20_Heading">write_verilog</text:span><text:alphabetical-index-mark-end text:id="IMark53760024032"/></text:p>
1377313773
</table:table-cell>
1377413774
<table:table-cell table:style-name="Table109.A1" office:value-type="string">
13775-
<text:p text:style-name="P264">[-sort<text:span text:style-name="T22">]</text:span></text:p>
1377613775
<text:p text:style-name="P264"><text:span text:style-name="T22">[-include_pwr_gnd]</text:span><text:line-break/>[-remove_cells <text:span text:style-name="T1">lib_cells</text:span><text:span text:style-name="T22">]</text:span><text:line-break/><text:span text:style-name="T1">filename</text:span></text:p>
1377713776
</table:table-cell>
1377813777
</table:table-row>
13779-
<table:table-row table:style-name="Table109.1">
13780-
<table:table-cell table:style-name="Table109.A2" office:value-type="string">
13781-
<text:p text:style-name="P265"><text:span text:style-name="Command_20_Argument"><text:span text:style-name="T317">-sort</text:span></text:span></text:p>
13782-
</table:table-cell>
13783-
<table:table-cell table:style-name="Table109.A2" office:value-type="string">
13784-
<text:p text:style-name="P29"><text:span text:style-name="Default_20_Paragraph_20_Font">Sort the instances in the netlist.</text:span></text:p>
13785-
</table:table-cell>
13786-
</table:table-row>
1378713778
<table:table-row table:style-name="Table109.1">
1378813779
<table:table-cell table:style-name="Table109.A2" office:value-type="string">
1378913780
<text:p text:style-name="P288">-include_pwr_gnd</text:p>
@@ -13809,7 +13800,7 @@
1380913800
</table:table-cell>
1381013801
</table:table-row>
1381113802
</table:table>
13812-
<text:p text:style-name="P290">The <text:span text:style-name="T7">write_verilog</text:span> command writes a Verilog netlist to <text:span text:style-name="T3">filename</text:span>. Use <text:span text:style-name="T317">-sort</text:span> to sort the instances so the results are reproducible across operating systems. Use <text:span text:style-name="T7">-remove_cells</text:span> to remove instances of <text:span text:style-name="T3">lib_cells</text:span> from the netlist.</text:p>
13803+
<text:p text:style-name="P290">The <text:span text:style-name="T7">write_verilog</text:span> command writes a Verilog netlist to <text:span text:style-name="T3">filename</text:span>. Instances are always sorted so the results are reproducible across operating systems. Use <text:span text:style-name="T7">-remove_cells</text:span> to remove instances of <text:span text:style-name="T3">lib_cells</text:span> from the netlist.</text:p>
1381313804
<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="__RefHeading___Toc42589_2528141652"/><text:alphabetical-index-mark-start text:id="IMark53760024032"/>Filter Expressions<text:bookmark-end text:name="__RefHeading___Toc42589_2528141652"/><text:alphabetical-index-mark-end text:id="IMark53760024032"/></text:h>
1381413805
<text:p text:style-name="P291">The <text:span text:style-name="Example">get_cells</text:span>, <text:span text:style-name="Example">get_pins</text:span>, <text:span text:style-name="Example">get_ports</text:span> and <text:span text:style-name="Example">get_timing_edges</text:span> functions support filtering the returned objects by property values. Supported filter expressions are shown below.</text:p>
1381513806
<table:table table:name="Table66" table:style-name="Table66">

include/sta/Bfs.hh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ protected:
106106
virtual void incrLevel(Level &level) const = 0;
107107
void findNext(Level to_level);
108108
void deleteEntries();
109+
void checkLevel(Vertex *vertex,
110+
Level level);
109111

110112
BfsIndex bfs_index_;
111113
Level level_min_;

include/sta/DispatchQueue.hh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public:
2424
DispatchQueue(size_t thread_cnt);
2525
~DispatchQueue();
2626
void setThreadCount(size_t thread_count);
27+
size_t getThreadCount() const;
2728
// Dispatch and copy.
2829
void dispatch(const fp_t& op);
2930
// Dispatch and move.

include/sta/GraphDelayCalc.hh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,12 @@ public:
5858
virtual void setObserver(DelayCalcObserver *observer);
5959
// Invalidate all delays/slews.
6060
virtual void delaysInvalid();
61+
virtual void levelsChangedBefore();
6162
// Invalidate vertex and downstream delays/slews.
6263
virtual void delayInvalid(Vertex *vertex);
6364
virtual void delayInvalid(const Pin *pin);
6465
virtual void deleteVertexBefore(Vertex *vertex);
66+
virtual void levelChangedBefore(Vertex *vertex);
6567
// Reset to virgin state.
6668
virtual void clear();
6769
// Find arc delays and vertex slews thru level.

include/sta/Parasitics.hh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ public:
276276
// Network edit before/after methods.
277277
virtual void disconnectPinBefore(const Pin *pin,
278278
const Network *network) = 0;
279+
virtual void deletePinBefore(const Pin *pin) = 0;
279280
virtual void loadPinCapacitanceChanged(const Pin *pin) = 0;
280281

281282
protected:

include/sta/PathEnd.hh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public:
6969
};
7070

7171
virtual PathEnd *copy() const = 0;
72-
virtual ~PathEnd();
72+
virtual ~PathEnd() {}
7373
void deletePath();
7474
Path *path() { return path_; }
7575
const Path *path() const { return path_; }

0 commit comments

Comments
 (0)