From 405ac5109a5ce95a2ec553c1727b3958da5a6a69 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 28 Apr 2024 19:57:10 +0200 Subject: [PATCH] Update DRC documentation, explaining the waive flow. --- src/doc/doc/manual/drc_basic.xml | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/doc/doc/manual/drc_basic.xml b/src/doc/doc/manual/drc_basic.xml index 4fe88fc7a..a5f0cc756 100644 --- a/src/doc/doc/manual/drc_basic.xml +++ b/src/doc/doc/manual/drc_basic.xml @@ -234,6 +234,49 @@ gate.width(min_width).output("gate_width", "Gate width violations") Hence such files can only be run from the macro IDE.

+

DRC waiving flow

+ +

+ DRC waiving is a process of signing off DRC violations that cannot be avoided. + Usually DRC waiving is not encouraged, as manufacturability of the device cannot + be guaranteed if DRC violations are present. Even worse, giving a non-clean layout + into manufacturing may create a contamination risk that manufacturers will try + to avoid. Hence, non-DRC-clean layouts are usually rejected. +

+ +

+ Still there are some legit reasons for DRC waiving. Sometimes DRC rules do not apply + because a specific technology option is not used by the device and corresponding + DRC rules do not apply. Or, a certain DRC rule may be a recommended rule, and violating + it is not forbidden. In that case, a DRC violation can be waived at your own risk. + Waiving is not a formal process. Usually, the manufacturer will ask for a confirmation + if DRC violations are present. KLayout can help documenting violations and copying + the waivers from one DRC run to the next. +

+ +

+ The DRC waiving flow of KLayout is the following: +

+ + + +

+ In the waiving step, KLayout will apply attributes to items with the same value (i.e. shape), category and cell. + This specifically means, that when you rename a cell, waivers will no longer be applied, or - in the worst case - + be applied to the wrong cell. Hence, waiving should be done late in the process, when cell names are unlikely to change. +

+

Using KLayout as a standalone DRC engine