Comience con la programación VHDL: Diseñe su propio Hardware

Divulgación: ¡Su soporte ayuda a mantener el sitio en funcionamiento! Ganamos una tarifa de referencia por algunos de los servicios que recomendamos en esta página.

VHDL es un lenguaje de descripción de hardware(HDL). Un HDL se parece un poco a un lenguaje de programación, pero tiene un propósito diferente. En lugar de ser utilizado para diseñar software, un HDL se utiliza para definir un chip de computadora. VHDL se puede usar para describir cualquier tipo de circuito y se usa con frecuencia en el diseño, simulación y pruebas de procesadores, CPU, placas madre, FPGAs, ASIC y muchos otros tipos de circuitos digitales.

Historial de VHDL

El nombre VHDL es un acrónimo anidado. Significa Lenguaje de descripción de hardware VHSIC. VHSIC significa Circuito Integrado de Muy Alta Velocidad. Además de ser una descripción de un procesador rápido, era el nombre de un programa gubernamental estadounidense en la década de 1980 cuya misión era la investigación y el desarrollo en el campo de los circuitos integrados de muy alta velocidad (chips de computadora rápidos).

Junto con importantes avances en ciencia de materiales, algoritmos, diseño de chips, litografía y una docena de otros campos relacionados, VHSIC desarrolló VHDL.

El primer estándar oficial para el idioma vino del IEEE en 1987, y se conoce como IEEE 1076. Ha habido varias ediciones desde entonces, la última en 2008. In addition to the «core» language specified in 1076, there are a number of extensions codified in other specs:

  • IEEE 1076.1 VHDL Analog and Mixed-Signal (VHDL-AMS)
  • IEEE 1076.1.1 VHDL-AMS Standard Packages (stdpkgs)
  • IEEE 1076.2 VHDL Math Package
  • IEEE 1076.3 VHDL Synthesis Package (vhdlsynth)
  • IEEE 1076.3 VHDL Synthesis Package – Floating Point (fphdl)
  • IEEE 1076.4 Timing (VHDL Initiative Towards ASIC Libraries: vital)
  • IEEE 1076.6 Interoperabilidad de síntesis VHDL
  • IEEE 1164 VHDL Multivalue Logic (std_logic_1164) Paquetes

Diseño y sintaxis VHDL

VHDL se basó en Ada, y tomó prestado de ella ampliamente tanto en sintaxis como en conceptos. Esto se complementó con conceptos específicos de hardware como lógica de múltiples valores, paralelismo físico y un conjunto extendido de operadores booleanos. VHDL también puede indexar matrices en orden ascendente y descendente, mientras que Ada (y la mayoría de los otros lenguajes de programación también) solo indexa en orden ascendente.

La mayoría de los lenguajes de programación son, en esencia, procedimentales: el ordenador ejecuta un comando tras otro en secuencia. VHDL es diferente. Es un lenguaje de hardware que describe una estructura física (real o simulada). Esa estructura se compone de un gran número de módulos, y cada módulo actúa al mismo tiempo que cualquier otro módulo.

Por lo tanto, dentro de cada módulo hay un flujo de instrucciones de procedimiento que se parece un poco a un pequeño programa de software autónomo, con variables, flujos de control, condicionales, bucles. Cada módulo tiene una o más entradas, junto con una o más salidas. Las entradas se especifican dentro de una estructura llamada entidad, y la lógica autocontenida se define en una arquitectura.

Considere la idea de un «AND gate» donde tenemos dos entradas y una salida. Si ambas entradas están » on «(true, 1), entonces la salida está» on»; de lo contrario, la salida está «off».»Así que usando VHDL, definiríamos dos entradas y una salida. Los valores aceptados de esas entradas y salidas se definirían en un módulo std_logic, que se importa como una biblioteca en un lenguaje de programación normal. La arquitectura definiría entonces el funcionamiento interno de nuestro «AND gate» para que funcione como acabamos de discutir.

El módulo std_logic es un tipo de valor específico de hardware interesante. Es similar al valor booleano presente en los lenguajes de programación (un bit: verdadero o falso), pero puede tener un rango de valores, ya que representa un impulso eléctrico real en un sistema físico:

  • U: sin inicializar. Esta señal aún no ha sido configurada.
  • X: desconocido. Imposible determinar este valor/resultado.
  • 0: lógica 0
  • 1: lógica 1
  • Z: Alta Impedancia
  • W: Señal débil, no puedo decir si debería ser 0 o 1.
  • L: Señal débil que probablemente debería ir a 0
  • H: Señal débil que probablemente debería ir a 1
  • -: No me importa.

Así es, en miniatura, como se construye un diseño VHDL completo. Módulos de actividad de E/S bastante simples y lógicamente autónomos se construyen y conectan entre sí para formar máquinas computacionales capaces de realizar diferentes tipos de tareas. Un diseño VHDL podría describir una computadora de propósito general completamente funcional, o podría codificar un algoritmo único, como la prueba de trabajo de fuerza bruta utilizada para la minería de Bitcoin.

Es importante darse cuenta de que un diseño VHDL no es un programa, no se ejecuta ni se ejecuta. Como un plano, define una arquitectura. Una vez que se completa un diseño, generalmente se simula para probar en un banco de pruebas de software y luego se sintetiza, lo que significa que se traduce en un diseño físico que se puede implementar en un chip o placa de circuito real.

Recursos para aprender VHDL

Hay muchos recursos para aprender VHDL. Hemos reunido algunos de los mejores.

Recursos en línea

  • VHDL Primer: un tutorial sobre VHDL de la Universidad de Pensilvania.
  • VHDL en Wikipedia: La cobertura de Wikipedia de VHDL es sorprendente en profundidad y lúcida, proporcionando una gran introducción al lenguaje en su conjunto.
  • VHDL Cookbook: un libro gratuito en línea, con la longitud y el formato de un libro de texto para cursos universitarios.
  • Tutorial VHDL: Aprende con el ejemplo: este venerable tutorial no es nada agradable de ver, pero la información es excelente y está muy bien organizada.
  • Guía de idiomas VHDL: este es un PDF que cubre el idioma con gran detalle (400 páginas) con enlaces en el documento para una navegación muy fácil. Esta es una gran referencia.
  • Guía del diseñador para VHDL: una colección de recursos, tutoriales y enlaces. Incluye videos y un curso de certificación en línea.
  • Programmable Logic/VHDL Module Structure
  • VHDL Basics — Online Course
  • VHDL Handbook
  • VHDL Starters Guide

Books

All these books focus on VHDL:

  • The Designer’s Guide to VHDL, Third Edition
  • Circuit Design and Simulation with VHDL
  • Vhdl By Example
  • VHDL: Basics to Programming
  • VHDL for Engineers
  • VHDL By Example: Fundamentals of Digital Design
  • Circuit Design with VHDL
  • Digital Design Using VHDL: Un enfoque de sistemas

VHDL & Verilog Books

La principal «competencia» de VHDL es Verilog. Ambos lenguajes se utilizan para el diseño de hardware, por lo que hay una serie de libros que se centran en conceptos de diseño e ingeniería subyacentes y utilizan VHDL y Verilog.

  • Diseño digital con Diseño RTL, VHDL y Verilog
  • Diseño de chip Hdl: Una Guía Práctica para Diseñar, Sintetizar & Simular Asics & Fpgas Usando Vhdl o Verilog
  • Diseñar Recetas para FPGAs, Segunda Edición: Usando Verilog y VHDL
  • Fundamentos de Programación HDL: VHDL y Verilog

Otras Importantes VHDL Enlaces

Implementaciones y Simuladores

  • Libre / de código Abierto
    • GHDL
    • NVC
    • Libre HDL Proyecto
  • Comercial / Propietario
    • VHDL Similar
    • Active-HDL
    • Incisivo Empresa Simulador
    • ModelSim

Herramientas

  • EDA Utils: una gran colección de utilidades para trabajar con VHDL, así como Verilog y otros Hdl.
  • Parque infantil EDA: una caja de arena en línea para probar diseños VHDL.
  • Paquetes de editor
    • Modo VHDL Emacs
    • Complemento VHDL para vim
    • Paquete VHDL para Sublime Text
    • VHDL para Atom
    • VHDL para Bloc de notas++

Tú También Deberías Saberlo…

VHDL es uno de los dos principales lenguajes de descripción de hardware. El otro es Verilog. La mayoría de los diseñadores de hardware están familiarizados con ambos, así como con lenguajes de sistemas operativos de bajo nivel como Cand C++.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.