MIL_ID MilSysId, | //in |
MIL_INT DeviceNumber, | //in |
MIL_INT FunctionId, | //in |
MIL_INT SubFunctionId, | //in |
MIL_INT64 FunctionNumber, | //in |
MIL_INT ExecutionMode, | //in |
MIL_INT64 ControlFlag, | //in |
MIL_FPGA_CONTEXT *FpgaCommandContextPtr | //out |
This function allocates an FPGA command context. An FPGA command context is used to contain the necessary command information to perform the required operation using the specified PU in a Processing FPGA on a target system, without writing it immediately to the target hardware.
Note that the FPGA command context is valid only for the thread on which the current command context is allocated. It cannot be referenced by any other thread.
After calling this function, you should ensure that the context was successfully allocated by verifying that the context handle is not M_NULL. For example, the context will not be allocated if the specified Processing FPGA does not contain the specified PU.
Specifies the Processing FPGA for which to allocate the command context. This parameter must be set to the following value:
Specifies the function identifier of the required PU. The function identifier is specified in the header of the required PU's FPGA register file. Instead of directly using the function identifiers for Matrox PUs, you should use their provided equivalent FPGA constant, specified in the PU's reference description in the Matrox FPGA Component Reference. Note that the range of custom PU function identifiers is between 0xFC00 and 0xFFFF, inclusive.
Specifies the subfunction identifier of the required PU. Several different variations of a Matrox PU can exist, each with slightly different optimizations, functionalities, or restrictions. Each variation is given a subfunction identifier that uniquely identifies the variation. The subfunction identifier is specified in the header of the required PU's FPGA register file. You can set this parameter to one of the following:
Specifies the PU to use when two or more instances, with the same function identifier and subfunction identifier, are present in a FPGA configuration loaded in a Processing FPGA. This parameter can be set to the following value:
For specifying the PU to use
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
MIL system-specific tooltip (†) |
|||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_ANY. |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_ANY |
Specifies that any of the PUs with the specified function identifier and subfunction identifier can be used. |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_DEVn |
Specifies the rank of the PU in the FPGA configuration loaded in the Processing FPGA, where n represents the specific PU instance starting from 0. (more details...) |
† | j | k | l | m | p | q | r |
Specifies how the processing operation should be issued on the system command queue. This parameter should be set to one of the following values:
For specifying whether the processing
operation is asynchronous or synchronous
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
MIL system-specific tooltip (†) |
|||||||||||||||||||||||||||||||||||||
M_ASYNCHRONOUS |
Specifies that, after the command is queued, the thread continues executing without waiting for the operation to complete. |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_SYNCHRONOUS |
Specifies that, after the command is queued, the thread waits for the processing operation to complete before continuing. |
† | j | k | l | m | p | q | r |
Header | Include mil.h; milfpga.h. |
Library | Use mil.lib; milfpga.lib. |
DLL | Requires mil.dll; milfpga.dll. |