Herramienta de síntesis de código libre [cerrado]

Actualmente estoy aprendiendo VHDL y para simular el código que escribo descubrí GHDL (código abierto), que aún no he probado pero creo que hace lo que se necesita hacer.

Para sintetizar el código VDHL en cualquier FPGA, ¿hay alguna herramienta de síntesis gratuita o son todas específicas del proveedor (y, por lo tanto, pagadas)? Sería genial encontrar uno general que permitiera programar en cualquier FPGA ya que todavía no sé en qué FPGA tendré que trabajar y dado que cada herramienta tiene una curva de aprendizaje pronunciada. Hablo desde mi experiencia personal con Vivado de Xilinx. .

Todos son específicos del proveedor y hay muy poco que sea OSS, pero no necesita una herramienta de síntesis para desarrollar un diseño en VHDL, solo un simulador.
Sí, pero según tengo entendido hay muchas cosas que simulan y no sintetizan.
Eso es cierto, pero es bastante fácil restringirse al subconjunto sintetizable de VHDL, que es más o menos lo mismo sin importar las herramientas del proveedor con las que finalmente esté sintetizando.
echa un vistazo aquí
Ty por la respuesta @EugeneSh. , muy buen enlace. Pero eso es solo para simulación, ¿verdad? No síntesis.
Hay un par de sintetizadores debajo de las "herramientas". Creo que son de código abierto, por lo que puede buscarlos por separado. Sin embargo, no estoy seguro de que estén listos para la producción.
Ninguno de los comentarios hasta ahora ha señalado que la mayoría de los proveedores de FPGA ofrecen versiones gratuitas de sus herramientas, y estas no son herramientas paralizadas sino herramientas muy capaces, simplemente no de código abierto. Ciertamente cierto de Xilinx, Altera, Microsemi. El mayor problema es que tienden a ser descargas de varios GB. Si tienes Vivado, eso cuenta. Los subconjuntos sintetizables difieren en los detalles, pero todos son muy similares.
Agregue a lo que dijo Brian Drummond: FPGA no es solo un mar de puertas de granularidad fina, el uso de sintetizadores específicos del proveedor le brinda las mejores posibilidades de implementación optimizada. Saber cómo escribir código sintetizable es parte del "programa" de todos modos.

Respuestas (1)

Yo personalmente uso un simulador de código abierto (iverilog) en combinación con cadenas de herramientas proporcionadas por el fabricante (xilinx ise, altera quartus). El código verilog que escribo evita las primitivas específicas de FPGA para que pueda simularse con herramientas de código abierto y luego transferirse a cualquier FPGA en el que necesite ejecutarlo. Las herramientas del fabricante son prácticamente las mejores que puede obtener para la mayoría de las piezas que existen. Ahora, uso FPGA que son lo suficientemente grandes como para requerir licencias para el software, pero si se limita a los FPGA más pequeños y no necesita ninguno de los núcleos IP proporcionados por el proveedor, entonces las versiones gratuitas de las herramientas funcionan bien (generalmente las únicas restricciones en la versión gratuita son los dispositivos compatibles, la biblioteca de IP, las funciones especializadas como la planificación y la reconfiguración parcial, y las funciones de depuración en el chip).

Existen algunas herramientas de código abierto para síntesis/lugar y ruta, pero el soporte de dispositivos para estas es extremadamente limitado.

Ty por la respuesta. En cuanto al simulador de código abierto, iverilogya lo usé cuando aprendí Verilog. Pero dime algo, ¿también ejecuta VHDL?
No, pero prueba con ghdl.