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

Various fixes for IHP SG13G2 node. #139

Merged
merged 61 commits into from
Jan 25, 2025
Merged
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f17a243
Suppress paranoid bug message if a TrackSegment has no prior Track.
jpc-lip6 Oct 18, 2024
62a7718
Makes block I/O pins square (wire width) to avoid GDS offgrid.
jpc-lip6 Oct 18, 2024
2a021b9
Fix in AutoSegment::updatePosition(), when du S/T exceed contact exte…
jpc-lip6 Oct 20, 2024
dd13956
Implement full support for promoteToPref.
jpc-lip6 Oct 22, 2024
92b3e4d
Fix various errors in minimal area management of segments.
jpc-lip6 Oct 24, 2024
ecaa4da
Move promoteToPref() in AutoSegment as it is sufficiently generic.
jpc-lip6 Oct 24, 2024
e3e229b
Fix comparison error in IntervalTree.
jpc-lip6 Oct 24, 2024
836d783
Removed debug printing.
jpc-lip6 Oct 27, 2024
be6d221
Add a new parameter in chip/core2chip to merge or not the vss/iovss.
jpc-lip6 Oct 30, 2024
7b09d81
Makes the jumper on IO as wide as the connecting wire.
jpc-lip6 Oct 30, 2024
91ceef2
Remove deprecated std::binary_function<>.
jpc-lip6 Oct 30, 2024
6eee8cd
Remove deprecated std::unary_function<>.
jpc-lip6 Oct 30, 2024
90f716a
Forgotten c_str() in Error() variadic CTOR call.
jpc-lip6 Oct 30, 2024
d87bf07
Add a translate(Point&) overload, cleanup of the translate() export.
jpc-lip6 Nov 1, 2024
5dcb3cd
Add a new way of mixing LEF & GDS while loading (support for "galleri…
jpc-lip6 Nov 1, 2024
52ab23d
Small aesthetical fix in LefImport.
jpc-lip6 Nov 1, 2024
8a8cd38
Forgotten to export Polygon.getPoints() to Python.
jpc-lip6 Nov 13, 2024
6d71146
Change non-convex polygon from and error to a state flag.
jpc-lip6 Nov 13, 2024
229f698
Clearly display the final die size in cumulus.chip.
jpc-lip6 Nov 13, 2024
44dbfee
In GdsStream::xyToComponent(), create Polygon for non-rectilinear sha…
jpc-lip6 Nov 13, 2024
2b3ec66
More accurate message about offgrid points in GdsStream.
jpc-lip6 Nov 13, 2024
bdc2046
Avoid cell name collision when loading LEF FOREIGN from GDS.
jpc-lip6 Nov 13, 2024
1ecbce5
Add variable names for IHP DRC scripts for KLayout.
jpc-lip6 Nov 13, 2024
3b51c52
Do not manhatanize Polygon with only 45 degree edge (native support).
jpc-lip6 Nov 16, 2024
6bc772c
Finally a correct management of MACRO ORIGIN in LefImport.
jpc-lip6 Nov 16, 2024
76b9607
Fix minimal width and distances of the vertical begin/end power lines.
jpc-lip6 Nov 16, 2024
ac8ce32
Little rework for more flexibility in the klayout wrapper.
jpc-lip6 Nov 16, 2024
e6a9a76
Expanded capabilities of the klayout doit wrapper.
jpc-lip6 Nov 18, 2024
3f73843
Display the number of diodes and success ratio in log level 1
jpc-lip6 Nov 18, 2024
b9143b3
Add PDK_ROOT, PDK, KLAYOUT_PATH & KLAOUT_HOME to static ShellEnv.
jpc-lip6 Nov 20, 2024
dbb2cb4
Do *not* use "-b" when calling klayout.
jpc-lip6 Nov 20, 2024
46e39e6
Add the possibility to use a non-default Python, add doit to venv.
jpc-lip6 Nov 20, 2024
ff9d736
Support for multiple PROPVALUE while parsing elements.
jpc-lip6 Nov 20, 2024
7db2cfc
The kite.py layout was still refering to defunct "kite".
jpc-lip6 Dec 3, 2024
f672fb1
Fix compability issues of the designflow with doit > 0.34.0.
jpc-lip6 Dec 3, 2024
faa79e0
Exclude the generated .venv from accidental commit.
jpc-lip6 Dec 3, 2024
4b8808d
Add an error message in case of no-merged power supplies.
jpc-lip6 Dec 19, 2024
7a3a23f
No longer lock move up for antenna clustered wires.
jpc-lip6 Dec 19, 2024
681e8cb
Fix the coherency of the NonPref flag in AutoSegment::setLayer().
jpc-lip6 Dec 19, 2024
b3b90f9
Consider a segment as "pre-routed" only if *fully* inside the AB.
jpc-lip6 Dec 19, 2024
317f0c9
Try a new impl in NetBuilder::doRp_Access() (not enabled yet).
jpc-lip6 Dec 19, 2024
877c35d
* In DataNegociate::update(), formerly a non-placed perpandicular
jpc-lip6 Dec 19, 2024
5ff607d
Fix, never tries to repair (or reschedule) non-pref segments.
jpc-lip6 Dec 19, 2024
1c87947
Fix, in Track::repair(), now take non-pref into account for narrow gaps.
jpc-lip6 Dec 19, 2024
f7830e7
Sligth change in the triage for slackening segments.
jpc-lip6 Dec 19, 2024
8267346
Add a lot more P&R statistics in Katana.
jpc-lip6 Dec 19, 2024
3e12067
* In plugins.chip.corona, the clock ring was on the inner side of the
jpc-lip6 Dec 19, 2024
aaba086
Now enable the LVS by default when making a block or chip.
jpc-lip6 Dec 19, 2024
60ca4d0
Add the possibility to setup environment variable for KLayout scripts.
jpc-lip6 Dec 19, 2024
ca78223
Make the pnr scriptless rule (for GUI) never up-to-date, so it is alw…
jpc-lip6 Dec 19, 2024
5c7fdab
In the pnrcheck rule set, make cgt depends on netlist generation.
jpc-lip6 Dec 19, 2024
a9c0aee
Fix error in windowed LVX, generating open over the cut line.
jpc-lip6 Dec 23, 2024
cddd5f3
Seems that Fedora 41 has a slightly different rpmbuild layout.
jpc-lip6 Dec 30, 2024
1034a9e
Fix inverted conditional in Makefile.LIP6
jpc-lip6 Dec 31, 2024
2a27377
Support for Debian build under openSUSE build system.
jpc-lip6 Jan 1, 2025
5c73ca2
Updating for Debian packaging & name of the OBS upload script.
jpc-lip6 Jan 6, 2025
35c17f8
Updating for Debian packaging & name of the OBS upload script.
jpc-lip6 Jan 6, 2025
2a02d22
Add python3-doit dependency.
jpc-lip6 Jan 10, 2025
0ba8de4
Adjustements to work under Debian. When system installed.
jpc-lip6 Jan 11, 2025
355afdc
Fix bugs for Debian standalone installation.
jpc-lip6 Jan 11, 2025
3c88c6e
Merge branch 'main' into ihp-fix
jpc-lip6 Jan 25, 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
Prev Previous commit
Next Next commit
Little rework for more flexibility in the klayout wrapper.
  • Loading branch information
jpc-lip6 committed Nov 16, 2024
commit ac8ce32338d5afeaafd142aac304bef99db62b2a
27 changes: 25 additions & 2 deletions cumulus/src/designflow/klayout.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,48 @@

class MissingTarget ( Exception ): pass
class BadDrcRules ( Exception ): pass
class BadLypFile ( Exception ): pass


class Klayout ( FlowTask ):

Verbose = 0x0001

_lypFile = None

@staticmethod
def setLypFile (lypFile ):
if isinstance(lypFile,Path): pass
elif isinstance(lypFile,str): lypFile = Path( lypFile )
else:
raise BadLypFile( '[ERROR] Klayout.setLypFile(): Should be <str> or <Path> ({})' \
.format( lypFile ))
if not lypFile.is_file():
raise BadLypFile( '[ERROR] Klayout.setLypFile(): File not found "{}"' \
.format( lypFile ))
Klayout._lypFile = lypFile

@staticmethod
def mkRule ( rule, targets=[], depends=[], script=None, variables={}, flags=0 ):
return Klayout( rule, targets, depends, script, variables, flags )

def __init__ ( self, rule, targets, depends, script, variables, flags ):
depends.insert( 0, script )
if script:
depends.insert( 0, script )
super().__init__( rule, targets, depends )
self.flags = flags
self.variable = variables
self.command = [ 'klayout' ]
if Klayout._lypFile:
self.command += [ '-l', Klayout._lypFile.as_posix() ]
for name, value in variables.items():
self.command += [ '-rd', '{}={}'.format(name,value) ]
self.command += [ '-b', '-r', self.file_depend(0).as_posix() ]
if script:
if isinstance(script,Path):
script = script.as_posix()
self.command += [ '-b', '-r', script ]
if self.file_depend(0):
self.command += [ self.file_depend(0).as_posix() ]
self.addClean( self.targets )

def __repr__ ( self ):
Expand Down
Loading