Product Documentation
Mixed Signal (MS) Interoperability Guide
Product Version 22.13, Last Updated in July 2023

22

Voltage Dependent Rule Interoperability

22.1 Overview

You can create Voltage Dependent Rules (VDRs) which can be associated with signal nets using the Common Power Format (CPF). The layer purpose per voltage is carried with the VDR rules itself. With this understanding, NanoRoute and WireEditor simply use the DRC rules coming from specified VDR and voltage values on the nets coming from CPF.

Innovus allows the LEF VOLTAGESPACING rule through a LEF 5.8 property (and an equivalent OpenAccess technology rule) to support voltage-dependent spacing rules.

Innovus does not directly support layer-purpose on each routing-shape in the Innovus database. Instead it depends on net voltage levels specified through a CPF file. All the shapes of a given net inherit the voltage for that net.

Loading a CPF file will assign voltage levels to power/ground nets and implicitly their associated signal nets belonging to the same power domain. If no voltage levels are loaded (no CPF), then the VDRs have no effect inside Innovus.

Note: The VDR file is required only with CPF. In the case of Unified Power Format (UPF), the voltage specs are part of the view definition files and so the VDR file is not required.

22.2 VDR Syntax

The following is syntax for VDR in the ASCII technology file:

techPurposes(

 ;( PurposeName Purpose# Abbreviation )
  ;( ----------- -------- ------------ )
   ( lv 100 lv 'parent "drawing" 'voltageRange ( 0.0 1.5 ) 'description "low-voltage" )
   ( hv 101 hv 'parent "drawing" 'voltageRange ( 1.5 3.3 ) 'description "high-voltage" )
.
.
)

constraintGroups(

;( group [override] )
;( ----- ---------- )
( "foundry" nil

spacings(

( minSpacing ("Metal1","lv") 1.5 'ref "M1.S.LV" 'description "M1 LV spacing = 1.5" )
( minSpacing ("Metal1","hv") 3.3 'ref "M1.S.HV" 'description "M1 HV spacing = 3.3" )
.
.
)

The corresponding LEF syntax is:

LAYER Metal1

...

VOLTAGESPACING TOCUT ABOVE

     0       0.75

     1.5     0.95

     3.3     1.25 ;

VOLTAGESPACING

     0       0.7

     1.5     0.9

     3.3     1.2 ;

.....

END Metal1

You can distinguish between high voltage and low voltage wires by using different layer-purpose pairs (LPPs) for routing in Virtuoso.

In Innovus, the VDR is read from the OpenAccess database through its native constructs.

The applications that support VDRs within Innovus are NanoRoute and verifyGeometry. Basic VDR rules are part of the technology rules and are not modified within Innovus.




 ⠀
X