Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
b0f05b5
WIP
Mar 29, 2025
910f697
WIP
Apr 10, 2025
6f9a2da
WIP
Apr 10, 2025
7b069d1
WIP
Apr 12, 2025
d7193e9
WIP
Apr 12, 2025
291c91f
Merge branch 'dev-polygon-graph' into wip
Apr 13, 2025
627e244
Refactoring: generalization of Triangles into db::plc::Graph in dbPLC.h
Apr 13, 2025
802cf99
Porting dbTriangleTests
Apr 13, 2025
76e039b
Removing obsolete dbTriangle/dbTriangles
Apr 13, 2025
60d1fb0
Porting HM decomposition to new PLC framework
Apr 15, 2025
4f1b034
Handling of points in Convex decomposition
Apr 15, 2025
94396da
Fixed problem of on-edge internal vertex/precious vertex
Apr 16, 2025
a2ef7a2
WIP
Apr 17, 2025
3ed39e8
Internal vertex ID added, cleanup
Apr 17, 2025
c6a4b6a
Added a new utility function
Apr 17, 2025
16604e5
New module: 'pex'
Apr 18, 2025
e764716
Preserving the hull of simple polygons during insert in a Region, hen…
Apr 18, 2025
7162044
Polygon#triangulate now returns a 'raw' region, same for SimplePolygo…
Apr 18, 2025
8a122c8
WIP: bug fixes, one more test
Apr 18, 2025
dfe6717
WIP
Apr 19, 2025
6c90da8
WIP
Apr 19, 2025
9cd29c9
WIP
Apr 19, 2025
1379d30
Debugging, Tests
Apr 19, 2025
fcd42bd
R network simplify
Apr 19, 2025
e9c2320
WIP
Apr 19, 2025
88a1ccb
TriangulationRExtractor, some debugging, tests
Apr 20, 2025
f71210c
WIP, more testcases, debugging
Apr 20, 2025
7f0b2d5
Bugfixes
Apr 20, 2025
9bf0339
More robust output for tests, some debugging
Apr 20, 2025
93e10d1
Doc and small fixes
Apr 20, 2025
0e99ebc
Another test case, triangulation extractor behaves strange.
Apr 20, 2025
8ece7bc
Activate pex module, GSI bindings
Apr 22, 2025
f0943de
More debugging support
Apr 24, 2025
bc10bb6
WIP: network R extractor, needs testing
May 3, 2025
f83cd61
WIP: debugging, tests.
May 4, 2025
80ad38f
WIP: debugging, tests. Triangulation should be safer now against line…
May 4, 2025
aca3095
WIP: allowing multiple vertex ports on the same location
May 4, 2025
f7c7e8b
Fixed unit tests
May 4, 2025
2bc8ac2
Fixed unit tests
May 4, 2025
fc25590
Include a simplification step in the net extraction
May 4, 2025
77aa729
GSI binding of RNetExtractor, introducing layers for nodes
May 4, 2025
91005d5
Tests for RBA+pex, bug fixes
May 4, 2025
1c40774
Fixed build issue
May 16, 2025
113c701
Trying explicit member template instantiation to solve linker issue
May 16, 2025
ca53d87
Fixed some build problems
May 17, 2025
5dd189d
Including pex dependencies in build
May 17, 2025
91cb882
Including more dependencies in build
May 17, 2025
1fb0f31
Added pex lib to bd tools.
May 17, 2025
4306b24
Normalizing test case for RNetExtractor to reduce jitter
May 18, 2025
72c716f
More robust tests.
May 18, 2025
9b03a1b
More robust tests
May 18, 2025
6b8c79c
Fixed a segfault (thanks, Martin\!)
May 22, 2025
4dd4524
Fixed typo
May 22, 2025
dec7ad9
[consider merging] properly conveying string encoding for Ruby, so th…
May 25, 2025
ad80019
Adding to_s (aka str(...)) methods to RNetExtractor tech objects
May 25, 2025
4a20a30
Hope to fix dependency on Ruby version rgarding string encoding.
May 25, 2025
fb16c8c
Trying to fix a linker issue
May 25, 2025
534b33b
MSVC does not assume UTF-8 encoding by default, hence use explicit bytes
May 25, 2025
13bc723
Fix for MSVC builds
May 25, 2025
9917978
Merge branch 'master' into dev-polygon-graph
May 28, 2025
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
3 changes: 3 additions & 0 deletions scripts/make_stubs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ $python $inst/stubgen.py tl >$pyi_srcdir/tlcore.pyi
echo "Generating stubs for db .."
$python $inst/stubgen.py db tl,lay,rdb >$pyi_srcdir/dbcore.pyi

echo "Generating stubs for pex .."
$python $inst/stubgen.py pex tl,db >$pyi_srcdir/pexcore.pyi

echo "Generating stubs for rdb .."
$python $inst/stubgen.py rdb tl,db >$pyi_srcdir/rdbcore.pyi

Expand Down
45 changes: 43 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,25 @@ def version(self):
)
config.add_extension(_db)

# ------------------------------------------------------------------
# _pex dependency library

_pex_path = os.path.join("src", "pex", "pex")
_pex_sources = set(glob.glob(os.path.join(_pex_path, "*.cc")))

_pex = Library(
config.root + "._pex",
define_macros=config.macros() + [("MAKE_PEX_LIBRARY", 1)],
include_dirs=[_tl_path, _gsi_path, _db_path, _pex_path],
extra_objects=[config.path_of("_tl", _tl_path), config.path_of("_gsi", _gsi_path), config.path_of("_db", _db_path)],
language="c++",
libraries=config.libraries('_pex'),
extra_link_args=config.link_args("_pex"),
extra_compile_args=config.compile_args("_pex"),
sources=list(_pex_sources),
)
config.add_extension(_pex)

# ------------------------------------------------------------------
# _lib dependency library

Expand Down Expand Up @@ -869,6 +888,28 @@ def version(self):
sources=list(db_sources),
)

# ------------------------------------------------------------------
# pex extension library

pex_path = os.path.join("src", "pymod", "pex")
pex_sources = set(glob.glob(os.path.join(pex_path, "*.cc")))

pex = Extension(
config.root + ".pexcore",
define_macros=config.macros(),
include_dirs=[_db_path, _tl_path, _gsi_path, _pya_path, _pex_path],
extra_objects=[
config.path_of("_db", _db_path),
config.path_of("_pex", _pex_path),
config.path_of("_tl", _tl_path),
config.path_of("_gsi", _gsi_path),
config.path_of("_pya", _pya_path),
],
extra_link_args=config.link_args("pexcore"),
extra_compile_args=config.compile_args("pexcore"),
sources=list(pex_sources),
)

# ------------------------------------------------------------------
# lib extension library

Expand Down Expand Up @@ -1010,8 +1051,8 @@ def version(self):
package_data={config.root: ["src/pymod/distutils_src/klayout/*.pyi"]},
data_files=[(config.root, ["src/pymod/distutils_src/klayout/py.typed"])],
include_package_data=True,
ext_modules=[_tl, _gsi, _pya, _rba, _db, _lib, _rdb, _lym, _laybasic, _layview, _ant, _edt, _img]
ext_modules=[_tl, _gsi, _pya, _rba, _db, _pex, _lib, _rdb, _lym, _laybasic, _layview, _ant, _edt, _img]
+ db_plugins
+ [tl, db, lib, rdb, lay, pya],
+ [tl, db, pex, lib, rdb, lay, pya],
cmdclass={'build_ext': klayout_build_ext}
)
6 changes: 3 additions & 3 deletions src/buddies/src/bd/bd.pro
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ HEADERS = \

RESOURCES = \

INCLUDEPATH += $$TL_INC $$GSI_INC $$VERSION_INC $$DB_INC $$LIB_INC $$RDB_INC $$LYM_INC
DEPENDPATH += $$TL_INC $$GSI_INC $$VERSION_INC $$DB_INC $$LIB_INC $$RDB_INC $$LYM_INC
LIBS += -L$$DESTDIR -lklayout_tl -lklayout_db -lklayout_gsi -lklayout_lib -lklayout_rdb -lklayout_lym
INCLUDEPATH += $$TL_INC $$GSI_INC $$VERSION_INC $$DB_INC $$LIB_INC $$RDB_INC $$PEX_INC $$LYM_INC
DEPENDPATH += $$TL_INC $$GSI_INC $$VERSION_INC $$DB_INC $$LIB_INC $$RDB_INC $$PEX_INC $$LYM_INC
LIBS += -L$$DESTDIR -lklayout_tl -lklayout_db -lklayout_gsi -lklayout_lib -lklayout_rdb -lklayout_pex -lklayout_lym

INCLUDEPATH += $$RBA_INC
DEPENDPATH += $$RBA_INC
Expand Down
1 change: 1 addition & 0 deletions src/buddies/src/bd/strmrun.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "gsiExpression.h"
#include "libForceLink.h"
#include "rdbForceLink.h"
#include "pexForceLink.h"
#include "lymMacro.h"
#include "lymMacroCollection.h"

Expand Down
2 changes: 1 addition & 1 deletion src/buddies/src/buddy_app.pri
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ SOURCES = $$PWD/bd/main.cc

INCLUDEPATH += $$BD_INC $$TL_INC $$GSI_INC
DEPENDPATH += $$BD_INC $$TL_INC $$GSI_INC
LIBS += -L$$DESTDIR -lklayout_bd -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_lib -lklayout_rdb -lklayout_lym
LIBS += -L$$DESTDIR -lklayout_bd -lklayout_db -lklayout_pex -lklayout_tl -lklayout_gsi -lklayout_lib -lklayout_rdb -lklayout_lym

INCLUDEPATH += $$RBA_INC
DEPENDPATH += $$RBA_INC
Expand Down
10 changes: 6 additions & 4 deletions src/db/db/db.pro
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ SOURCES = \
dbNetlistSpiceReaderExpressionParser.cc \
dbObject.cc \
dbObjectWithProperties.cc \
dbPLC.cc \
dbPLCConvexDecomposition.cc \
dbPLCTriangulation.cc \
dbPath.cc \
dbPCellDeclaration.cc \
dbPCellHeader.cc \
Expand Down Expand Up @@ -105,8 +108,6 @@ SOURCES = \
dbTextWriter.cc \
dbTilingProcessor.cc \
dbTrans.cc \
dbTriangle.cc \
dbTriangles.cc \
dbUserObject.cc \
dbUtils.cc \
dbVector.cc \
Expand Down Expand Up @@ -308,6 +309,9 @@ HEADERS = \
dbObject.h \
dbObjectTag.h \
dbObjectWithProperties.h \
dbPLC.h \
dbPLCConvexDecomposition.h \
dbPLCTriangulation.h \
dbPath.h \
dbPCellDeclaration.h \
dbPCellHeader.h \
Expand Down Expand Up @@ -343,8 +347,6 @@ HEADERS = \
dbTextWriter.h \
dbTilingProcessor.h \
dbTrans.h \
dbTriangle.h \
dbTriangles.h \
dbTypes.h \
dbUserObject.h \
dbUtils.h \
Expand Down
4 changes: 2 additions & 2 deletions src/db/db/dbMutableRegion.cc
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ MutableRegion::insert (const db::SimplePolygon &polygon)
{
if (polygon.vertices () > 0) {
db::Polygon poly;
poly.assign_hull (polygon.begin_hull (), polygon.end_hull ());
poly.assign_hull (polygon.hull ());
do_insert (poly, 0);
}
}
Expand All @@ -93,7 +93,7 @@ MutableRegion::insert (const db::SimplePolygonWithProperties &polygon)
{
if (polygon.vertices () > 0) {
db::Polygon poly;
poly.assign_hull (polygon.begin_hull (), polygon.end_hull ());
poly.assign_hull (polygon.hull ());
do_insert (poly, polygon.properties_id ());
}
}
Expand Down
Loading
Loading