FPGA CAN Bus Test Bed

0

No estoy familiarizado con los FPGA y no he usado VHDL durante 21 años, así que empezando de cero.

Me pregunto si lo siguiente es posible / sensato.

  • FPGA ejecuta n "pequeños" núcleos de microcontroladores independientes, por ejemplo, AVR de 8 bits
  • cada núcleo tiene acceso a su propio bloque de controlador CAN
  • cada núcleo tiene acceso a dos señales de E / S
  • cada núcleo se ejecuta desde un flash externo (¿dividido? ¿compartido? no estoy seguro ...)
  • cada núcleo tiene su propia interfaz JTAG.
  • todos los núcleos comparten las mismas entradas de reinicio y reloj

Observo que en opencores.org hay algunas implementaciones de AVR, pero no estoy seguro de cómo calcular cuántas puedo exprimir en un solo FPGA.

El objetivo aquí es crear una configuración compacta para probar el mismo firmware que se ejecuta en muchos nodos CAN al mismo tiempo. Actualmente, conectamos un montón de tableros de evaluación disponibles en el mercado.

¡Gracias!

    
pregunta Andy

1 respuesta

0

En primer lugar: sugiero usar CPU dedicadas para este problema, como comentó Oldfart antes. Pero para responder a la pregunta:

Dos pasos

  1. Obtenga el uso de recursos estimado de un bloque complejo. (el MCU plus CAN plus etc)
  2. Divida los recursos disponibles con el uso de un bloque. Tenga en cuenta que FPGA no se puede ajustar al 100%. Sugiero mantener la utilización < 80%.

Obtenga el uso de recursos estimado de un bloque complejo:

Una gran cantidad de núcleo ha estimado el uso de recursos en uno o más FPGA en particular. Elija su FPGA y resuma la estimación.

O

Implemente un bloque, sintetice y lea los recursos utilizados.

Tenga en cuenta que esto será solo una estimación que el diseño final puede optimizar algunos recursos o agotar debido a un problema de tiempo.

    
respondido por el betontalpfa

Lea otras preguntas en las etiquetas