Electronic – What configuration should I use for a system that includes an ARM and an FPGA

armfpgainterface

I have a design that uses an Altera Cyclone FPGA to implement a Physically Unclonable Function (PUF) and an ARM device to do cryptographic work and I/O with the PUF. The PUF is very large, and takes quite a bit of space (only about 1/4th will fit on the Cyclone)

My question is, would I be best served by getting a large enough FPGA to include both the PUF and the ARM core or a smaller FPGA for the PUF and a second, external ARM chip? Can you provide some suggestions?

If I used two chips, they would communicate with SPI. There is not a lot of communication between the two, nor does it need to be fast.

Best Answer

I can't comment on your specific application (not being a cryptography expert), however placing a processor on board with a FPGA is an exceedingly common thing to do. Mostly the reason is that you now free up FPGA space to do what FPGA is good at, while using the less expensive separate processor to do what it is good at, perhaps even faster than could be done with a soft CPU running in the FPGA. In addition, larger FPGA's can get quite expensive, compared to faster ARM's which can be fairly reasonably priced.

Basically I think you should use the two chips, but it's hard to make a proclamation for sure without knowing details about your specific area.