Hay varias razones válidas para crear instancias de un microprocesador o microcontrolador en un FPGA. Aquí son tres:
Usted quiere aprender sobre el funcionamiento de un procesador. Los FPGAs darle infinidad de formas para investigar lo que está sucediendo en el interior del procesador a medida que se ejecuta el código. Esto es sólo para el aprendizaje.
Se implementa un sistema de gran tamaño que requiere el nivel de hardware de velocidades de un FPGA (más rápido que el software que se ejecuta en un microprocesador), pero su diseño requiere de una compleja máquina de estado, que es más fácil de implementar el uso de software que se ejecuta en un simple procesador como el Xilinx PicoBlaze que en un hardware de FSM. Tenga en cuenta que un PicoBlaze puede correr tan rápido como 240MHz en la última FPGA de tecnologías de proceso y de que el PicoBlaze procesador ejecuta una instrucción cada dos ciclos de reloj, por lo que obtener un rápido y constante de la máquina de estado que es fácil de programar en el software.
La expansión en (2), se necesita una máquina de estado que puede manejar las interrupciones. Los procesadores son muy buenos para esto, porque ellos ya saben que la forma más segura de guardar y restaurar el estado antes y después de atender la interrupción.
Aquí está una advertencia: Si usted desea un procesador rápido con un estándar de conjunto de instrucciones y un gran desarrollo de los ecosistemas, a continuación, usted desea un rápido, duro-procesador de núcleo como los dos ARM Cortex-A9s en una Xilinx Zynq SoC. La FPGA de la tela en la Zynq SoC permite crear instancias de más núcleos de procesador en la lógica programable, pero el ARM Cortex-A9s se puede ejecutar estándar de los sistemas operativos tales como Linux y estándar IDEs como Android.
Entre el ARM Cortex-A9 y PicoBlaze, hay muchos suave procesadores puede implementar con lógica programable disponible de muchas fuentes. Algunas personas, como a rodar sus propios procesadores y eso es una gran actividad educativa. Sin embargo, los microprocesadores necesidad de herramientas de desarrollo de software y la creación/depuración de esas herramientas requiere de órdenes de magnitud más esfuerzo que el de crear el propio procesador. Usted siempre debe compensar el posible beneficio de una costumbre microprocesador contra el tiempo y el esfuerzo necesarios para crear y/o depuración del núcleo del procesador y de las herramientas.
La divulgación completa: yo trabajo para Xilinx, pero estoy bastante seguro de que no he estado de que los FPGAs son siempre la solución. Si una de 50 centavos microcontrolador puede hacer el trabajo, es mejor que use. Los FPGAs y Zynq SoCs son para proyectos que requieren levantar objetos pesados más allá de las habilidades de los microcontroladores.