Sie sind auf Seite 1von 7

INTRODUCCION A VHDL

VHDL tiene una historia rica e interesante1. Pero ya que conocer esta historia
Probablemente no va a ayudar a escribir mejor código VHDL, sólo será
Brevemente mencionado aquí. Consultar otros textos más extensos o motores de búsqueda
Proporcionará más información para aquellos que estén interesados. Con respecto a
Acrónimo VHDL, el V es abreviado para otro acrónimo: VHSIC o Very
Circuito Integrado de Alta Velocidad. El HDL significa Descripción de hardware
Idioma. Claramente, el estado de los técnicos hoy en día ha eliminado
Con la necesidad de acrónimos anidados. VHDL es un verdadero lenguaje informático
Con el conjunto de reglas de sintaxis y de uso. Pero, a diferencia de
Lenguajes de lenguaje de alto nivel, VHDL se utiliza principalmente para describir el hardware.
La tendencia de la mayoría de las personas familiarizadas con una computadora de nivel
superior
Lenguaje como C o Java es ver VHDL como sólo otro lenguaje de la computadora.
Esto no es del todo un mal enfoque si tal visión facilita la
Comprensión y memorización de la sintaxis y estructura del lenguaje.
El error común cometido por alguien con este enfoque es intentar
Para programar en VHDL, ya que se programa un lenguaje de computadora de nivel superior.
Los lenguajes de orden superior son secuenciales por naturaleza; VHDL
no es.
VHDL fue inventado para describir hardware y de hecho VHDL es un concurrente
idioma. Lo que esto significa es que, normalmente, las instrucciones VHDL
Se ejecutan al mismo tiempo (simultáneamente), independientemente del tamaño de la
implementación. Otra manera de ver esto es que los
Se usan lenguajes informáticos para describir algoritmos (ejecución secuencial)
Y VHDL se utiliza para describir hardware (ejecución paralela). Este
La di↵erencia debe necesariamente animarle a volver a pensar cómo escribe
Su código VHDL. Intentos de escribir código VHDL con un lenguaje de alto nivel
Estilo generalmente resulta en código que nadie entiende. Además,
Las herramientas utilizadas para sintetizar2 este tipo de código tienden a generar
Circuitos que generalmente no funcionan correctamente y tienen errores que
Casi imposible de rastrear. Y si el circuito realmente funciona,
Probablemente sea ineficaz debido al hecho de que el hardware resultante fue
Innecesariamente grandes y demasiado complejos. Este problema se
El tamaño y la complejidad de sus circuitos se hacen mayores.
Hay dos propósitos principales para los lenguajes de descripción de hardware, tales como:
Como VHDL. En primer lugar, VHDL puede usarse para modelar circuitos y sistemas digitales.
Aunque la palabra "modelo" es una de esas palabras demasiado usadas en ingeniería,
En este contexto se refiere simplemente a una descripción de algo que
Presenta un cierto nivel de detalle. Lo bueno de VHDL es que el
Nivel de detalle es inequívoco debido a las ricas reglas de sintaxis asociadas con
eso. En otras palabras, VHDL proporciona todo lo necesario para
Para describir cualquier circuito digital. Asimismo, un circuito / sistema digital es
Circuito que procesa o almacena información digital. Segundo, tener algunos
Tipo de modelo de circuito permite la posterior simulación y / o prueba
Del circuito. El modelo VHDL también puede traducirse en una
Puede utilizarse para generar circuitos de trabajo reales. El modelo VHDL es mágicamente3
Interpretados por las herramientas de software de tal manera que se
Circuitos digitales en un proceso conocido como síntesis.
Existen otros lenguajes lógicos disponibles para modelar el comportamiento de
Diseños de circuitos que son fáciles de usar porque proporcionan una
Método para modelar circuitos. Para ellos, la tendencia es preferir la gráfica
Porque tiene una curva de aprendizaje tan cómoda. Pero, como se puede imaginar fácilmente,
su creciente conocimiento de los conceptos digitales se acompaña
Por la cada vez mayor complejidad de los circuitos digitales que se están tratando.
El acto de conectar gráficamente un montón de líneas en la pantalla del ordenador
Rápidamente se vuelve tedioso. El enfoque más inteligente del circuito digital
Diseño es comenzar con un sistema que sea capaz de describir exactamente cómo
El circuito digital funciona (en otras palabras, modelándolo) sin tener que preocuparse
Sobre los detalles de la conexión de grandes cantidades de líneas de señal. Teniendo un
El conocimiento práctico de VHDL le proporcionará las herramientas para modelar
Circuitos digitales de una manera mucho más inteligente.
Finalmente, usted podrá utilizar su código VHDL para crear el funcionamiento real
Circuitos Esto le permite implementar circuitos relativamente complejos
En un periodo de tiempo relativamente corto. La metodología de diseño será
Uso le permite dedicar más tiempo a diseñar sus circuitos y menos
Tiempo "construyéndolos". Los días de colocación, cableado y solución de problemas
Múltiples circuitos integrados en un proto-bordo se han ido.
VHDL es un lenguaje muy interesante que puede permitir el diseño y la implementación
De funciones capaces de procesar una enorme cantidad de datos
Empleando un hardware de bajo co
ste y bajo consumo de energía. Además,
Lo que realmente impresiona es que, a través de simples módulos VHDL, puede
Acceso directo a los eventos básicos de lógica de nivel ns, así como comunicarse
Puerto USB o unidad de un monitor VGA para visualizar gráficos de complejidad modesta.
Modelar circuitos digitales con VHDL es una forma de diseño digital moderno
Distintos de los enfoques basados en esquemas. El programador escribe un
Descripción de lo que el circuito lógico final debe hacer y un compilador de lenguaje,
En este caso llamado sintetizador, intenta "inferir" cuáles son las
Circuito de lógica física final debe ser. Los programadores principiantes no siempre
Capaz de convencer al sintetizador de implementar algo que parece muy
Claro en sus mentes. Una alternativa algo anticuada a una descripción
Lenguaje como VHDL es aquel en el que el programador simplemente interconecta
Un número finito de bloques digitales que ha agrupado desde una biblioteca
En un intento de alcanzar el mismo objetivo. Este enfoque no sólo es muy
Consumiendo tiempo, pero también inherentemente limitante y muy propenso a errores.
El diseño digital moderno se centra más en modelar adecuadamente circuitos digitales y en
mantener una descripción de calidad del circuito. Todo lo que queda
Ahora es aprender a usar correctamente VHDL para describir lo que quieres
implementar.
1.1 Reglas de Oro de VHDL
Antes de empezar, aquí hay un par de puntos que nunca debes olvidar
Cuando se trabaja con VHDL.
VHDL es un lenguaje de diseño de hardware. Aunque la mayoría de la gente tiene
Probablemente ya han sido expuestos a algún tipo de lenguaje de computadora de nivel
superior,
Estas habilidades sólo son aplicables indirectamente a VHDL. Cuando estás
Trabajando con VHDL, no está programando, está "diseñando hardware".
Su código VHDL debe reflejar este hecho. ¿Qué significa esto? Es
Significa que a menos que esté dentro de ciertas construcciones, sus líneas de código
Ser ejecutado casi a la vez. Si su código VHDL parece demasiado similar a
Código de un lenguaje de computadora de nivel superior, es probablemente un código VHDL
incorrecto.
Esto es de vital importancia.
Tenga un concepto general de lo que debe ser su hardware.
Aunque VHDL es muy potente, si no entiendes la tecnología digital básica
, Probablemente no podrá generar circuitos digitales eficientes.
El diseño digital es similar a la programación de lenguajes de nivel
Que incluso la programación más complicada en cualquier nivel se puede romper
Abajo en algunas construcciones de programación simples. Hay una fuerte analogía
Diseño digital, ya que incluso los circuitos digitales más complicados
Descrito en términos de construcciones digitales básicas. En otras palabras, si usted es
No capaz de vislumbrar el circuito digital que está intentando modelar
En términos de circuitos digitales básicos, es probable que abuse del VHDL,
Enfureciendo a los dioses del VHDL. VHDL es genial, pero no es tan mágico como lo
Inicialmente parece ser.
1.2 Herramientas necesarias para el desarrollo de VHDL
VHDL es un lenguaje utilizado para implementar hardware que ejecutará otros
Software (por ejemplo C). Un Field Programmable Gate Array (FPGA) es probablemente el
dispositivo más común que puede utilizar para su VHDL
Implementaciones. Si desea realizar una codificación VHDL para FPGA, tendrá
Para jugar dentro de las reglas que los principales fabricantes actuales de FPGA
Elaborado para ayudarle (las reglas que también aseguran su existencia continuada
en el mercado).
La implementación exitosa de un sistema basado en VHDL
Para los siguientes pasos: Escritura, compilación, simulación y
síntesis. Todos los principales fabricantes de FPGA tienen un conjunto de software y hardware
Herramientas que puede utilizar para realizar los pasos mencionados. La mayoría de estos
Las herramientas de software son gratuitas pero no son de código abierto. Sin embargo,
Las mismas herramientas siguen un esquema de licencias, por el que se paga una cierta
cantidad
De dinero le permite aprovechar las características sofisticadas del software
O obtener sus manos en las bibliotecas propietarias con un montón de componentes (por
ejemplo, un
Procesador de 32 bits) que puede incluir fácilmente en su propio proyecto.
Si no tiene interés en bibliotecas propietarias, puede usar código abierto
Soluciones (por ejemplo, GHDL4 o BOOT5) que le permitirán compilar y
Simule su código VHDL usando la herramienta de código abierto gcc6. En el momento
De la escritura, no hay una solución de código abierto disponible para el proceso de síntesis.
Sin embargo, la síntesis puede lograrse utilizando una versión de licencia
Herramienta de software del fabricante principal de FPGA (por ejemplo, Xilinx ISE Design
Suite).
Gracias a la comunidad de código abierto, puede escribir, compilar y simular
VHDL utilizando excelentes soluciones de código abierto. Este libro
Mostrarle cómo ponerse en marcha con el lenguaje VHDL. Para más
Tareas como la síntesis y la carga de su código en un FPGA, el
De cargo Xilinx ISE Design Suite7 o la herramienta equivalente de Altera Quartus,
Pueden emplearse.

Invariantes de VHDL
Hay varias características de VHDL que usted debe saber antes de moverse
adelante. Aunque rara vez es una buena idea para la gente a memorizar cualquier cosa,
Debe memorizar los conceptos básicos presentados en esta sección. Esto
Debería ayudar a eliminar parte de la pesadumbre involucrada en el aprendizaje de una nueva
Lenguaje de programación y sentar las bases que le permitirán
Crear visualmente agradable y buen código fuente VHDL.
2.1 Sensibilidad del caso
VHDL no distingue entre mayúsculas y minúsculas. Esto significa que las dos declaraciones
En el Listado 2.1 tienen exactamente el mismo significado (no se preocupe por
En realidad significa que). Tenga en cuenta que el Listado 2.1 muestra un
Ejemplo de VHDL sensibilidad de caso y no buenas prácticas de codificación VHDL.
2.2 Espacio en blanco
VHDL no es sensible al espacio en blanco (espacios y pestañas) en la fuente
documento. Las dos afirmaciones del Listado 2.2 tienen exactamente el mismo significado.
Una vez más, el Listado 2.2 no es un ejemplo de buen estilo de codificación VHDL. Nota
Que el Listado 2.2 indica una vez más que VHDL no distingue entre mayúsculas y minúsculas.
2.3 Comentarios
Los comentarios en VHDL comienzan con el símbolo "-" (dos guiones consecutivos).
El sintetizador VHDL ignora cualquier cosa después de los dos guiones y hasta
El final de la línea en la que aparecen los guiones. El Listado 2.3 muestra dos tipos
De comentar estilos. Lamentablemente, no hay comentarios de estilo de bloque
(Comentarios que abarcan varias líneas pero no requieren marcas de comentario en
Cada línea) disponible en VHDL.
El uso apropiado de los comentarios aumenta tanto la legibilidad como la
Comprensibilidad del código VHDL. La regla general es comentar cualquier línea
O sección de código que puede no ser claro para un lector de su código además
tú mismo. El único uso inadecuado de un comentario es declarar algo
Que es evidentemente obvio. Es difícil imaginar un código que tenga muy pocos
Comentarios así que no sea tímido: use un montón de comentarios. La investigación ha
demostrado que
Usar un montón de comentarios apropiados es en realidad un signo de alta inteligencia.
2.4 Paréntesis
VHDL es relativamente laxa en su requisito de usar paréntesis. Como otro
Lenguajes informáticos, hay algunas reglas de precedencia asociadas con el
Varios operadores en el lenguaje VHDL. Aunque es posible aprender
Todas estas reglas y escribir código fuente VHDL inteligente que garantice la
Los lectores de su código se quedan rascándose la cabeza, una mejor idea es
Práctica liberal de paréntesis para asegurar que el lector humano de su
Código fuente entiende el propósito del código. Una vez más, los dos
Las declaraciones que aparecen en el Listado 2.4 tienen el mismo significado. Tenga en cuenta
que
Se ha añadido espacio adicional en blanco junto con los paréntesis para
Declaración más clara más clara.
2.5 Declaraciones VHDL
Similar a otros lenguajes algorítmicos de computadoras, cada instrucción VHDL
Se termina con un punto y coma. Este hecho ayuda al intentar eliminar
Compilación de errores de su código ya que los puntos y comas a menudo se omite durante
Codificación inicial. El principal desafío es entonces saber qué constituye
Una instrucción VHDL para saber cuándo incluir puntos y comas. El
VHDL sintetizador no es tan tolerante como otros idiomas cuando superfluo
Punto y coma se colocan en el código fuente.
2.6 si, caso y bucle Declaraciones
Como usted descubrirá pronto, el lenguaje VHDL contiene if, case y
Bucles. Una fuente común de frustración que ocurre cuando se aprende
VHDL son los errores clásicos que implican estas declaraciones. Siempre
Recuerde las reglas establecidas a continuación al escribir o depurar su VHDL
Código y usted se ahorrará mucho tiempo. Tome nota de esta sección como
Uno que usted puede desear leer otra vez una vez que usted ha tenido una introducción
formal
A estas declaraciones particulares.
• Cada instrucción if tiene un componente correspondiente entonces
• Cada sentencia if se termina con un end if;
• Si necesita usar una construcción else if, la versión VHDL es elsif
• Cada caso se termina con un caso final;
• Cada instrucción de bucle tiene un bucle de extremo correspondiente; declaración
En general, no debe preocuparse demasiado por memorizar la sintaxis del código
Ya que es probable que use un editor lo suficientemente sofisticado como para tener
fragmentos de código (es decir, Gedit1). Un buen programador se distingue por
Otros medios que el recuerdo perfecto de la sintaxis del código.
2.7 Identificadores
Un identificador hace referencia al nombre dado a varios elementos en VHDL. Ejemplos
De identificadores en lenguajes de nivel superior incluyen nombres de variables y funciones
Nombres Ejemplos de identificadores en VHDL incluyen nombres de variables,
Nombres y nombres de puertos (todos los cuales serán discutidos pronto). Listado abajo
Son las reglas duras y blandas (es decir, usted debe seguirlas o debe seguir
Los identificadores VHDL.
• Los identificadores deben ser auto-descriptivos. En otras palabras, el texto que usted aplica
Identificadores deben proporcionar información sobre el uso y el propósito de
El elemento que representa el identificador.
• Los identificadores pueden ser tan largos como desee (contienen muchos caracteres).
Los nombres más cortos hacen para un mejor código de lectura, pero los nombres más largos
presentes
más información. Depende del programador elegir un
Longitud del identificador.
• Los identificadores sólo pueden contener una combinación de letras (A-Z y a-z),
Dígitos (0-9) y el carácter de subrayado ("").
• Los identificadores deben comenzar con un carácter alfabético.
• Los identificadores no deben terminar con un guión bajo y nunca deben tener dos
Subrayados consecutivos.
• El mejor identificador para una función que calcula la posición del
La Tierra es CalcEarthPosition o posición de tierra calc. Trate de ser coherente.
• El mejor identificador para una variable que almacena la edad de su automóvil es
AgeMyCar o la edad de mi coche. Una vez más, trate de ser coherente.
Recuerde, las elecciones inteligentes para identificadores hacen que su código VHDL sea más
Legible, comprensible y más impresionante para compañeros de trabajo, superiores, familiares
y amigos. Algunos ejemplos de buenas y malas decisiones para
Los nombres de identificadores aparecen en el Listado 2.5 y en el Listado 2.6.
2.8 Palabras reservadas
Hay una lista de palabras que han sido asignadas significado especial por
El lenguaje VHDL. Estas palabras especiales, usualmente referidas como reservadas
Palabras, no se pueden utilizar como identificadores al escribir código VHDL. Un parcial
Lista de palabras reservadas que puede estar inclinado a usar aparece en Listado
2.7. Una lista completa de palabras reservadas aparece en el Apéndice. Notablemente
Que faltan del listado 2.7 son nombres de operador estándar como AND, OR,
XOR, etc.
2.9 Estilo de codificación VHDL
El estilo de codificación se refiere a la apariencia del código fuente VHDL. Obviamente,
La libertad proporcionada por la insensibilidad al caso, la indiferencia al espacio en blanco
Y las reglas laxas entre paréntesis crean una anarquía de codificación. El énfasis en
Por lo tanto, el estilo de codificación se coloca en la legibilidad. Desafortunadamente, el nivel
De la legibilidad de cualquier documento, particularmente el texto de codificación, es
subjetivo.
Escribir código VHDL es similar a escribir código en otros lenguajes informáticos
Como C y Java, donde tiene la capacidad de hacer el documento más legible sin cambiar el
funcionamiento del código. Esto es principalmente
Hecho por sangría de ciertas partes del programa, utilizando auto-descripción
Identificadores y proporcionar comentarios apropiados cuando y donde sea necesario.
En vez de indicar aquí un manojo de reglas para que usted siga en cuanto a cómo su
Código debe buscar, en su lugar debe esforzarse por simplemente hacer su fuente
Legible por código. A continuación se enumeran algunos pensamientos sobre lo que hace
legible
código fuente.
• Es posible que si su código fuente VHDL le sea legible,
Ser legible a otros que pueden necesitar leer su documento. Estas
Otras personas pueden incluir a alguien que le está ayudando a obtener el código
Trabajando correctamente, alguien que está asignando un grado a su código, o
Alguien que firma su cheque de pago al final del día. Estos son
La gente que quieres agradar. Es probable que estas personas estén muy ocupadas
Y más que dispuestos a hacer una mirada superficial a su código. Agradable
Mirando el código inclinará tal subjetividad en su favor.
• En caso de duda, su código fuente VHDL debe ser modelado después de
Otro documento VHDL que encuentre organizado y legible. Cualquier código
Usted mira que está escrito en algún lugar es más probable escrito por
Alguien con más experiencia de VHDL que un principiante como tú.
Emular las partes buenas de su estilo mientras se encuentra en el camino hacia la creación de
un
Estilo aún más legible.
• Adoptar un buen estilo de codificación le ayuda a escribir código sin errores.
Al igual que con otros compiladores con los que tiene experiencia, encontrará que
El compilador VHDL hace un gran trabajo de saber que un documento tiene un
Error pero un trabajo marginal en decirle dónde o cuál es el error.
El uso de un estilo de codificación consistente le permite encontrar errores tanto antes
Compilación y después de que el compilador haya encontrado un error.
• Un documento con el formato adecuado presenta explícitamente
Su diseño que no sería fácilmente evidente. Esto es particularmente
True cuando se utiliza la sangría adecuada y suficientes comentarios.

Das könnte Ihnen auch gefallen