Altera ha creado dispositivos EPCS y EPCQ, ¿solo estos pueden usarse para almacenar datos de configuración de FPGA?

Los datos de configuración de FPGA deben almacenarse en una memoria externa no volátil. ¿Podemos usar cualquier memoria flash o solo tipos específicos? ¿Qué pasa con las EEPROM o cualquier otro dispositivo de memoria no volátil?

Editar: me refiero a la configuración activa donde el FPGA se configura solo, sin el soporte de un dispositivo externo como un microcontrolador o microprocesador.

Respuestas (2)

Puede usar cualquier tipo que desee, siempre que proporcione algún circuito que pueda leer la memoria y luego controlar la interfaz de configuración de FPGA de manera adecuada para configurar el dispositivo de acuerdo con los datos en la memoria.

Por ejemplo, un microcontrolador podría leer la memoria flash y enviarla a la FPGA en su interfaz de configuración en serie o en paralelo.

O una PC podría almacenar la configuración en un disco duro y enviarla a un circuito en la PCB con la FPGA, que entrega los datos a la interfaz de configuración de la FPGA.

El FPGA también puede tener una máquina de estado incorporada que puede leer la memoria con una interfaz específica directamente, eliminando la necesidad de un micro externo o CPLD para operar la interfaz de configuración. Los requisitos de la interfaz flash para que la FPGA haga esto se detallarán en la documentación de la FPGA. (Para Xilinx, habrá un documento llamado Guía de configuración, pero Intel podría tener un nombre diferente para este documento o combinarlo en una Guía del usuario general).

Sí, la pregunta estaba destinada a la configuración activa donde el FPGA se configura solo. Voy a cambiar la pregunta.
@ quantum231 El último párrafo de esta respuesta aborda este caso.

Recientemente experimenté exactamente con estas cosas. Mi diseño usa EPCS16 y lo actualicé a W25Q128FV. Funciona, pero debes conocer las limitaciones:

  1. El conjunto de comandos debe ser compatible con los dispositivos EPCS. En realidad, EPCS16 parece estar fabricado por GigaDevice (código de fabricante 0xc8);
  2. Se afirma que los dispositivos de "matriz apilada" no funcionan para la configuración. No puedo comentar al respecto ya que no usé tales dispositivos flash seriales, pero debe tenerlo en cuenta. Si decide utilizarlos, será necesaria una mayor investigación;
  3. FPGA no se configurará desde un dispositivo que no sea EPCS si no deshabilita la verificación de ID de silicio al crear un archivo POF usando el convertidor de archivos de programación en el software Quartus;
  4. Por lo que he experimentado, Quartus se niega a flashear dispositivos que no sean EPCS con su programador Quartus en modo AS. Usé las versiones 12 y 13, probablemente las versiones más nuevas lo permitan (uso BB II, por lo que me veo obligado a usar versiones anteriores del software Quartus);
  5. La IP estándar de ASMI no permite leer la ID del fabricante y la ID de bits [15:8] del dispositivo flash. La ID de silicio y la ID de capacidad solo están disponibles. Por supuesto, es posible modificar el diseño del módulo ASMI ;
  6. Por último, pero muy importante: el circuito de referencia para EPCS requiere algunos pines que no son de alimentación, WP y HOLD, que se conectan al Vcc. Lo confirmaron aquí . Si va a reemplazar el chip con uno que no sea Altera que funcione en modo x1, debe usar pull-ups de resistencia de 10K en lugar de conectar estos pines a Vcc directamente.
¿Qué es exactamente lo que hace que otras memorias flash sean incompatibles? Hasta donde yo sé, las memorias flash requieren que se les envíen comandos para leer/escribir datos, los datos se almacenan en sectores, hay algunas características especiales como leer la identificación del fabricante, etc. Pero realmente, ¿qué hace que EPCS sea el único "totalmente compatible"? ¿destello?
modelo de negocio Por ejemplo, si es fabricante, puede certificar dispositivos específicos para sus electrodomésticos. Estos dispositivos pueden ser tuyos o de terceros. Por supuesto, si no certifica a terceros, todos los clientes están bloqueados para comprar sus dispositivos. Creo que Altera/Intel comenzó a relajar un poco este modelo comercial cambiante al permitir el uso de chips flash de terceros. Llamaría a su estado mental como "vacilante", pero no completamente en contra. Por supuesto, podría haber dispositivos técnicamente incompatibles, con diferentes conjuntos de comandos y protocolos. Simplemente compare con la hoja de datos de EPCS para comprender si el dispositivo encaja.