44 Chapter 4: Matrox Rapixo CXP hardware reference
Your application can also act upon and interpret the state of an auxiliary input
signal (or I/O signal set to input). The state of an auxiliary input signal is not
associated with a user-bit; you poll the state of the signal directly. To poll the state
of an auxiliary input signal, use MdigInquire() with M_IO_STATUS. The state
of an auxiliary input signal can also generate an interrupt; to do so, use
MdigControl() with M_IO_INTERRUPT_STATE and then use
MdigHookFunction() with M_IO_CHANGE to hook a function to this event
(that is, to set up an event handler).
On-board memory
Matrox Rapixo CXP is equipped with 4 Gbytes (Quad CXP-6/Quad CXP-12) or
8 Gbytes (Pro Quad CXP-12) of DDR4 SDRAM memory. This memory is
accessed through the memory controller, and is used to store acquired images and
images for or resulting from processing (Pro Quad CXP-12). The memory
controller transfers data to and from memory at up to 14.9 Gbytes/sec for the
Quad CXP-6, 19.2 Gbytes/sec for the Quad CXP-12 and up to 38.4 Gbytes/sec
for the Pro Quad CXP-12.
Matrox Rapixo CXP has a default of 128 Mbytes of on-board memory mapped
onto the PCIe bus. You can use a Host pointer to access this memory, or you can
access it directly from another PCIe bus master; this memory is referred to as
shared memory. To allocate a buffer in shared memory, use the MIL-Lite function
MbufAlloc...() with M_ON_BOARD + M_SHARED.
Data conversion
Data can be modified both before it is saved to on-board memory and as it is being
transferred to the Host. For Matrox Rapixo CXP Pro, if you need to modify the
data after it has been saved to on-board memory and before it is transferred to the
Host, you will need to include appropriate processing units (PU) in your FPGA
configuration.