Closed marwaneltoukhy closed 1 year ago
Looks like the DRC rule is wrong, there is no DNWELL
inside the simple_por
at all. I can see from the rule that there is .overlapping(dualgate)
not dnwell
. @atorkmabrains can you please weigh in here?
@marwaneltoukhy May you elaborate why you are using LVPWELL this way? It's a DRC issue as well. But I think it's useless to add this LVPWELL. I just want to understand the reason.
@atorkmabrains : I seem to recall having this conversation before. The GF documentation is very clear where it says "If this layer is used without DNWELL, the body of all those transistors will by default be connected to p-substrate potential", indicating that it is a standard use case to use LVPWELL as an indicator of p-substrate outside of deep nwell. All of the GDS files from GF use the LVPWELL layer in this way. This usage also has the advantage that a cell layout, such as a standard cell layout, can be placed directly inside a deep nwell structure and work correctly without modification. That is, when placed inside the deep nwell area, the LVPWELL indicates a pwell-within-deep-nwell, while when placed outside the deep nwell area, the LVPWLL indicates the p-substrate. This works without the need for a separate set of standard cells to be used in deep nwell.
@atorkmabrains : Note that when used outside of deep nwell, and as an indicator of p-substrate, there is no physical mask geometry associated with the LVPWELL layer and therefore no specific width or spacing rules apply.
Thanks @RTimothyEdwards I know that and I wanted to confirm the usage methodology. @marwaneltoukhy you are right. that's clearly a bug in the DRC rule deck. Will be updated. I'm going to release a major update in the next few changes.
@atorkmabrains We need that change ASAP, as it is blocking our tapeout. When can we get that fix?
HI @marwaneltoukhy and @RTimothyEdwards
All rules has been fixed for simple_por. Please find the latest rule deck at: https://github.com/efabless/globalfoundries-pdk-libs-gf180mcu_fd_pr
Run command has changed to:
python run_drc.py --variant=C --path=./testing/testcases/spm.gds --run_dir=./drc_runs
Please let me know if you have any other issues.
Expected Behavior
simple_por
DRC cleanActual Behavior
simple_por
has a violation in ruleLPW.2a_5V_
Steps to Reproduce the Problem
python3 run_drc.py --gf180mcu=C --path=$CARAVEL_ROOT/macros/simple_por/gds/simple_por.gds.gz
Specifications
Extra materials
Screenshot of DRC error: