CPLD+SRAM shield idea

I have been playing around with various devkits and I got this idea: put a 144-pin CPLD like EPM1270T144C3N and a SRAM chip like IS61WV20488ALL onto a Mega-sized shield. The shield would have all 76 Arduino pins (including the ICSP header) and all 32 pins from the SRAM chip connected to the CPLD, an onboard crystal oscillator offering a 48MHz reference clock, and the remaining pins connected to a row of LEDs. Having all pins connected won't affect the CPLD or the Arduino negatively, as unused pins can be left as HiZ.

The CPLD can be used to implement a wide variety of features coupled with the SRAM:

  • Since all 76 pins are connected to the CPLD, the XMEM interface on Mega 2560 can be used and the CPLD can implement a memory paging/banking mechanism with 8KB pages with PAE to allow the entire 2MB SRAM to be addressed.
  • The CPLD is operating at 3x the clock speed of the Arduino. By putting a microcontroller core into the CPLD this can become a dual-core system. (In fact, you can even let the CPLD take over as the primary heavylifting MCU and the Arduino doing the housekeeping work.)
  • By using this shield as an interposer between another Mega-sized shield (that is, requires Arduino Mega or Due to work due to high IO demands) and implement some port expanding logic in it, those large shields can be driven using an Uno-sized board.