The problem with CPU-inside-FPGA approach, at least with my experience using MicroBlaze in Spartan 3A, is that there is not enough block RAM in the FPGA to hold a typical embedded app. The RAM must hold both code and data, and 45 Kbytes in the 700A part is just not that much.
So you have to use an external DRAM. And the DRAM controller IP core is complex, for example the datasheet for the Xilinx mpmc core is over 200 pages in length. So you will have a lot of learning to do!
Another problem with CPU-inside-FPGA approach ...when you include cost of external DRAM, and needing to use a larger FPGA to hold CPU .... it is no cheaper than separate CPU and FPGA approach. CPUs like Cortex M3 are very low cost.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.