Search
Use Maestro in ‘multiple IPs’ mode
‘Multiple IPs’ mode : overview
Using Maestro with multiple IP instances requires a 32-bit time reference counter, running continuously at a sufficiently high clock frequency. Maestro uses this counter as a common time reference to align the captures from all IP instances and to compensate for the trigger delays between them.
The Exostiv IP instances must also be connected to each other through the trigger loop. This connection is made outside the IP instances, by chaining them: the trigger output of each IP instance is connected to the trigger input of the next one.
Multiple IPs mode is only available with Exostiv Blade, and only with IP instances created in RTL mode in Exostiv Core Inserter:
- each IP instance requires its own transceiver connection, and Exostiv Blade has multiple physical connectors;
- in RTL mode, unlike netlist mode, each IP instance is generated separately. You then instantiate the IP instances in the target design, together with the time reference counter and the trigger loop.
Setup in the Exostiv Core Inserter
For each Exostiv IP instance, in Exostiv Core Inserter:
- select the ‘Enable’ check box.
- in the ‘IP topology’ drop-down list, select ‘Multiple IPs’.
- enter the frequency of the external time reference counter, in MHz.
- Leave the ‘Support clock gating’ unchecked.


Connecting each IP ‘cross-triggering’ port
Once generated, the Exostiv IPs have an additional ‘cross-triggering’ port:
VHDL:
-- Cross-triggering
timeClk_in : in std_logic := '0';
timeValue_in : in std_logic_vector(31 downto 0) := (others => '0');
crossTrig_in : in std_logic := '0';
crossTrig_out : out std_logic;
Verilog:
// Cross-triggering
input timeClk_in;
input [31:0] timeValue_in;
input crossTrig_in;
output crossTrig_out;
In Multiple IPs mode, each Exostiv IP instance has the following ports, which must be connected in the target design:
timeClk_in: the clock of the external time reference counter. Its frequency must match the value entered in the ‘Counter frequency (MHz)’ setting in Exostiv Core Inserter.timeValue_in: the 32-bit output of the external time reference counter.crossTrig_in: thecrossTrig_outoutput of the previous Exostiv IP instance in the trigger loop.crossTrig_out: thecrossTrig_ininput of the next Exostiv IP instance in the trigger loop.
Finally, connect the crossTrig_out output of the last IP instance to the crossTrig_in input of the first one, to close the loop.