• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Analog/Custom Design
  3. Spectre Tech Tips: Spectre Voltage Domain Check
Stefan Wuensche
Stefan Wuensche

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
Spectre 21.1
Analog Simulation
Spectre Circuit Simulator
Spectre X Simulator

Spectre Tech Tips: Spectre Voltage Domain Check

31 Jan 2022 • 3 minute read

  

The Spectre® circuit simulator provides a large set of static or topology checks that allow the designers to identify typical setup or design problems without running any transient or other analysis. In this blog, we will review the static voltage domain check. 

Motivation

Most mixed-signal designs contain multiple power supply domains, and high-and low-voltage devices. While the digital circuitry typically operates at a lower voltage, the analog, power, and driver circuitry may operate at higher voltages. The goal in circuit design is to not mix domains due to the following problems:

  • If a low-voltage device is placed in a high-voltage domain, then it gets a higher voltage stress over time, which may lead to early lifetime failure.
  • If a low-voltage domain digital gate (i.e., 0.9V) drives a high-voltage digital gate (i.e., 1.8V), then the low-voltage digital gate output may not reach the high-voltage threshold that is required to switch the driven high-voltage digital gate.
  • The mix of high and low voltage devices may cause undesired leakage currents. 

The following graphic shows an example of a problem circuitry (node in is driven by a 0.9V domain PWL vsource):

Voltage_domain_check

Typical design problems we see when debugging Spectre simulation problems are that devices are wrongly placed in a voltage domain and that level shifters are missing between domains with different power supply voltages.

Voltage Domain Check

The Spectre voltage domain check is a static check that is performed on the Spectre simulation database after parsing. It is based on a voltage propagation algorithm. It propagates the voltage from the power supply and derives the highest and lowest possible voltage for each node of the design. The result of the propagation is a table that contains the maximum and minimum voltage for each node of the design. Once this table is available, the voltage domain check will identify any device that shows different voltage domains at its terminals and reports it as a device with voltage domain violation.

The voltage propagation algorithm requires a conducting rule for each element. In the static voltage domain check, MOSFETs, BJTs, resistors, and diodes are considered to be conducting independent of their parameter values. The capacitors are considered to be nonconducting.

The static voltage domain check can be enabled by using the following statement:

check1 static_voltdomain model=[*]

where, check1 is the name of the check and the static_voltdomain is the keyword of the check. The model parameter defines the device model names of all MOSFET instances to be checked. Most users apply the check to all MOSFET instances by setting this parameter to[*].

The results of this check can be viewed in a Web browser by using the XML output or in Virtuoso® ADE Explorer or Virtuoso ADE Assembler by using the SQL output format. Advanced users may use their own scripts to read the SQL output.

The following table shows the XML report for the example schematic shown earlier: 

Results_voltage_domain_check

The table is separated into two sections, one showing a high-voltage domain driving a low-voltage domain and the other showing a low-voltage domain driving a high-voltage domain.

Similar to any other Spectre design check, the static_voltdomain check can be applied globally to the entire design or locally to selected blocks of a design (by using the subckt or inst parameters). If required, selected blocks can be excluded from the check (by using the xsubckt or xinst parameters).

Related Resources

  • Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide
  • Application Note: Introducing Spectre X
  • Application Note: Spectre Assert and Design Check Overview

You may also contact your Cadence support AE for guidance.

For more information on Cadence products and services, visit www.cadence.com.

About Spectre Tech Tips

Spectre Tech Tips is a blog series aimed at exploring the capabilities and potential of Spectre simulation platform. In addition to providing insight into the useful features and enhancements in Spectre, this series broadcasts the voice of different bloggers and experts, who share their knowledge and experience on all things related to this platform. 



CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information