¿Qué placa de desarrollo FPGA elegir: Xilinx o Altera? [cerrado]

Soy muy nuevo en el mundo de la lógica programable y nunca he trabajado con ningún lenguaje HDL, pero ciertamente quiero comenzar con FPGA. Por el momento, el objetivo es desarrollar/simular una CPU simple de 8 bits y tal vez (en el futuro) hacer alguna salida gráfica.

Según tengo entendido, hay dos grandes jugadores en el mercado de FPGA: Xilinx y Altera. Tengo un presupuesto muy pensado: 40 $. Además, estoy un poco confundido con las capacidades que varían de una placa a otra (independientemente del proveedor). Por ejemplo, algunas de las placas, incluso basadas en el mismo chip, tienen puerto VGA (o puerto COM/RS-232), conector RJ-45 e incluso salida/entrada de línea de audio; algunos de ellos solo tienen una serie de pines (si es así, ¿significa que FPGA tiene E/S digital/analógica?). Así que tengo curiosidad por saber si será posible "ampliar" las capacidades (por ejemplo, agregar un puerto D-sub para generar algunos gráficos o una toma de teléfono para audio) en la placa que no tiene una interfaz requerida.

Necesito un consejo y ciertamente alguna explicación sobre qué placa es mejor comprar en mi caso de "novato". Uso aliexpress para comprar tales cosas, así que aquí hay algunos ejemplos que he encontrado "atractivos":

No compre una placa con un FPGA, que ya no es compatible con las cadenas de herramientas de los proveedores. Por ejemplo, Xilinx Vivado solo admite dispositivos de la serie 7 o más nuevos (por ejemplo, no Spartan). Altera Quartus 14+ (la versión actual es 15.1) descontinuó el soporte para Cyclon III y Statix ​​III o anterior.

Respuestas (2)

Honestamente: no importa mucho.

Ambas compañías están a la par con

  • características: muchas tablas de búsqueda, algunos bloques dedicados como multiplicadores o E/S),
  • entorno de desarrollo (molesto)
  • precios (todas las buenas características están disponibles solo por dinero serio)

Decidir sobre una placa sin un proyecto muy concreto en mente siempre es difícil, así que elegiría un proyecto y luego decidiría sobre la placa por los periféricos disponibles en la placa.

Los FPGA solo tienen líneas de E/S digitales y algunas entradas y salidas de reloj dedicadas que se pueden usar para sincronizar la comunicación con el mundo exterior. Si necesita una entrada analógica, necesita un ADC separado, para una salida analógica, necesita un DAC, y para USB necesita un controlador USB (el protocolo USB no se puede emular de manera sensata solo con puertos de E/S digitales).

Tener una pantalla es bueno, pero será difícil de configurar a menos que solo use componentes prefabricados; pero, por otro lado, es una buena experiencia de aprendizaje porque tiene varias capas apiladas.

Consejo profesional: también puede agregar fácilmente tiras de LED WS2812 como periférico.

Los dispositivos de la serie Xilinx 7 tienen un ADC multicanal
Si el FPGA en sí tiene una pequeña diferencia, ¿qué pasa con la diferencia del software que usan? ¿Xilinx ISE Webpack frente a Altera Quartus Prime?
Estos solo difieren en pequeños detalles también: dónde están las cosas en el menú y cómo se comporta su editor. Ambos le permiten editar VHDL y Verilog, configurar componentes listos para usar, compilar, descargar y simular. Ambos editores son molestos (el de Quartus, por ejemplo, siempre sugiere terminaciones de palabras que no necesariamente se ajustan al contexto), pero dado que puede ejecutar cualquiera de los compiladores desde la línea de comandos, reemplazar el editor es fácil.
@SimonRichter, Gran respuesta y muy útil. No entiendo por qué esto estaba cerrado. Esta es una posibilidad remota, pero también estoy tratando de aprender cómo se construye una MCU de 8 bits. ¿Podrías dar alguna dirección por dónde empezaste? En lo que estoy es tratando de despegarme de donde desciendes más allá de saber QUÉ hacen las instrucciones de ensamblaje, pero entendiendo lo que sucede en la capa física. Estoy creciendo como una asamblea, quiero profundizar más...

La única diferencia que conozco es que las últimas piezas de xilinx tienen tasas de cambio de pin máximas ligeramente más altas (~ 1 GHz frente a 0,85 GHz), creo que eso es todo. Los FPGA no tienen E/S analógica, el puerto VGA está controlado por un conjunto de DAC simples impulsados ​​por datos digitales del FPGA, pero no hará nada sin configurarlo, un FPGA no hace absolutamente nada sin su archivo de configuración