From 17ee13495ac36b0a633c8342448bec44c34039d6 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 20 Jan 2025 19:42:25 -0700 Subject: [PATCH] readme Signed-off-by: James Cherry --- README.md | 26 ++++++++++++++++---------- dcalc/GraphDelayCalc.cc | 2 +- doc/CodingGuidelines.txt | 8 ++++---- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 81fa6905..c7bd9fdb 100644 --- a/README.md +++ b/README.md @@ -110,15 +110,6 @@ tclreadline 2.3.8 2.3.8 BSD optional zLib 1.2.5 1.2.8 zlib optional ``` -On Darwin/MacOS the Xcode supplied versions of Tcl, Flex and Bison are -problematic. Use homebrew to install them instead. - - brew install cmake bison flex swig tcl-tk@8 eigen zlib - -Note that the most recent versions of homebrew install Tcl9, which is -not supported because swig does not support it yet. Install tcl8 as -shown above. - The [TCL readline library](https://tclreadline.sourceforge.net/tclreadline.html) links the GNU readline library to the TCL interpreter for command line editing On OSX, Homebrew does not support tclreadline, but the macports system does @@ -244,7 +235,22 @@ case directory. * James Cherry -* William Scott authored the arnoldi delay calculator at Blaze, Inc which was subsequently licensed to Nefelus, Inc that has graciously contributed it to OpenSTA. +* William Scott authored the arnoldi delay calculator at Blaze, Inc + which was subsequently licensed to Nefelus, Inc that has graciously + contributed it to OpenSTA. + + +## Contributions + +Contributors must sign the Contributor License Agreement (doc/CLA.txt) +when submitting pull requests. + +All contributors should read doc/CodingGuidelines.txt for nodes on +making code that adheres to the existing naming and formatting style. + +Contributions that claim 4% performance improvements in OpenROAD flow +scripts will largely be ignored. Small performance improvements +simply do not justify the time requied to audit and verify the changes. ## License diff --git a/dcalc/GraphDelayCalc.cc b/dcalc/GraphDelayCalc.cc index 7a1d6e79..01e03d9e 100644 --- a/dcalc/GraphDelayCalc.cc +++ b/dcalc/GraphDelayCalc.cc @@ -628,7 +628,7 @@ GraphDelayCalc::loadSlewsChanged(DrvrLoadSlews &load_slews_prev, for (auto const [pin, index] : load_pin_index_map) { Vertex *load_vertex = graph_->pinLoadVertex(pin); const SlewSeq slews = graph_->slews(load_vertex); - const SlewSeq &slews_prev = load_slews_prev[index]; + const SlewSeq &slews_prev = load_slews_prev[index]; for (size_t i = 0; i < slews.size(); i++) { if (!delayEqual(slews[i], slews_prev[i])) return true; diff --git a/doc/CodingGuidelines.txt b/doc/CodingGuidelines.txt index 20bd0c1a..bd838801 100644 --- a/doc/CodingGuidelines.txt +++ b/doc/CodingGuidelines.txt @@ -97,15 +97,15 @@ private order. friend class Frobulator; } -Don't declare class variables as const. It means any downstream code -that accesses the member cannot modify it, which is overly -restrictive. - Avoid using [] to lookup a map value because it creates a key/null value pair if the lookup fails. Use map::find or sta::Map::findKey instead. Avoid nested classes/enums because SWIG has trouble with them. +Avoid all use of global variables as "caches", even if they are thread local. +OpenSTA goes to great lengths to minimize global state variable that prevent +multiple instances of the Sta class from coexisting. + Regression Tests ................