Un procesador como el AVR se implementa mediante lógica digital, por lo que también es posible cargar un diseño similar en un FPGA que se comporte de la misma manera. A menudo se les conoce como procesadores de software y, sin duda, el diseño original del procesador de software se habría realizado utilizando un HDL tradicional. Una vez que alguien haya "hecho el trabajo duro", puede cargar el diseño en el FPGA y escribir software usando C o cualquier otro idioma que normalmente usaría para ese procesador que se ha creado dentro del FPGA.
Es probable que no sea una mala manera de comenzar a utilizar la placa, pero si sigue tratándola como un 'AVGA FPGA', realmente no obtendrá ningún beneficio, un AVR real sería más barato y más eficiente. en la mayoría de las circunstancias.
donde los procesadores de software son más útiles es cuando se combinan con HDL como Verilog o VHDL para realizar funciones adicionales en las que un AVR por sí solo no sea tan bueno. Un ejemplo podría ser capturar un cuadro de video que llega a 50MHz y almacenarlo en búfer, y luego usar el núcleo de la CPU para tomar la imagen y transferirla a través de un módulo GSM, cuidando todas las complejidades de los protocolos que se manejan más fácilmente con el código C tradicional.
Tenga en cuenta que simplemente estoy usando el AVR como un ejemplo con el que probablemente esté familiarizado, el ZPUino puede tener un conjunto de instrucciones diferente, pero de cualquier manera, cuando crea un procesador dentro de un FPGA, es posible apuntar a un compilador. y usar lenguajes de programación tradicionales.