Implementación de NIOS Softcore junto con módulos HDL en Aletra Cyclone IVGX

1

Mi pregunta no está en ' cómo puede ' sino en ' si puede '. Así que creo que las personas con suficiente experiencia en cualquier familia de FPGA podrían ayudarme aquí.

Declaración de problema : necesito modelar un sistema de control muy básico en un FPGA de modo que la 'planta' funcione como un módulo Verilog (HDL) en el FPGA (no solo en la simulación) y el controlador se implementa como un ejecutable de C que se ejecuta en el procesador de softcore NIOS2 en el FPGA (Altera Cyclone IVGX).

Todos los manuales y publicaciones que leo que utilizan la herramienta CAD (Qsys, Quartus, SOPC builder, etc.) toman solo ejemplos de cómo un procesador de núcleo suave NIOS 2 se puede flashear en un FPGA y hacer que haga varias cosas. ¿Pero también puedo tener un sistema donde el NIOS2 se esté sintetizando junto con otros módulos Verilog (HDL) y esté interactuando con cualquier código que se ejecute en el procesador de softcore?

Comprendo que al plantear una pregunta de este tipo, puedo provocar una respuesta RTFM ish , pero sí me desplacé por los manuales de diseño en busca de ese tema pero no pude encontrar una.

Todo lo que necesito saber es si esto se puede hacer para que dedique más tiempo a leer los manuales incluso más de cerca que antes.

    
pregunta sherinkapotein

1 respuesta

1

Sí, definitivamente puedes hacer eso. Después de todo, el punto principal de tener una CPU de núcleo blando es para que pueda integrarla con la lógica personalizada.

En su esencia, el procesador NIOS es solo otro módulo HDL. Puede crear una instancia dentro de un diseño de nivel superior como cualquier otro módulo.

Sin embargo, he descubierto que las herramientas de los proveedores (tanto de Altera como de Xilinx) han desarrollado formalismos estrictos para la creación de sistemas que requieren que envuelva su lógica personalizada en una interfaz particular para que su "generador de sistema" pueda generar la parte superior. Módulo de nivel del chip para usted y realice todas las conexiones. Puede llevar algún tiempo averiguar dónde se documentan los detalles de esa interfaz formal y cómo usarla.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas