Product Documentation
Spectre AMS Designer and Xcelium Simulator Mixed-Signal User Guide
Product Version 22.09, September 2022

SystemVerilog Interconnects

SystemVerilog (SV) interconnect nets are specified using the keyword interconnect and can be used only in net_lvalue port expressions. These are also called explicit interconnects. In addition, there are interconnect nets, also called implicit interconnects, that that are declared as wires but through analysis the elaborator determines whether they should be treated as interconnect nets. Implicit interconnect nets are not declared using the interconnect keyword. SV supports both types of interconnect nets.

An implicit interconnect is considered an interconnect net, if it meets all of the below criteria:

In general, explicit interconnects can only be connected to nets. However, they can be connected to non-nets under the following conditions:

Explicit interconnects are supported in the AMS CPF flow. For explicit interconnects, the following is supported:

The following is not supported:

Explicit interconnects can be connected to any port expression that adheres to the following port connection rules:

All port compatibility rules described below must still be followed once the type of interconnect is determined.

Port Connection Rules

A singular interconnect can connect to any of the following:

Connection of a singular interconnect to an array port, or an array port to a singular interconnect is governed by the following rules:

Port Collapsing Rules

When a port connection contains an interconnect net, the following collapsing rules apply:

However, if you use the -delay_wire_dominant option, the port collapsing rules would be as follows:

Interconnect Connections to VHDL Ports

Explicit interconnects can be connected to VHDL real ports by coercing the interconnect to wreal. In addition, explicit interconnects can be connected to VHDL real ports by coercing the interconnect net to a built-in real nettype. The resolution for explicit interconnects is the same as implicit interconnects. That is, if an explicit interconnect is also connected to a wreal or a net of built-in nettype, it takes that type, otherwise, it gets the default type.

For nets that have a mix of wreal and VHDL real signals, the resolution may change depending on where the drivers of the mixed language net exist. If all the drivers are in VHDL, the resolution is also done in VHDL. If the net has any Verilog drivers, then the resolution is done in Verilog (wreal resolution). If the VHDL and wreal resolution functions do not match, the behavior may be different based on the design configuration.

Explicit interconnects connected to VHDL ports are coerced to electrical. In addition, an interconnect connected to a scalar or vector STD_LOGIC port is coerced to a packed array of logic equivalent to a Verilog logic wire.

Discipline Resolution

Explicit interconnects support default, detailed, and block-based discipline resolution.

Net Delays on Interconnects

The AMS Designer simulator supports a single value net delay on explicit interconnects. For implicit interconnects having multiple delay values, the following rules apply:

When ports are collapsed, only the delay on the dominating net is applied. Since the typed net is always the dominating net, net delays on interconnects may not be applied. For more information on how interconnect ports collapse, see Port Collapsing Rules.

In addition, when an interconnect (explicit or implicit) is coerced to electrical, the net delay is ignored.

Related Topic



 ⠀
X