Al hacer cualquier prototipo de PCB, siempre es una buena idea tener características dentro que puedan usarse para ayudar en la depuración del diseño.
Algunos ejemplos son:
Use el FPGA más grande disponible que tenga una ruta de migración a la que esperamos usar en el producto final. Esto significa que podemos tener mucha lógica para implementar modos de depuración y un analizador lógico interno como la derivación de señal. Esto significa que nuestras medidas de disipación de energía no serán precisas ya que una FPGA más grande tendrá una mayor disipación de energía estática.
Funciones integradas en la placa que hacen posible conectar ciertas rutas de señal a un osciloscopio. Estas pueden ser señales analógicas o señales digitales. No estoy hablando de las señales que se conectan directamente a la FPGA. Hay diferentes maneras de hacer esto, y no estoy seguro de cuál es la mejor manera de hacerlo.
Tenga 8 o 16 pines expuestos a través del encabezado, que se conectan a la E/S de propósito general adicional en el FPGA. Estos se pueden usar para enviar señales FPGA internas a los pines que luego se pueden conectar a un osciloscopio o analizador lógico. La pregunta que surge aquí es qué tipo de conector usar, ya que las señales de alta velocidad requieren que se tenga en cuenta la integridad de la señal. Ciertamente, debemos elegir un conector al que un osciloscopio o analizador lógico pueda conectarse fácilmente.
Tenga resistencias de 1 ohm en los rieles de suministro de energía que se puedan usar para medir con precisión la disipación de energía en todos los rieles de suministro, especialmente los que están conectados a la FPGA.
Coloque un chip FTDI que pueda usarse para implementar USB-UART.
Tenga un método fácil para que el prototipo se conecte a otra FPGA o placa de microcontrolador en caso de que surja la necesidad. Una forma de hacer esto es tener conectores Arduino Shield en la placa, pero luego debemos estar seguros de que lo que pretendemos conectar es compatible antes de hacer la PCB.
Estoy seguro de que las personas que han hecho muchos prototipos de PCB y luego han ido a producción pueden dar su opinión sobre esta lista y sugerir algunas mejoras. Es cierto que las características también dependen de para qué se ha diseñado realmente la placa, por lo que las mismas técnicas pueden aplicarse a todos los proyectos. Así que ahora mis preguntas son:
Estaría agradecido si alguien puede poner su granito de arena. Esta pregunta es MUY específica y no amplia o fuera de tema. Creo que ya he cubierto la mayoría de las cosas.
Gracias.
Su prototipo también debe tener estas características (sin ningún orden):
Si el chip de memoria está conectado con FPGA, como SDRAM o DDR u otros, me gustaría asignar algo de espacio de memoria de muestreo adicional para la depuración. Esto es especialmente útil cuando desea muestrear una gran cantidad de datos, como un marco o un paquete, que es más grande que la capacidad de muestra de Signaltap. También se pueden diseñar algunas funciones más avanzadas en función de esta memoria de muestra, como muestrear solo los paquetes cuyo encabezado coincida con un valor específico.
De hecho, recomendaría no usar el FPGA más grande disponible simplemente debido al costo extraordinario del dispositivo y al desafío de implementación de los FPGA más grandes.
No olvide agregar algunos LED para los indicadores de salida de depuración.
También es posible que desee agregar puentes en varios lugares (como desconectar la energía de ciertas secciones) para depurar en caso de que algo salga mal.
Veo poco sentido en un encabezado GPIO expuesto para una placa que ya tiene un propósito establecido.
Siempre LED.
Un encabezado UART de 3 pines para TTL-232R-RPI.
Normalmente agrego un puerto Ethernet para depuración y programación. FPGA Cores proporciona una manera fácil para que el cliente actualice el firmware con la herramienta de programación remota . Si lo desea, también hay un alcance incrustado que puede usar. Realmente aprecio estos núcleos.
Puede encontrar los núcleos aquí: https://www.fpga-cores.com/cores/
DKNguyen
Cuántico0xE7
Cuántico0xE7
DKNguyen
usuario_1818839
Cuántico0xE7