The later Fadal memory cards have barely enough I/O for the data lines and the address bus.
They have upgrades that use 512KB chips and have to do all the addressing of those individual chips to turn it into a linear memory bank.
The -4 boards were based on a 286, while the -5 are 386sx, the -6 boards are 486 chips, from what I've been able to suss out from ebay auctions.
The 286 and 386sx have 24 address lines and 16 data lines, plus some enable logic. The 486 has a 32bit address space and 32bit data bus.
For 16MB you need 24 address bits and 16 data bits, but the individual chips only have 19 address bits and 8 data bits, so you have to gang them up in pairs for 16bit data width and handle address decoding.
I'm guessing the CPLD was used primarily for address decoding, but Fadal may have been pinching pennies in their designs, leading to even more funky stuff.
Fadal memory mapped the video ram into processor space, using a dual ported ram, so that eats away at the 16MB limit. Many of the peripherals were memory mapped in Fadal controls, leading to more address space waste.
What's funny is that they claim the minimum RAM is 38KB, which is 32KB of actual system RAM, 1KB of video RAM, and 1KB of RAM for each axis card. Only the main 32KB was used for program storage and execution, the other ram was for display and scratch pad ram on the axis cards.