Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open rcx v2 - branch: OpenRCX-v2 #6154

Open
wants to merge 188 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 165 commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
b6dbdf8
FasterCap Integration -- add new files: OpenRCX_process.tcl, ../inclu…
Oct 4, 2024
7e07434
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
69a80d8
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
cf976f4
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
1fc95bc
FasterCap Integration -- Read Solver Files to generate model file
Oct 4, 2024
faa95ed
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
77026c6
FasterCap Integration -- 3d Solver Patterns as universal format
Oct 4, 2024
38ac39d
FasterCap Integration -- create dir with hierachical name
Oct 4, 2024
60d0010
FasterCap Integration -- Regression Test Suite
Oct 4, 2024
c3d11e6
FasterCap Integration -- Regression Test Suite
Oct 4, 2024
33933e0
add all args on a single line for extract_parasitics
Oct 10, 2024
8b6590e
fixed args position for extract command
Oct 10, 2024
0c58221
changed logger info num
Oct 10, 2024
8c54ce5
added more user options; regression tests pass for tcl and py
Oct 10, 2024
4b58a58
added more user options; regression tests pass for tcl and py
Oct 10, 2024
9b9f190
added minor functions from v2 flow
Oct 10, 2024
45bbc46
some v2 flow but not via modeling
Oct 11, 2024
a713d1c
v2 flow files
Oct 11, 2024
9c9b4cd
RC flow for v2; regression tests pass
Oct 11, 2024
daab07a
v2_merge: complete reg test for SolverGen
Oct 11, 2024
adf68b2
v2_merge: complete reg test for SolverGen
Oct 11, 2024
1fdebb4
v2_merge: clean up
Oct 11, 2024
a28a51e
v2_merge: clean up
Oct 11, 2024
f66b127
v2_merge: minor fixes
Oct 11, 2024
50faab6
v2_merge: minor fixes and RESOVER dist=0.0
Oct 11, 2024
cf027c5
v2_merge: new read process routines
Oct 11, 2024
16db56c
v2_merge: all files
Oct 11, 2024
f41cb93
v2_merge: added last new files for v2
Oct 11, 2024
510e5d4
v2_merge: all include files
Oct 11, 2024
63cbbcf
added overcell,version options
Oct 14, 2024
040c92a
ability to create 6-wire patterns
Oct 14, 2024
eb75dc9
read_v1 and read_v2 rules
Oct 14, 2024
f126004
removed extMain unique pointer
Oct 14, 2024
2b25125
added extMeasureRC constructor; commented full constructor for extMea…
Oct 14, 2024
dd7befd
remove m from fringe call
Oct 14, 2024
fc97c4c
clean up
Oct 14, 2024
03a8f19
changed original readRules to readRules_v1; skipped constructor for e…
Oct 14, 2024
cee69fb
create new pool for extMeasure
Oct 14, 2024
ca0d429
allocation/deallocation of main tables of new flow
Oct 14, 2024
5956a1b
initRunEnv for v2 flow
Oct 14, 2024
c2b1395
redid getfringe in rc gen flow
Oct 15, 2024
4fdd18d
recognize v2 model file
Oct 17, 2024
674815f
recognize v2 model file
Oct 17, 2024
1ca0639
_v2_flow for v1 flow to use v2 model file
Oct 21, 2024
570de11
setupmapping minor change
Oct 22, 2024
862a401
minor changes
Oct 22, 2024
69678b3
completing v1,v2 flow,model
Oct 22, 2024
a2e0147
v2 overcell mode works; added tests in Makefile
Oct 23, 2024
2392fcc
regression tests for v2 flow; v1 and v2 models; options -no_via_merge…
Oct 23, 2024
93c1e64
completed regressions for v1, v1.2, v2 patterns; via patterns
Oct 23, 2024
80e78a5
multi-cornrt model generation with reading multiple SPEF files
Oct 24, 2024
0ac8c44
run all tests
Oct 24, 2024
bd93197
exclude OpenROAD line diff
Oct 24, 2024
fdeca5a
FasterCap tests minor adjustments
Oct 24, 2024
aa87353
add fasterCap tests
Oct 24, 2024
02a8084
clean up create RSegs and cap Nodes: makeRCNetwork_v2; create makeNet…
Oct 25, 2024
5771bb4
re-structring and cleanup: rc generation flow; extract process corner…
Oct 28, 2024
dafbe2b
removed odb:: from db calls
Oct 29, 2024
601aa9d
via rules are not part of v1 package
Oct 29, 2024
04a0a7a
restructured couplingFlow_v2
Oct 29, 2024
3b95a6b
restructured couplingFlow_v2
Oct 29, 2024
9879873
regression scripts adjusted
Oct 29, 2024
617f31c
remove pwd
Oct 29, 2024
be8ce6e
clean up minor issue in pattern generation flow
Oct 30, 2024
a6c42eb
minor changes in regression Makefile files and scripts
Oct 30, 2024
31b8a4e
cleanup and restructuring of v2 flow
Nov 1, 2024
96982de
cleanup and restructuring of v2 flow
Nov 1, 2024
bee7a89
cleanup and remove compilation warnings
Nov 1, 2024
aff4175
use extSegment allocation pool instead of new/delete
Nov 2, 2024
470a30d
allow v1 flow to read v2 rules file with multiple corners
Nov 2, 2024
5f182bc
allow v1 flow to read v2 rules file with multiple corners
Nov 2, 2024
4718a8f
Coupling Threshold when creating coupling caps - CHECK_COUPLING_THRES…
Nov 5, 2024
85f346c
peak memory print statements when -dbg > 0
Nov 5, 2024
71ad3d2
new track based coupling flow; Not enabled
Nov 5, 2024
154126c
added dealloc memory at end of coupling flow loop; finalize peak mem…
Nov 5, 2024
f8bc0c8
OpenRCX.tcl
Nov 6, 2024
6b6b481
minor check
Nov 7, 2024
d61adf6
documentation on various aspects
Nov 7, 2024
efe9c2a
regression scripts and tests updated
Nov 7, 2024
e5e1cea
Merge branch 'master' into v2_cleanup
dimitrisfotakis Nov 7, 2024
71b8e5e
FasterCap Integration -- add new files: OpenRCX_process.tcl, ../inclu…
Oct 4, 2024
601b1c7
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
33b117d
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
26796c5
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
bc847d9
FasterCap Integration -- Read Solver Files to generate model file
Oct 4, 2024
ba4694f
FasterCap Integration -- add new rcx tcl commands: init_rcx_model rea…
Oct 4, 2024
d17b6cf
FasterCap Integration -- 3d Solver Patterns as universal format
Oct 4, 2024
d508d6d
FasterCap Integration -- create dir with hierachical name
Oct 4, 2024
75286ec
FasterCap Integration -- Regression Test Suite
Oct 4, 2024
2df9efe
FasterCap Integration -- Regression Test Suite
Oct 4, 2024
e898afb
add all args on a single line for extract_parasitics
Oct 10, 2024
b03bb84
fixed args position for extract command
Oct 10, 2024
4d4e27a
changed logger info num
Oct 10, 2024
3ca3629
added more user options; regression tests pass for tcl and py
Oct 10, 2024
e4ada5c
added more user options; regression tests pass for tcl and py
Oct 10, 2024
d32586c
added minor functions from v2 flow
Oct 10, 2024
70a5869
Conflict resolution
Oct 11, 2024
887c7fd
v2 flow files
Oct 11, 2024
427a796
RC flow for v2; regression tests pass
Oct 11, 2024
0c260ac
v2_merge: complete reg test for SolverGen
Oct 11, 2024
9e8be7a
v2_merge: complete reg test for SolverGen
Oct 11, 2024
3d54db0
v2_merge: clean up
Oct 11, 2024
8cfd083
v2_merge: clean up
Oct 11, 2024
259b6cb
v2_merge: minor fixes
Oct 11, 2024
8fcfa61
v2_merge: minor fixes and RESOVER dist=0.0
Oct 11, 2024
491304b
v2_merge: new read process routines
Oct 11, 2024
7b3302d
v2_merge: all files
Oct 11, 2024
39b8e0d
v2_merge: added last new files for v2
Oct 11, 2024
891999c
v2_merge: all include files
Oct 11, 2024
904cacd
added overcell,version options
Oct 14, 2024
6252419
ability to create 6-wire patterns
Oct 14, 2024
4c06715
read_v1 and read_v2 rules
Oct 14, 2024
f5e7fcc
removed extMain unique pointer
Oct 14, 2024
8779eaf
added extMeasureRC constructor; commented full constructor for extMea…
Oct 14, 2024
ce179e3
remove m from fringe call
Oct 14, 2024
9a7906f
clean up
Oct 14, 2024
4c290dc
changed original readRules to readRules_v1; skipped constructor for e…
Oct 14, 2024
ae09b51
create new pool for extMeasure
Oct 14, 2024
2f56950
allocation/deallocation of main tables of new flow
Oct 14, 2024
c908fba
initRunEnv for v2 flow
Oct 14, 2024
c71f8b3
redid getfringe in rc gen flow
Oct 15, 2024
1f654a5
recognize v2 model file
Oct 17, 2024
c2dde4b
recognize v2 model file
Oct 17, 2024
4f500e8
_v2_flow for v1 flow to use v2 model file
Oct 21, 2024
97ae506
setupmapping minor change
Oct 22, 2024
9bff7e2
minor changes
Oct 22, 2024
c3c1aa2
completing v1,v2 flow,model
Oct 22, 2024
54a8846
v2 overcell mode works; added tests in Makefile
Oct 23, 2024
b1dc7d4
regression tests for v2 flow; v1 and v2 models; options -no_via_merge…
Oct 23, 2024
b1a1b30
completed regressions for v1, v1.2, v2 patterns; via patterns
Oct 23, 2024
70f22df
multi-cornrt model generation with reading multiple SPEF files
Oct 24, 2024
84dd876
run all tests
Oct 24, 2024
2a3fb6e
exclude OpenROAD line diff
Oct 24, 2024
c9589cb
FasterCap tests minor adjustments
Oct 24, 2024
692c9cd
add fasterCap tests
Oct 24, 2024
f424c90
clean up create RSegs and cap Nodes: makeRCNetwork_v2; create makeNet…
Oct 25, 2024
e9389d0
re-structring and cleanup: rc generation flow; extract process corner…
Oct 28, 2024
ea58e71
removed odb:: from db calls
Oct 29, 2024
8fb7953
via rules are not part of v1 package
Oct 29, 2024
d653552
restructured couplingFlow_v2
Oct 29, 2024
00e32e1
restructured couplingFlow_v2
Oct 29, 2024
a9833ae
regression scripts adjusted
Oct 29, 2024
ddbaec1
remove pwd
Oct 29, 2024
0ab7fec
clean up minor issue in pattern generation flow
Oct 30, 2024
cff540f
minor changes in regression Makefile files and scripts
Oct 30, 2024
03629ee
cleanup and restructuring of v2 flow
Nov 1, 2024
c82b273
cleanup and restructuring of v2 flow
Nov 1, 2024
a511efe
cleanup and remove compilation warnings
Nov 1, 2024
463d6ae
use extSegment allocation pool instead of new/delete
Nov 2, 2024
710044f
allow v1 flow to read v2 rules file with multiple corners
Nov 2, 2024
b8914cf
allow v1 flow to read v2 rules file with multiple corners
Nov 2, 2024
b53425b
Coupling Threshold when creating coupling caps - CHECK_COUPLING_THRES…
Nov 5, 2024
74a042c
peak memory print statements when -dbg > 0
Nov 5, 2024
9d34a55
new track based coupling flow; Not enabled
Nov 5, 2024
8ee1a14
added dealloc memory at end of coupling flow loop; finalize peak mem…
Nov 5, 2024
e084ccd
OpenRCX.tcl
Nov 6, 2024
872347d
minor check
Nov 7, 2024
6033a0f
documentation on various aspects
Nov 7, 2024
0e64777
regression scripts and tests updated
Nov 7, 2024
ee2e46d
fixed conflicts after merging with master upstream
Nov 8, 2024
cc0b4a8
resolved merging conflicts; add doc/model_file.README
Nov 8, 2024
161c1b5
clean up FIXME and TODO
Nov 12, 2024
c7b69a2
instructions and scripts and Makefile to generate a model file using …
Nov 12, 2024
e849454
1 log file per spef during model gen
Nov 13, 2024
35149ab
delted rcx v2 regression test dirs
Nov 13, 2024
c9dc5a1
added OVERUNDER0 OVERUNDE1 lines
Nov 18, 2024
f049e60
added OVERUNDER0 OVERUNDE1 lines
Nov 18, 2024
12fa614
OpenRCX scripts to run corners
Nov 19, 2024
f6a8ac5
src/rcx/test/rcx_v2/flow/corners/v1_gcd_3corners_define_list.tcl runs…
Nov 19, 2024
2b8eef9
Merge remote-tracking branch 'origin/master' into OpenRCX-v2
maliberty Nov 20, 2024
21c33c3
rcx: fix compiler errors
maliberty Nov 20, 2024
42f811e
rcx: apply black to python files
maliberty Nov 20, 2024
0e8276f
rcx: tclfmt all tcl files
maliberty Nov 20, 2024
e199455
rcx: clang-format all c++ files
maliberty Nov 20, 2024
c928c17
odb: clang-format zutil/parse.cpp
maliberty Nov 20, 2024
97eb6c6
rcx: fix python formating
maliberty Nov 20, 2024
cb01ef9
rcx: fix tcl formating
maliberty Nov 20, 2024
4298d0c
rcx: fix tcl formating
maliberty Nov 20, 2024
83279a3
rcx: once more with tcl format
maliberty Nov 20, 2024
555fb9d
rcx: fixup unit tests
maliberty Nov 20, 2024
7766abf
rcx: black format rcx_aux.py
maliberty Nov 20, 2024
8b9cb21
user option min documentation
Nov 21, 2024
c54d7d0
Clean up unused User Commands
Nov 21, 2024
ebc9939
merging conflicts
Nov 21, 2024
9ee0fc0
fixed problems after last conflicts removal
Nov 22, 2024
b1c1bd8
rcx: clang-format
maliberty Nov 22, 2024
e345017
rcx: get unit tests passing again
maliberty Nov 22, 2024
1378560
rcx: add missing param docs
maliberty Nov 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/odb/src/zutil/parse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,8 +314,10 @@ bool Ath__parser::mkDir(char* word)

int Ath__parser::mkDirTree(const char* word, const char* sep)
{
mkWords(word, sep);
mkDir((char* )word);

mkWords(word, sep);
/*
if (_currentWordCnt > 0) {
mkDir(_wordArray[0]);
sprintf(_line, "%s", _wordArray[0]);
Expand All @@ -325,6 +327,7 @@ int Ath__parser::mkDirTree(const char* word, const char* sep)
pos += sprintf(&_line[pos], "/%s", _wordArray[ii]);
mkDir(_line);
}
*/
return _currentWordCnt;
}

Expand Down
83 changes: 83 additions & 0 deletions src/rcx/calibration/fasterCap/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
top_dir=$(shell pwd)
# top_dir=$(top_dir1)
data_dir=$(top_dir)/data
# @echo "Top Dir = $(top_dir)"
# -------------------------------------------------------------------------------------
# rcx model file generation steps
# -------------------------------------------------------------------------------------

# -------------------------------------------------------------------------------------
# REQUIRED Manual actions:
# create link to openroad executable:
# ln -s /home/dimitris-ic/z/v2_rcx/OpenROAD-OpenRCX-v2-fotakis/build/src/openroad bin/
# Copy FasterCap executable into bin
# Copy process.TYP files onto dir data: one process.TYP per corner
# -------------------------------------------------------------------------------------

gen_pattern_bash=$(top_dir)/scripts/run_patterns.bash
gen_patterns=$(top_dir)/scripts/gen_patterns.bash
script_dir=$(top_dir)/scripts
openroad=$(top_dir)/bin/openroad

# -------------------------------------------------------------------------------------
# rcx generates patterns
# -------------------------------------------------------------------------------------

# gen_patterns script usage: run_dir openroad_exec input_process_file corner_name wire_cnt
# version(1=not normalized, 2=normalized heights)
# ---------------------------------------------------------------------------------------------

5v2_min:
$(gen_patterns) $@ $(openroad) $(data_dir)/process.MIN MIN 5 2 ; \
echo " --- Wire Patterns Directory: $@"

5v2_typ:
$(gen_patterns) $@ $(openroad) $(data_dir)/process.TYP TYP 5 2 ; \
echo " --- Wire Patterns Directory: $@"


# -------------------------------------------------------------------------------------
# Run fasterCap
# -------------------------------------------------------------------------------------
run_fasterCap=$(top_dir)/scripts/run_fasterCap.bash
rcx2fasterCap=$(top_dir)/scripts/UniversalFormat2FasterCap_923.py
fasterCap=$(top_dir)/bin/FasterCap

5v2_typ_fasterCap:
$(run_fasterCap) 5v2_typ $@ standard 20 ALL $(rcx2fasterCap) $(fasterCap)

5v2_min_fasterCap:
$(run_fasterCap) 5v2_min $@ standard 20 ALL $(rcx2fasterCap) $(fasterCap)

# -------------------------------------------------------------------------------------
# fasterCapParse parse of fasterCap Output
# -------------------------------------------------------------------------------------
parse_fasterCap_bash=$(top_dir)/scripts/parse_fasterCap.bash
fasterCapParsePython=$(top_dir)/scripts/fasterCapParse.py

5v2_typ_parse:
$(parse_fasterCap_bash) $@ $(top_dir) 5v2_typ $(fasterCapParsePython) 3

5v2_min_parse:
$(parse_fasterCap_bash) $@ $(top_dir) 5v2_min $(fasterCapParsePython) 3


# -------------------------------------------------------------------------------------
# rcx generates model file
# -------------------------------------------------------------------------------------
readCaps_tcl=readCaps.rcx.tcl

model:
echo $@ ; \
rm -rf $@ ; \
mkdir $@ ; \
cd $@ ; \
echo "init_rcx_model -corner_names \"TYP MIN\" -met_cnt 7" > $(readCaps_tcl) ; \
echo "read_rcx_tables -corner TYP -file $(top_dir)/5v2_typ_parse/5v2_typ.caps " >> $(readCaps_tcl) ; \
echo "read_rcx_tables -corner TYP -file $(top_dir)/5v2_typ/resistance.TYP " >> $(readCaps_tcl) ; \
echo "read_rcx_tables -corner TYP -file $(top_dir)/5v2_min_patrse/5v2_typ.caps " >> $(readCaps_tcl) ; \
echo "read_rcx_tables -corner TYP -file $(top_dir)/5v2_min/resistance.TYP " >> $(readCaps_tcl) ; \
echo "write_rcx_model -file 130.rcx.model " >> $(readCaps_tcl) ; \
$(openroad) < $(readCaps_tcl) > OUT ; \
# echo "$@ diffs: `diff -w -r . ../gen924.GOLD` "

Loading