Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); StdCellLib DRC fixes and via enclosure improvement by FatsieFS · Pull Request #5 · ChipFlow/mpw4 · GitHub
Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

StdCellLib DRC fixes and via enclosure improvement - #5

Merged
gatecat merged 1 commit into
mainfrom
staf/drcfix
Dec 22, 2021
Merged

StdCellLib DRC fixes and via enclosure improvement#5
gatecat merged 1 commit into
mainfrom
staf/drcfix

Conversation

@FatsieFS

Copy link
Copy Markdown
Contributor
  • Fix DRC errors:
    • min tap licon enclosure
    • minimum licon on poly difftap space
    • minimum poly to difftap space
  • Update via enclosure for routing to make width/height same as the
    wire in the routing direction.
  • TODO: CRL.RoutingLayerGauge.PowerSupply

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Hopefully I did magic DRC properly this time and is the design DRC clean.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Having top layer not as CRL.RoutingLayerGauge.PowerSupply does not seem to cause a problem. I can do P&R only I seem to have one failed route.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Out of the discussion in #4 I think I now how to improve the routing gauge computation. Will try to see if I can squeeze that in today.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And there seems to be implant spacing errors after routing also be left...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Pushed new commit that should fix DRC errors of minimum implant spacing after placement and also the computed via enclosure should be more in line with #4.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

And I rebased also on main branch.

@gatecat

Copy link
Copy Markdown
Contributor

I've tried this branch and I think I'm still seeing a DRC error in decap_w0 at least:

poly contact spacing to P-diffusion < 0.235um (licon.9 + psdm.5a)

Screenshot from 2021-12-20 20-09-06

The tap issue does seem to be fixed though; and it could well be the remaining problem is just something setup wrong on my side...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

How do you run DRC ? I guess I wrongly assumed DRC was OK but that it actually errored out.
I am trying to run the script from the open_pdk

% ~/eda/open_pdks/sky130/sky130A/libs.tech/magic/run_standard_drc.py StdCellLib_upstream.gds Evaluating full DRC results for layout StdCellLib_upstreamRunning: magic -dnull -noconsole -rcfile /home/verhaegs/eda/Chips4Makers/CIIC/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc /home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tclRunning in directory: /home/verhaegs/eda/code/c4m-pdk-sky130/drcMagic 8.3 revision 239 - Compiled on vr 10 dec 2021 13:59:22 CET.Starting magic under Tcl interpreterUsing the terminal as the console.Using NULL graphics device.Processing system .magicrc fileSourcing design .magicrc for technology sky130A ...2 Magic internal units = 1 LambdaInput style sky130(vendor): scaleFactor=2, multiplier=2Scaled tech values by 2 / 1 to match internal grid scalingLoading sky130A Device Generator Menu ...Loading "/home/verhaegs/eda/code/c4m-pdk-sky130/drc/run_magic_drc_StdCellLib_upstream.tcl" from command line.DRC style is now "drc(full)"Warning: Calma reading is not undoable! I hope that's OK.Library written using GDS-II Release 6.0Library name: LIBReading "a2_x2".Reading "a3_x2"....Reading "nor4_x0".Creating new cellLoading DRC CIF style.No errors found.Using technology "sky130A", version 1.0.227-0-g527bfa4Error message output from magic:CIF file read warning: CIF style sky130(vendor): units rescaled by factor of 2 / 1File StdCellLib_upstream.mag couldn't be readNo such file or directoryDone!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK, I can reproduce the DRC error now in the magic GUI; will fix.

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

I hope I have now solved the decap_w0 DRC error also. My magic DRC setup is still not ideal.

@gatecat

Copy link
Copy Markdown
Contributor

Unfortunately I now seem to be seeing a different error in decap_w0?

poly spacing to Diffusion < 0.075um (poly.4)

Screenshot from 2021-12-21 13-36-02

fwiw, I am using the rcfile open_pdks/sky130/sky130A/libs.tech/magic/sky130A.magicrc with Magic

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

oh, I should note, I'm running DRC on the GDS coming out of Coriolis (and loading cells inside it) and not on the StdCellLib.gds

StdCellLib.gds looks alright here; so I guess something is slightly off in the Coriolis techlib

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I botched the commit as I saw and fixed that problem; mmm...

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

Seems I only regenerated gds files and not the Coriolis files for last commit.
I keep on trying...

@gatecat

Copy link
Copy Markdown
Contributor

Cell library looks good now, although I seem to be seeing some DRC failures in the local interconnect vias - li spacing failure due to the horizontal extension:
Screenshot from 2021-12-21 15-19-17

@gatecat

gatecat commented Dec 21, 2021

Copy link
Copy Markdown
Contributor

Looks like a possible fix to the above issue is:

--- a/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py+++ b/thirdparty/open_pdk/C4M.Sky130/libs.tech/coriolis/techno/etc/coriolis2/node130/sky130/StdCellLib.py@@ -29,7 +29,7 @@ def _routing():
rg.setSymbolic(False)
metal = tech.getLayer('li')
via = tech.getLayer('li_mcon_m1')
- setEnclosures(via, metal, (u(0.075), u(0.0)))+ setEnclosures(via, metal, (u(0.0), u(0.0)))
rg.addLayerGauge(CRL.RoutingLayerGauge.create(
metal, CRL.RoutingLayerGauge.Horizontal, CRL.RoutingLayerGauge.PinOnly, 0, 0.0,
u(0.0), u(0.51), u(0.17), u(0.17), u(0.17), u(0.17),

after that I think the last remaining DRC issues are relating to #6 for which a Coriolis commit just landed and I need to test -- EDIT; yes this does fix the remaining DRC issues!

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

The horizontal and vertical enclosure seem to be mixed up, will have a closer look.

* Fix DRC errors:
* min tap licon enclosure
* minimum licon on poly to difftap and nsdm space
* minimum poly to difftap space
* minimum implant space after P&R
* Update via enclosure for routing to make width/height same as the
routing layers above and below. In order to compute enclosures
properly also right orientation has to be used for PinOnly layer.
* TODO: CRL.RoutingLayerGauge.PowerSupply
@FatsieFS

FatsieFS commented Dec 22, 2021

Copy link
Copy Markdown
ContributorAuthor

Problem was that I did not use the proper direction for the PinOnly layer and that way computed the enclosures wrongly.
Should be fixed now and rebased on main.

@gatecat

Copy link
Copy Markdown
Contributor

Looks good, I'm seeing some last remaining metal1 spacing issues that I think are HTree related:

Screenshot from 2021-12-22 13-36-43

But I don't think the bug now is in this PR; so it can be merged now if you are happy

@FatsieFS

Copy link
Copy Markdown
ContributorAuthor

OK for me to merge.

@gatecat
gatecat merged commit 6744c5f into mainDec 22, 2021
@gatecat
gatecat deleted the staf/drcfix branch December 22, 2021 13:48
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@FatsieFS@gatecat