Operator AppletProperties

Operator Library: Hardware Platform

The AppletProperties operator has no inputs and no outputs. It controls the applet and the board hardware setup.

The operator provides a set of parameters that describe the applet. Some values are user-defined, while others are automatically generated.

This operator is mandatory in every design and is automatically instantiated by VisualApplets. The operator cannot be deleted.

Available for Hardware Platforms
imaFlex 2 Dual 100
imaFlex CXP-12 Penta
imaFlex CXP-12 Quad
mE5 marathon VCLx
mE5 marathon VCL
mE5 marathon VCX-QP
mE5 marathon VF2
LightBridge VCL
mE5 ironman VQ8-CXP6D
mE5 ironman VQ8-CXP6B
mE5 ironman VD8-PoCL
[Note] Available Parameters

The AppletProperties operator provides a specific set of parameters for each hardware platform.

The parameter descriptions below indicate which hardware platforms support which parameters. If no limitations are specified, the parameter is supported on all platforms.

I/O Properties

Property Value
Operator Type None (since there are no Inputs or Outputs)

Supported Link Format

None

Parameters

VisualAppletsVersion (all platforms)
Type static read parameter
Default N/A
Range N/A

Version number of used VisualApplets version.

ProjectName (all platforms)
Type static read parameter
Default N/A
Range N/A

Name of the project as specified in menu Design, menu item Properties.

AppletVersion (all platforms)
Type static read parameter
Default N/A
Range N/A

Version as specified in menu Design, menu item Properties.

AppletVendor (all platforms)
Type static read parameter
Default N/A
Range N/A

Directly in the Module Properties dialog of this operator, you can enter information on the Applet vendor.

AppletAuthor (all platforms)
Type static read parameter
Default N/A
Range N/A

Directly in the Module Properties dialog of this operator, you can enter information on the Applet author.

BuildTime (all platforms)
Type static read parameter
Default N/A
Range N/A

The BuildTime parameter is an automatically generated string showing when the applet has been build (date and time of latest net list generation).

The parameter value is only visible in the Framegrabber SDK. The following image shows the formatting of the string:

AppletUid (all platforms)
Type static read parameter
Default N/A
Range N/A

Unique ID of the applet. A new ID is created with every new build (if the precondition check is set).

FrontGpiPullControl03 / FrontGpiPullControl47 (imaFlex 2 Dual 100 platform)
Type dynamic, static write parameter
Default PullUp
Range {PullUp, PullDown}

This parameter controls the pull-up and pull-down resistors (20 kOhm) for the front slot GPI signals, regardless of whether they are configured as differential or single-ended. You can set the GPI to either PullUp or PullDown state.

The pull resistors define the voltage level on the GPI pin when it is not driven externally or when the external driver powers up later than the frame grabber. If an external driver is connected, it must be strong enough to override the 20 kOhm pull resistors.

The FrontGpiPullControl03 parameter controls the behavior for GPI group channel-A (GPI pins 0–3), while the FrontGpiPullControl47 parameter controls the behavior for GPI group channel-B (GPI pins 4–7).

For the pull resistors to function correctly, the external GPIO power must be connected to the appropriate connector pins (group channel-A or channel-B GPI voltage IN and GPI ground IN).

[Note] Availability

imaFlex 2 Dual 100

FrontGpiType03 / FrontGpiType47 (imaFlex 2 Dual 100 platform)
Type dynamic, static write parameter
Default SingleEnded
Range {SingleEnded, Differential}

This parameter controls whether the GPI pins operate in differential or single-ended mode. The FrontGpiType03 parameter manages group channel-A (GPI pins 0–3), and the FrontGpiType47 parameter manages group channel-B (GPI pins 4–7).

In SingleEnded mode, each GPI pin is passed unchanged into VisualApplets, allowing all four pins in the group to be used independently.

In Differential mode, the even-numbered GPI pin and the next odd-numbered pin are combined to form a differential channel in VisualApplets. When differential mode is active, even pins carry the differential signal, while odd pins only represent the negative pair state and can be ignored.

[Note] Availability

imaFlex 2 Dual 100

FiberPortProtocol0 / FiberPortProtocol1 (imaFlex 2 Dual 100 platform)
Type static write parameter
Default

QSFP28[0]: CoF

QSFP28[1]: DataForwarding

Range {CoF, DataForwarding}

This parameter defines the fiber protocol for the corresponding QSFP28 port of the frame grabber. Port 0 is typically used for camera connection (CoF), while Port 1 is used for data forwarding to another frame grabber. Slave frame grabbers usually have both ports set to DataForwarding.

CoF stands for CoaXPress over Fiber (CXP 3.0 standard). DataForwarding is Basler's protocol for frame grabber-to-frame grabber communication. Both protocols support 25 Gbit/s per lane, resulting in 100 Gbit/s per QSFP28 port.

It is possible to connect two 100 Gbit/s cameras to a single frame grabber under special conditions. These setups require specific requirements to be fulfilled. However, the frame grabber must perform preprocessing and reduce the resulting bandwidth by at least half before transferring data over PCIe to the host memory or GPU.

PCIe provides an effective bandwidth of approximately 13 GB/s, while a single QSFP28 port offers around 12.5 GB/s. Together, two QSFP28 ports generate about 25 GB/s of internal bandwidth, which cannot be transported over PCIe without preprocessing and bandwidth reduction. Additionally, the board’s RAM system imposes further constraints on how much data can be streamed through RAM simultaneously.

For more details about data forwarding capabilities see 'Data Forwarding with imaFlex 2 Dual 100 Frame Grabbers'.

[Note] Availability

imaFlex 2 Dual 100

DesignClock (all imaFlex platforms)
Type static read parameter
Default 312.5
Range [312.5; 400.0]

The parameter represents the design system clock frequency in Mega Hertz. You can alter the design system clock frequency in VisualApplets, menu Design, menu item Change FPGA Clock. Using higher frequency settings as 135 MHz may result in a timing violation. In this case, reduce frequency.

[Note] Availability

imaFlex 2 Dual 100, imaFlex CXP-12 Quad, imaFlex CXP-12 Penta

DesignClock (mE5 marathon and LightBridge VCL platforms)
Type static read parameter
Default 125
Range [125;312.5]

The parameter represents the design system clock frequency in Mega Hertz. You can alter the design system clock frequency in VisualApplets, menu Design, menu item Change FPGA Clock. Using higher frequency settings as 135 MHz may result in a timing violation. In this case, reduce frequency.

[Note] Availability

mE5 marathon VCLx, mE5 marathon VCL, mE5 marathon VCX-QP, mE5 marathon VF2, LightBridge VCL

ExtensionGpioType (imaFlex CXP-12 Quad and imaFlex CXP-12 Penta platforms)
Type dynamic write parameter
Default OpenDrain
Range {OpenDrain, PushPull}

This parameter allows the user to select the circuitry type for the external extension GPIO connector. In PushPull mode, the GPIOs are driven directly.

[Note] Parameter Only Affects the GPIO Connector

This parameter has no effect on Front GPIO connector. Only the GPIO connector is influenced by this parameter.

[Note] Availability

imaFlex CXP-12 Quad, imaFlex CXP-12 Penta

FrontGpioPullControl (imaFlex CXP-12 Penta platform)
Type dynamic write parameter
Default PullUp
Range {PullUp, PullDown}

  • PullUp: On all Front GPIO inputs, pullup resistors are enabled to SLTRG_VIN (external 5–24 V input reference voltage).

  • PullDown: On all front GPIO inputs, pulldown resistors are enabled to SLTRG_GND (isolated GND).

[Note] Availability

imaFlex CXP-12 Penta

FrontGpioType (imaFlex CXP-12 Penta platform)
Type dynamic write parameter
Default SingleEnded
Range {SingleEnded, Differential}

  • Differential: All Front GPIO inputs are differential.

  • SingleEnded: All Front GPIO inputs are single-ended (referenced to SLTRG_GND).

[Note] Availability

imaFlex CXP-12 Penta

FrontGpioInversion (imaFlex CXP-12 Penta platform)
Type dynamic write parameter
Default Off
Range {On, Off}

  • On: All Front GPIO Outputs are inverted polarity compared to FPGA output.

  • Off: All Front GPIO Outputs are the same polarity compared to FPGA output.

[Note] Availability

imaFlex CXP-12 Penta

PcieInterfaceType (ironman platforms)
Type static write parameter
Default Generation_2
Range {Generation_1, Generation_2}

The parameter PcieInterfaceType allows you to select the PCIe interface type and thus the supported DMA bandwidth.

Generation_2 (default) stands for the PCIe Generation 2 protocol and provides a bandwidth of 3,600,000 bytes/s.

Generation_1 stands for PCIe Generation 1 protocol and provides a bandwidth of 1,800,000 bytes/s.

Generation_1 designs utilize slightly less FPGA resources. It is much easier to achieve timing closure for the applet with a Generation_1 design. Generation_2 provides maximal performance, but makes it more challenging to achieve timing closure for the applet. Multiple place and route synthesis runs will probably be necessary to meet the timing.

[Note] Availability

mE5 ironman VD8-PoCL, mE5 ironman VQ8-CXP6D, and mE5 ironman VQ8-CXP6B

PcieInterfaceType (mE5 marathon and LightBridge VCL platforms)
Type static write parameter
Default Generation_2
Range {Generation_1, Generation_2}

The parameter PcieInterfaceType allows you to select the PCIe interface type and thus the supported DMA bandwidth.

Generation_1: The applet only supports PCIE generation 1. Thus, the maximum DMA transmission bandwidth is ca. 900 MByte/s (1MByte = 1^10Byte). The DmaToPC operator is limited so that LinkParallelism x LinkPixelWidth needs to be <= 64 bit.

Generation_2: The applet supports PCIE generation 2. Thus, the maximum DMA transmission bandwidth is ca. 1800 MByte/s (1MByte = 1^10Byte). The DmaToPC operator is limited so that LinkParallelism x LinkPixelWidth needs to be <= 128 bit.

The implementation of Generation_1 consumes less resources than the implementation of Generation_2. The Generation_1 mode is helpful in designs that do not need the high bandwidth of Generation_2, but are short of resources.

[Note] Availability

mE5 marathon VCLx, mE5 marathon VCL, mE5 marathon VCX-QP, mE5 marathon VF2, and LightBridge VCL.

GpioType (mE5 marathon and ironman platforms)
Type dynamic write parameter
Default OpenDrain
Range {OpenDrain, PushPull}

This parameter allows the user to select the circuitry type for the external GPIO connector. In PushPull mode, the GPIOs are driven directly.

[Note] Parameter Only Affects the GPIO Connector

This parameter has no effect on Front GPIO connector. Only the GPIO connector is influenced by this parameter.

[Note] Availability

mE5 marathon VCLx, mE5 marathon VCL, mE5 marathon VCX-QP, mE5 marathon VF2, mE5 ironman VD8-PoCL, mE5 ironman VQ8-CXP6D, and mE5 ironman VQ8-CXP6B

BuildTimeStamp (all platforms - hidden)
Type static write parameter
Default N/A
Range N/A
[Note] Visibility

This parameter is not displayed in the operator's parameter list.

However, the parameter is visible in the runtime environment.

BuildTimeStamp is an automatically generated identification number. It's a 32-bit time stamp that can be read out of the applet during runtime for checking the consistency between the loaded applet and the loaded applet runtime environment.

ProjectNameHash (all platforms - hidden)
Type static read parameter
Default N/A
Range N/A
[Note] Visibility

This parameter is not displayed in the operator's parameter list.

However, the parameter is visible in the runtime environment.

32-bit hash over the entry in ProjectName (menu Design, menu item Properties). This value can be read out of the applet during runtime for checking the consistency between the loaded applet and the loaded applet runtime environment.

AppletUidHigh (all platforms - hidden)
Type static read parameter
Default N/A
Range N/A
[Note] Visibility

This parameter is not displayed in the operator's parameter list.

However, the parameter is visible in the runtime environment.

Parameter AppletUid represents a 128-bit number. The upper 64 bit of this number are given out as a number in AppletUidHigh.

AppletUidLow (all platforms - hidden)
Type static read parameter
Default 1
Range {0; 2^32 – 1}
[Note] Visibility

This parameter is not displayed in the operator's parameter list.

However, the parameter is visible in the runtime environment.

Parameter AppletUid represents a 128-bit number. The lower 64 bit of this number are given out as a number in AppletUidLow.

Examples of Use

The use of operator AppletProperties is shown in the following examples: