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

Specifying Boundary Ports and Macro Models

Boundary ports are specified and applied to primary inputs or outputs of a top-level design or a macro model.

If a mixed-signal net is connected to a boundary port, AMS-CPF ensures that the:

During the elaboration phase (xrun -elaborate), AMS-CPF:

During the simulation phase (xrun -r), AMS-CPF checks the power status of the boundary port domain in the amscpf-vpi function.

Bus, bit-select, and part-select of an analog port, including the SPICE port, can be used in the boundary port while performing domain mapping, especially for macro model usage, as shown in the following example:

//SPICE block
.subckt ana_inv in[3] in[2] in[1] in[0] out[3] out[2] out[1] out[0] vdd vss
...
.ends ana_inv
//instantiation in top
module top();
...

wire [3:0]data1;
wire [3:0]data2;
wire [3:0]aout1;
wire [3:0]aout2; 

ana_inv anaInst1 (data1, aout1, vdd, gnd);
...
endmodule
//Verilog ref block
module ana_inv (in,out,vdd,vss);
input [3:0]in;
output [3:0]out;
electrical [3:0]in;
electrical [3:0]out;
...
endmodule

The boundary port of a SPICE instance can be defined in the CPF file as follows:

# design ana_inv
set_macro_model ams_inv
create_power_domain -name PD_ON -boundary_ports { vdd vss } -default
create_power_domain -name PD_SW -boundary_ports { in out[3] out[2:1] out[0] }
end_macro_model

Here,




 ⠀
X