Exostiv Blade Core Inserter Overview

Exostiv Blade Core Inserter is used to generate the Exostiv Blade IP cores used to capture data from inside FPGA chips with Exostiv Blade.
This application is installed on Windows and Linux workstations and uses the target FPGA vendor tool, which must be installed separately (not provided).

Exostiv Blade Core Inserter provides the following features:

Exostiv Blade IP – Overview

Exostiv Blade IP architecture overview

Each Exostiv IP instance:

  • uses at most 1 full transceiver quad (1 to 4 transceivers);
  • supports transceiver data rates up to 25 Gbps (100 Gbps max per quad);
  • allows sampling frequencies up to 800 MHz(depends on FPGA part capabilities and ability to place and route instrumented design);
  • provides up to 16 ‘capture units’ (the logic used to sample data) with distinct size, triggering, buffering and clocking settings;
  • captures up to 16 times 2,048 bits (up to 16 ‘capture units’) simultaneously;
  • captures from up to 16 distinct clock domains;
  • provides an ability to multiplex up to 16 data groups onto each capture unit;
  • provides a communication channel from the Exostiv Blade to the IP instance to change capture parameters without the need to re-compile;
  • allows cross-clock domain triggering.

Depending on the capture needs, multiple Exostiv Blade Core Inserter IP instances are generated for insertion into one or multiple FPGAs. Because each Exostiv Blade IP instance uses transceivers from the same target FPGA quad, there will be as many physical connections between the target system and the Exostiv Blade unit as there are Exostiv Blade IP instances. Each distinct Exostiv Blade IP instance has to be generated with Exostiv Blade Core Inserter software.

Exostiv Blade Core Inserter – Welcome screen

The welcome screen provides shortcuts to create or load project files (extension .bpf), in addition to license controls and direct access to online documentation (such as this article).
Exostiv Blade Core Inserter software welcome screen
When creating a new project file the type of insertion flow is chosen:

  • Netlist insertion flow: generates the Exostiv Blade IP instance and inserts it automatically into the target synthesized FPGA loaded in Vivado.
  • RTL insertion flow: generate the Exostiv Blade IP instance with a template and constraint files ready for insertion into VHDL or Verilog code.

For more information about the netlist and RTL insertion flows, please refer to the following article: RTL or netlist flow?.

Exostiv Blade Core Inserter – Link configuration

The ‘link configuration’ page defines the target FPGA for the generated IP and how it connects to Exostiv Blade. This information is fully available in the specifications of the target FPGA board – and how it is set up.
The parameters are:

  • FPGA Type: FPGA family, package, speed grade, part number.
  • Upstream link: defines the bank, the number and the pin location of the transceivers used to connect the generated IP to Exostiv Blade.
  • Downstream link: defines which of the chosen transceivers is used for the ‘downstream channel’ from Exostiv Blade to the IP.
  • Reference clock: transceiver source clock characteristics. Location, frequency, derived line rate and PLL parameters.
  • Downstream link rate: some information and parameters about the downstream link.
Exostiv Blade Core Inserter software link configuration screen

Exostiv Blade Core Inserter – Capture configuration

The ‘Capture Configuration’ screen provides the settings that define the resources of the IP used to capture (sample) data from inside the FPGA:

  • The list of ‘capture units’ and the multiplexed data groups connected to each of them;
  • For each capture unit, the allocated resources: trigger machine complexity, additional trigger counter and data qualification, capture unit FIFO / in FPGA buffer size, optional transceiver bandwidth optimization resources (barrel shifter).
  • Sampling clock signal source (netlist mode) and frequency;

Moreover, the ‘capture configuration’ screen provides an analysis of the chosen option, and how they allow streaming data to the Exostiv Blade, provided the number of transceivers and their data rate (burst mode is always possible). For more information about the ‘stream to probe’ and ‘burst to probe’ modes, please check this article.
Exostiv Blade Core Inserter software capture configuration screen

Selecting one of the data groups in netlist mode of insertion displays the controls to select the nodes to be observed from the synthesized design loaded in Vivado.

Data group list of nodes in netlist mode and controls to select them from target netlist

Exostiv Blade Core Inserter – Core Generation and Insertion

Finally, the last screen, which depends on whether netlist or RTL mode of insertion is used, allows running the following:

  • RTL mode: generates an Exostiv Blade IP as configured and provides it as a synthesized netlist with additional files (wrappers, constraints, scripts). Please refer to the following article to learn about the files generated in RTL insertion flow by Exostiv Blade Core Inserter: Xilinx FPGA: which files are produced in RTL flow and how do I use them?
  • Netlist mode: generates an Exostiv Blade IP as configured, inserts it into the synthesized design loaded into Vivado and connects the nodes chosen for observation. Optionally runs implementation (place and route) and bitstream generation.
IP generation / insertion requires a proper reference to the FPGA vendor tool path, as well as specifying a name for the generated instance. ‘Cache controls’ are also available – they allow maintaining a list of previously generated IP cores to avoid generating again a core that was previously generated with identical settings.

Exostiv Blade Core Inserter software core generation and insertion in netlist mode

Exostiv Blade Core Inserter software core generation in RTL mode