"A custom module is defined within the SW device, and the custom module operates using such software as required to be compatible with the FPGA of the given platform, and by invoking the MHAL interfaces or services produced by the core module." . . . .