Signal Processing DesignLine Blog
Atmel and XMOS are on opposite end of the alphabet, and they have opposite approaches to solving the problems with MCU+FPGA combos. Here's the problem: embedded developers love MCUs because they are easy to program. However, MCUs inevitably lack a critical peripheral or two. To fill in that gap, designers often turn to an FPGA—and then the problems begin.
Problem 1: How does the MCU talk to the FPGA? This is no small question: you need to think about the bandwidth of the interface, the protocols it will use, and how much compute power the MCU will chew up managing the interface. Atmel has a neat solution to this problem: It offers an ARM MCU with a direct FPGA interface. This chip was built as part of the development kit for its metal-programmable CAP architecture, but there is no reason the chip couldn't be used directly in end products.
OK, but now for problem 2: FPGA design is an anathema to most embedded designers. This is where XMOS comes in. It offers a chip with fully programmable IO, so you never need an FPGA to fill in missing peripherals. XMOS is working on a library of peripherals like UARTs and I2S interfaces, so the idea is that you won't have to worry about programming the XMOS IO either. A word to the wise: this effort is still a work in progress. Until XMOS fills out its libraries, most folks will still need to do a substantial amount of work to get those peripherals programmed.