## table of contents

other versions

- buster 5.1.1-3

DRUC(1) | ALLIANCE USER COMMANDS | DRUC(1) |

# NAME¶

druc - Design Rule Checker# SYNOPSIS¶

**druc**

*input_name*[

*-v*] [

*-h*]

# ORIGIN¶

This software belongs to the**developed by the ASIM team at**

*ALLIANCE CAD SYSTEM***LIP6**laboratory of Université Pierre et Marie CURIE, in Paris, France.

Web : *http://asim.lip6.fr/recherche/alliance/*

E-mail : *alliance-users@asim.lip6.fr*

# DESCRIPTION¶

**DRuC**is a general parametrized VLSI design rule checker.

This tool replace the

**VERSATIL**tool that is not anymore supported.

This manual presents the layout rules for tle

**ALLIANCE**symbolic layout approach. The rules are described in a technology file defined by the environment variable

**RDS_TECHNO_NAME**(see bellow).

The root cell and all the instanciated cells (except the intanciated libraries cells) must be in the current directory.

The default mode of

**DRuC**is (currently) full flat: it first flatten all the hierarchy in order to obtain a flat, rectangle level description.

# OPTIONS¶

- -v
- Verbose mode on. Each step of the DRC is output on the standard output
- -h
- Hierarchical design rule checking. Generates lots of files locally, to be used by future invocation of druc. Don't ask me if and how this works, but since you also fetched the sources, ...

# DESIGN RULES DESCRIPTION¶

**0: LAYER NAME.**

This section explicits the layer name used in the following rules.

- NWELL : N well

- NTIE : N well polarisation

- PTIE : P substrat polarisation

- NDIF : N diffusion

- PDIF : P diffusion

- GATE : transistor gate

- POLY : polysilicon wire

- ALU1 : first level of metal

- ALU2 : second level of metal

- CONT : contact between ALU1 and POLY or DIFF

- VIA : contact between ALU1 and ALU2

**I: LAYER WIDTH.**

This class of rules deals with the width limits of a layer. and the conditions for equipotentiality between two overlapping or abutting segments.

rule 1 :the minimum width for a segment of NWELL is 4corresponding error codes are : 100 101

rule 2 : the minimum width for a segment of NTIE is 2 corresponding error code is : 119

rule 3 : the minimum width for a segment of PTIE is 2 corresponding error codes are : 122 123

rule 4 : the minimum width for a segment of NDIF is 2 corresponding error codes are : 140 141

rule 5 : the minimum width for a segment of PDIF is 2 corresponding error codes are : 165 166

rule 6 : the minimum width for a segment of GATE is 1 corresponding error codes are : 234 235

rule 7 : the minimum width for a segment of POLY is 1 corresponding error codes are : 234 235

rule 8 : the minimum width for a segment of ALU1 is 1 corresponding error codes are : 238 239

rule 9 : the minimum width for a segment of ALU2 is 2 corresponding error codes are : 242 243

rule 10 : the width of a CONT must be equal to 1 corresponding error codes are : 246 247

rule 11 : the width of a VIA must be equal to 1 corresponding error codes are : 261 262

**II: FORBIDDEN OVERLAP**

This class of rules specifies the forbidden overlaps between two
layers. (The distance between them must be strictly positive)

rule 12 : contact between PTIE and NWELL is forbidden. corresponding error codes are : 126 127 128 129 130 131

rule 13 : contact between PTIE and NTIE is forbidden. corresponding error codes are : 133 134 135 136 137 138

rule 14 : contact between NDIF and NWELL is forbidden. corresponding error codes are : 144 145 146 147 148 149

rule 15 : contact between NDIF and NTIE is forbidden. corresponding error codes are : 151 152 153 154 155 156

rule 16 : contact between NDIF and PTIE is forbidden. corresponding error codes are : 158 159 160 161 162 163

rule 17 : contact between PDIF and NTIE is forbidden. corresponding error codes are : 169 170 171 172 173 174

rule 18 : contact between PDIF and PTIE is forbidden. corresponding error codes are : 176 177 178 179 180 181

rule 19 : contact between PDIF and NDIF is forbidden. corresponding error codes are : 183 184 185 186 187 188

rule 20 : contact between GATE and NTIE is forbidden. corresponding error codes are : 191 192 193 194 195 196

rule 21 : contact between GATE and PTIE is forbidden. corresponding error codes are : 198 199 200 201 202 203

rule 22 : contact between POLY and NTIE is forbidden. corresponding error codes are : 207 208 209 210 211 212

rule 23 : contact between POLY and PTIE is forbidden. corresponding error codes are : 214 215 216 217 218 219

rule 24 : contact between POLY and NDIF is forbidden. corresponding error codes are : 221 222 223 224 225 226

rule 25 : contact between POLY and PDIF is forbidden. corresponding error codes are : 228 229 230 231 232 233

rule 26 : contact between CONT and GATE or POLY is forbidden. corresponding error codes are : 249 250 251 252 253

rule 27 : contact between VIA and GATE is forbidden. corresponding error codes are : 264 265 266 267 268 269

rule 28 : contact between VIA and POLY is forbidden. corresponding error codes are : 271 272 273 274 275 276

rule 29 : contact between VIA and CONT is forbidden. corresponding error codes are : 278 279 280 281 282 283

rule 30 : contact between NTIE and NWELL is forbidden. corresponding error code is : 109

rule 31 : contact between PDIF and NWELL is forbidden. corresponding error code is : 117

**III: LAYER NOTCH.**

This class of rules deals with the notch limits of a layer.

rule 32 : the minimum notch for a segment of NWELL is 4 corresponding error code is : 102

rule 33 : the minimum notch for a segment of NTIE is 2 corresponding error code is : 120

rule 34 : the minimum notch for a segment of PTIE is 2 corresponding error code is : 124

rule 35 : the minimum notch for a segment of NDIF is 2 corresponding error code is : 142

rule 36 : the minimum notch for a segment of PDIF is 2 corresponding error code is : 167

rule 37 : the minimum notch for a segment of POLY is 1 corresponding error code is : 236

rule 38 : the minimum notch for a segment of ALU1 is 2.5 corresponding error code is : 240

rule 39 : the minimum notch for a segment of ALU2 is 2 corresponding error code is : 244

**IV: MINIMUM SPACING**

This class of rules specifies the minimum edge-to-edge distance allowed between two layers.

rule 40 :the minimum distance between NWELL and NWELL is 12corresponding error code is : 118

rule 42 : the minimum distance between NTIE and NTIE is 3 corresponding error code is : 121

rule 43 : the minimum distance between PTIE and NWELL is 7.5 corresponding error code is : 125

rule 44 : the minimum distance between PTIE and NTIE is 8 corresponding error code is : 132

rule 45 : the minimum distance between PTIE and PTIE is 3 corresponding error code is : 139

rule 46 : the minimum distance between NDIF and NWELL is 7.5 corresponding error code is : 143

rule 47 : the minimum distance between NDIF and NTIE is 8 corresponding error code is : 150

rule 48 : the minimum distance between NDIF and PTIE is 3 corresponding error code is : 157

rule 49 : the minimum distance between NDIF and NDIF is 3 corresponding error code is : 164

rule 51 : the minimum distance between PDIF and NTIE is 3 corresponding error code is : 168

rule 52 : the minimum distance between PDIF and PTIE is 8 corresponding error code is : 175

rule 53 : the minimum distance between PDIF and NDIF is 8 corresponding error code is : 182

rule 54 : the minimum distance between PDIF and PDIF is 3 corresponding error code is : 189

rule 55 : the minimum distance between GATE and NTIE is 1 corresponding error code is : 190

rule 56 : the minimum distance between GATE and PTIE is 1 corresponding error code is : 197

rule 57 : the minimum distance between GATE and NDIF is 1 corresponding error code is : 204

rule 58 : the minimum distance between GATE and PDIF is 1 corresponding error code is : 205

rule 59 : the minimum distance between GATE and GATE is 2 corresponding error code is : 237

rule 60 : the minimum distance between POLY and NTIE is 1 corresponding error code is : 206

rule 61 : the minimum distance between POLY and PTIE is 1 corresponding error code is : 213

rule 62 : the minimum distance between POLY and NDIF is 1 corresponding error code is : 220

rule 63 : the minimum distance between POLY and PDIF is 1 corresponding error code is : 227

rule 64 : the minimum distance between POLY and GATE is 2 corresponding error code is : 237

rule 65 : the minimum distance between POLY and POLY is 2 corresponding error code is : 237

rule 66 : the minimum distance between ALU1 and ALU1 is 2.5 corresponding error code is : 241

rule 67 : the minimum distance between ALU2 and ALU2 is 2 corresponding error code is : 245

rule 68 : the minimum distance between CONT and CONT is 3 corresponding error code is : 254

rule 69 : the minimum distance between VIA and GATE is 2 corresponding error code is : 263

rule 70 : the minimum distance between VIA and POLY is 2 corresponding error code is : 270

rule 71 : the minimum distance between VIA and CONT is 2 corresponding error code is : 277

rule 72 : the minimum distance between VIA and VIA is 3 corresponding error code is : 284

rule 73 : the minimum distance between CONT and GATE or POLY is 1.5 corresponding error code is : 248

**V: TOTAL INCLUSION.**

The last class of rules deals with the inclusion of a layer in another one.

rule 74 :NTIE must be included in NWELL with a minimun margin of 0.5corresponding error code is : 103

rule 75 : PDIF must be included in NWELL with a minimun margin of 0.5 corresponding error code is : 110

# FILES¶

If design errors are found,**DRuC**produces the list of them in two files :

- - <
*root_name.drc*>:

This ascii file contains the list of DRC violations.- <

*root_name.iii*>:

This**gds**ro**cif file contains only rectangles detected in violation.**

( suffix iii is defined with the environment )*RDS_OUT_PH*is default setted to gds.

# ENVIRONMENT VARIABLES¶

**DRuC**uses several environment variables: - MBK_IN_PH - defines the layout input format.

- RDS_OUT_PH - defines the layout output format.

- RDS_TECHNO_NAME - defines the technology file.

- MBK_CATA_LIB - defines the catalog directory.

See the corresponding manual pages for further informations.

# EXAMPLE¶

druc register# BUG REPORT¶

This tool is under development at the**ASIM**department of the

**LIP6**laboratory.

We need your feedback to improve documentation and tools.

October 1, 1997 | ASIM/LIP6 |