Skip to content

Commit 71583ea

Browse files
committed
Merge remote-tracking branch 'origin/master' into web-lockup
2 parents b484dc9 + 8a5493f commit 71583ea

72 files changed

Lines changed: 1238 additions & 752 deletions

Some content is hidden

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

docs/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"myst_parser",
3636
"sphinxcontrib.mermaid",
3737
"sphinx_tabs.tabs",
38+
"sphinx_llm.txt",
3839
]
3940

4041
myst_enable_extensions = [

docs/requirements.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ sphinxcontrib-mermaid
66
sphinx-book-theme
77
sphinx-copybutton
88
sphinx-tabs
9+
sphinx-llm

docs/requirements.txt

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ docutils==0.19 \
180180
# myst-parser
181181
# pydata-sphinx-theme
182182
# sphinx
183+
# sphinx-markdown-builder
183184
# sphinx-tabs
184185
exceptiongroup==1.3.1 \
185186
--hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \
@@ -189,9 +190,9 @@ h11==0.16.0 \
189190
--hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \
190191
--hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
191192
# via uvicorn
192-
idna==3.17 \
193-
--hash=sha256:466e48829084efe2548012b855df21540b96f2e20e51bd124c851536556a592c \
194-
--hash=sha256:5eb0cb53bc467c12eadcf6de83163ad8527cec9416f44b9b61b19caedad2b87f
193+
idna==3.18 \
194+
--hash=sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2 \
195+
--hash=sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848
195196
# via
196197
# anyio
197198
# requests
@@ -415,9 +416,9 @@ requests==2.34.2 \
415416
--hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \
416417
--hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed
417418
# via sphinx
418-
snowballstemmer==3.1.0 \
419-
--hash=sha256:17e6d1da216aa07db6dad37139ea70cf13c4b2e9a096f6e64a9648fc657d3154 \
420-
--hash=sha256:fd9e34526b23340cd23ffea6c9f9760974ecc2c2ac9e1d81401443ccdb2a801f
419+
snowballstemmer==3.1.1 \
420+
--hash=sha256:7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752 \
421+
--hash=sha256:e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260
421422
# via sphinx
422423
soupsieve==2.8.4 \
423424
--hash=sha256:e121fd02e975c695e4e9e8774a5ee35d74714b59307868dcc5319ad2d9e3328e \
@@ -434,6 +435,8 @@ sphinx==5.3.0 \
434435
# sphinx-book-theme
435436
# sphinx-copybutton
436437
# sphinx-external-toc
438+
# sphinx-llm
439+
# sphinx-markdown-builder
437440
# sphinx-tabs
438441
# sphinxcontrib-mermaid
439442
sphinx-autobuild==2024.10.3 \
@@ -452,6 +455,14 @@ sphinx-external-toc==0.3.1 \
452455
--hash=sha256:9c8ea9980ea0e57bf3ce98f6a400f9b69eb1df808f7dd796c9c8cc1873d8b355 \
453456
--hash=sha256:cd93c1e7599327b2a728db12d9819068ce719c4b037ffc62e47f20ffb6310fb3
454457
# via -r docs/requirements.in
458+
sphinx-llm==0.4.1 \
459+
--hash=sha256:0789185dcbbecc00b5e25aa3db6342b98dad6a9def96088a9e50fa0203fda090 \
460+
--hash=sha256:d7c8ee2a6335636b628ea2b26cd1e1dee1f0cf9c40fe51b20f201af1c05b95f5
461+
# via -r docs/requirements.in
462+
sphinx-markdown-builder==0.6.10 \
463+
--hash=sha256:16d86738b9ac69fcbc86e373c31c6402c30af1fa8d98d0f62cc5f38bfe5fc26e \
464+
--hash=sha256:cd5acf88d52ea0146a712fd557404f10326dff3428a78ba928e59b1727fd4a86
465+
# via sphinx-llm
455466
sphinx-tabs==3.4.7 \
456467
--hash=sha256:991ad4a424ff54119799ba1491701aa8130dd43509474aef45a81c42d889784d \
457468
--hash=sha256:c12d7a36fd413b369e9e9967a0a4015781b71a9c393575419834f19204bd1915
@@ -484,10 +495,14 @@ sphinxcontrib-serializinghtml==2.0.0 \
484495
--hash=sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331 \
485496
--hash=sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d
486497
# via sphinx
487-
starlette==1.2.0 \
488-
--hash=sha256:36e0c76ac59157e75dc4b3bdeafba97fb04eaf1878045f15dbef666a6f092ed7 \
489-
--hash=sha256:3c5a6b23fff42492914e93890bb80cbfea72dbf37de268eec06185d62a4ca553
498+
starlette==1.2.1 \
499+
--hash=sha256:4de0082d08c8f6764a85a54cf1120d6939507a19905c7768acad2a9f875d2b89 \
500+
--hash=sha256:9b9b5ebb992e67d6093741e63c2f59e4f6fff986f81163c087867bd7b924b3f6
490501
# via sphinx-autobuild
502+
tabulate==0.10.0 \
503+
--hash=sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d \
504+
--hash=sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3
505+
# via sphinx-markdown-builder
491506
typing-extensions==4.15.0 \
492507
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
493508
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
@@ -502,9 +517,9 @@ urllib3==2.7.0 \
502517
--hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \
503518
--hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897
504519
# via requests
505-
uvicorn==0.48.0 \
506-
--hash=sha256:48097851328b87ec36117d3d575234519eb58c2b22d79666e9bbc6c49a761dad \
507-
--hash=sha256:a5504207195d08c2511bf9125ede5ac4a4b71725d519e758d01dcf0bc2d31c37
520+
uvicorn==0.49.0 \
521+
--hash=sha256:ba3d14c3ee7e41c6c654c46c9eb489d33213cdd30aa1696eab1374337c13f68f \
522+
--hash=sha256:ebf4271aa580d9de97f93192d4595176df6e91f9aae919ca73e4fc07df1e66a3
508523
# via sphinx-autobuild
509524
watchfiles==1.2.0 \
510525
--hash=sha256:01859b11fd9fbca670f4d5da00fbac282cfea9bd67a2125d8b2833a3b5617ea9 \

src/dbSta/include/db_sta/dbNetwork.hh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,44 @@ class dbNetwork : public ConcreteNetwork
405405
double dbuToMeters(int dist) const;
406406
int metersToDbu(double dist) const;
407407

408+
////////////////////////////////////////////////////////////////
409+
// Sequential / Flop / Scan flop utility functions
410+
// clock pin functions
411+
bool isClockPin(odb::dbITerm* iterm) const;
412+
bool clockOn(odb::dbInst* inst) const;
413+
414+
// d pin functions
415+
bool isDPin(odb::dbITerm* iterm) const;
416+
int getNumD(odb::dbInst* inst) const;
417+
418+
// q(n) pin functions
419+
bool isQPin(odb::dbITerm* iterm) const;
420+
bool isInvertingQPin(odb::dbITerm* iterm) const;
421+
int getNumQ(odb::dbInst* inst) const;
422+
423+
// clear/preset pin functions
424+
bool hasClear(odb::dbInst* inst) const;
425+
bool isClearPin(odb::dbITerm* iterm) const;
426+
bool hasPreset(odb::dbInst* inst) const;
427+
bool isPresetPin(odb::dbITerm* iterm) const;
428+
429+
// scan cell/pin functions
430+
bool isScanCell(odb::dbInst* inst) const;
431+
bool isScanIn(odb::dbITerm* iterm) const;
432+
odb::dbITerm* getScanIn(odb::dbInst* inst) const;
433+
bool isScanEnable(odb::dbITerm* iterm) const;
434+
odb::dbITerm* getScanEnable(odb::dbInst* inst) const;
435+
LibertyPort* getLibertyScanEnable(const LibertyCell* lib_cell) const;
436+
LibertyPort* getLibertyScanIn(const LibertyCell* lib_cell) const;
437+
LibertyPort* getLibertyScanOut(const LibertyCell* lib_cell) const;
438+
439+
// supply pin functions
440+
bool isSupplyPin(odb::dbITerm* iterm) const;
441+
bool isValidFlop(odb::dbInst* FF) const;
442+
bool isValidTray(odb::dbInst* tray) const;
443+
444+
////////////////////////////////////////////////////////////////
445+
408446
// hierarchy handler, set in openroad tested in network child traverserser
409447

410448
void setHierarchy() { db_->setHierarchy(true); }
@@ -483,6 +521,7 @@ class dbNetwork : public ConcreteNetwork
483521
static constexpr unsigned DBIDTAG_WIDTH = 0x4;
484522

485523
private:
524+
const LibertyCell* getLibertyCell(const Cell* cell) const;
486525
void addDriverToCacheIfPresent(const Net* net, const Pin* drvr);
487526
void removeDriverFromCache(const Net* net);
488527
void removeDriverFromCache(const Net* net, const Pin* drvr);

src/dbSta/include/db_sta/dbSta.hh

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <vector>
1212

1313
#include "db_sta/DelayFmt.hh" // IWYU pragma: keep
14+
#include "db_sta/dbNetwork.hh"
1415
#include "odb/PtrSetMap.h"
1516
#include "odb/db.h"
1617
#include "odb/dbBlockCallBackObj.h"
@@ -258,10 +259,4 @@ class dbSta : public Sta, public odb::dbDatabaseObserver
258259
bool drvr_vertices_level_valid_ = false;
259260
};
260261

261-
// Utilities for TestCell
262-
263-
sta::LibertyPort* getLibertyScanEnable(const LibertyCell* lib_cell);
264-
sta::LibertyPort* getLibertyScanIn(const LibertyCell* lib_cell);
265-
sta::LibertyPort* getLibertyScanOut(const LibertyCell* lib_cell);
266-
267262
} // namespace sta

0 commit comments

Comments
 (0)