Product Documentation
Virtuoso ADE SKILL Reference
Product Version IC23.1, November 2023

maeAddFaultRule

maeAddFaultRule(
[ ?session t_sessionName ] 
[ ?faultType t_faultType ] 
[ ?resistance t_resistance ] 
[ ?weightExpr t_weightExpr ] 
[ ?weightFactor t_weightFactor ] 
[ ?inst t_instance ] 
[ ?excludeInst t_excludeInst ] 
[ ?excludeSubckt t_excludeSubckt ] 
[ ?faultDevices t_faultDevices ] 
[ ?pinNames t_pinNames ] 
[ ?extraOptions t_extraOptions ]
[ ?useNetlistSyntax g_useNetlistSyntax ]
[ ?enableIEEE2427Mode g_enableIEEE2427Mode ]
[ ?enableFaultCollapse g_enableFaultCollapse ]
)
=> t / nil

Description

Creates a new fault rule with the given set of properties.

Arguments

?session t_sessionName

Name of a session.

Default: Current session

?faultType t_faultType

Type of the fault to be inserted.

Possible values:

  • "Bridge"
  • "Open (Terminal based)"
  • "Stuck-at"
  • "Custom"

Default value: "Bridge"

?resistance t_resistance

Resistance value for the fault rule. When not specified, the resistance value is taken from the global preferences for faults.

Possible values: A positive numeric value in string format.

?weightExpr t_weightExpr

An expression that defines the fault weighting function. When not specified, the weight expression is taken from the global preferences for faults.

Default value is taken from global fault options.

?weightFactor t_weightFactor

Weight factor for the fault rule. When not specified, the weight factor is taken from the global preferences for faults.

Possible values: A positive numeric value in string format.

?inst t_instance

Name of an instance below which you need to inject faults in design hierarchy.

Default: "*"

?excludeInst t_excludeInst

A space-separated list of instance paths to be excluded while injecting faults.

?excludeSubckt t_excludeSubckt

A space-separated list of subcircuits to be excluded while injecting faults.

?faultDevices t_faultDevices

A space-separated list of fault devices on which you want to inject faults.

Default value: "*"

?pinNames t_pinNames

A space-separated list of pin names on which you want to inject faults.

value: "*"

?extraOptions t_extraOptions

Additional info analysis options in the syntax supported by the simulator.

?useNetlistSyntax g_useNetlistSyntax

A Boolean value that specifies whether to use the netlist format for instance names.

Default value: nil

?enableIEEE2427Mode g_enableIEEE2427Mode

A Boolean value that enables the IEEE 2427 mode in Spectre info analysis.

Default value: nil

?enableFaultCollapse g_enableFaultCollapse

A Boolean value that enables fault collapsing for the fault rule. This option is overridden by the fault collapsing options provided in the global preferences.

Value Returned

t

A fault rule is successfully created.

nil

In case of an error.

Example

The following example shows how to add or create a new fault rule with all default values:

maeAddFaultRule()
=> t 
; a new fault rule is added to the maestro session

The following example shows how to add or create a new fault rule to insert bridges of resistance 150 ohms in the design hierarchy under instance I3:

maeAddFaultRule(?faultType "Bridge" ?weightExpr "w * 2" ?inst "I3" ?resistance "150")
=> t 

The following example shows how to add a fault rule to insert a stuck-at fault of resistance 100 ohms in the design hierarchy under instance M5:

maeAddFaultRule(?faultType "Stuck-at" ?resistance "100" ?inst "M5")

Related Topics

Injecting Faults in a Design


Return to top
 ⠀
X