¿Qué me haría elegir Verilog o VHDL en lugar de un diseño esquemático en CPLD o FPGA?

12

No tengo experiencia en lógica programable, uso principalmente microcontroladores en mis proyectos, pero recientemente tuve que trabajar con video y el microcontrolador es demasiado lento para lo que necesitaba, así que empecé a jugar con CPLD.

Pude obtener buenos resultados con el CPLD utilizando solo un diseño esquemático, pero al buscar información sobre los CPLD encontré muchos ejemplos utilizando VHDL y Verilog. Tengo curiosidad por lo que podría hacerme querer definir mi dispositivo en uno de estos idiomas. ¿Qué pueden hacer que el diseño esquemático no pueda? ¿Se usan principalmente para funciones?

Hasta ahora solo he usado CPLD, ¿los diseños de FPGA se benefician más que los CPLD de usar estos idiomas?

    
pregunta Bruno Ferreira

5 respuestas

13

El diseño de esquemas solo es útil cuando solo se unen unos cuantos módulos de venta (contadores, sumadores, memoria, etc.). Pero implementar un algoritmo real (por ejemplo, un algoritmo de hash de criptografía) es casi imposible de hacer sin un HDL (como VHDL o Verilog), ya que no hay manera de describir un sistema a nivel de comportamiento con símbolos esquemáticos.

La mayoría de los proyectos se realizan en HDL de estilo de comportamiento porque son demasiado complejos para sintetizarse a mano y dibujarse usando primitivas de lógica de forma esquemática.

Los CPLD se usan generalmente para la lógica de cola y menos para el procesamiento, y generalmente la lógica es fácil de implementar de manera esquemática, así que creo que tienes razón cuando sugieres que los diseños basados en FPGA se benefician más del uso de un HDL.

    
respondido por el Jay Carlson
4

Un par de aspectos prácticos además de la excelente respuesta de Jay:

  • Errores. Las herramientas esquemáticas tienden a tener más problemas * que el resto del conjunto de herramientas. Esto posiblemente se deba a la preferencia de Verilog / VHDL sobre los esquemas en la industria, y por lo tanto, los desarrolladores de software prestan menos atención a la entrada de esquemas.
  • Velocidad. El esquema debe convertirse primero a un HDL antes de pasarlo a la herramienta de síntesis. Esto puede tener un impacto negativo en los tiempos de construcción. Es posible que el HDL generado no sea muy legible en caso de que necesite inspeccionarlo por alguna razón.
  • Portabilidad. Dependiendo de la cantidad de primitivas específicas del proveedor, Verilog y VHDL son más o menos portátiles entre dispositivos. Al transportar los esquemas, tiene que volver a dibujar todo o confiar en las capacidades de importación / exportación proporcionadas (si las hay).

* Mi error favorito en Xilinx ISE fue el incapacidad para seleccionar cables verticales.

    
respondido por el wailashi
2

Hay muchas ventajas de un HDL (Lenguajes de descripción de hardware) como estándar de entrada de diseño.

La descripción de la funcionalidad puede estar en un nivel superior, los diseños basados en HDL se pueden sintetizar en una descripción de nivel de puerta de una tecnología elegida. Un diseño de HDL es más fácil de entender que una lista de redes a nivel de puerta o un esquema La descripción y los HDL reducen los errores debido a una fuerte comprobación de tipos.

Los lenguajes de descripción de hardware VHDL y Verilog fueron diseñados para modelar hardware con la intención de modelar a un nivel de abstracción más alto que incluye características como, concurrencia, temporización, jerarquía, reutilización de componentes, comportamiento de estado, comportamiento síncrono, comportamiento asíncrono, sincronización y el paralelismo inherente.

Los problemas surgen durante la síntesis, asignando la descripción del diseño a un proceso específico y la implementación de la puerta. Esto requiere que no pueda usar las funciones de alto nivel de HDL; debe producir "Verilog / VHDL sintetizable"

Así que tiene HDL para síntesis y HDL para simulación y el subconjunto que se puede sintetizar es específico de la herramienta.

No puede pasar de una descripción de diseño de comportamiento a una lista / diseño de red. Pero puede estructurar su diseño para tener componentes de comportamiento que también tengan un aspecto sintetizable que se puedan comparar entre sí. Se comienza con el comportamiento y luego, una vez que está funcionando, se vuelve a escribir para la síntesis (que es un subconjunto). Pasa de lo general a lo específico y construye bancos de prueba en el camino.

    
respondido por el placeholder
1

Una ventaja más es que las HDL tienen todas las mismas ventajas que los lenguajes de programación regulares, ya que se pueden usar en sistemas de control de versiones estándar, difieren para examinar cambios, etc.

    
respondido por el mhz
0

Además de lo que ya se ha dicho: la representación del texto es mucho más manejable, especialmente en grandes proyectos. Puede (aunque con grandes dificultades) convertir cualquier HDL sintetizable en esquemático, pero es más fácil trabajar con cientos de líneas de texto simple que con cientos de elementos esquemáticos.

    
respondido por el valplo

Lea otras preguntas en las etiquetas