Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> VHDL

Tutorial - Introducción a VHDL

VHDL es un acrónimo horrible. Significa V HSIC H hardware D escripción L idioma Un acrónimo dentro de un acrónimo, impresionante! VHSIC significa V ery H alta S orinar yo C integrado circuito Por lo tanto, VHDL expandido es V Circuito integrado de alta velocidad H hardware D escripción L idioma UPH eso es un bocado. VHDL es uno de los dos lenguajes utilizados por la educación y las empresas para diseñar FPGA y ASIC. Primero podría beneficiarse de una introducción a los FPGA y ASIC si no está familiarizado con estas fascinantes piezas de circuitos. VHDL y Verilog son los dos lenguajes que usan los diseñadores digitales para describir sus circuitos, y son diferentes por diseño a los lenguajes de software tradicionales como C y Java.

Para el siguiente ejemplo, crearemos un archivo VHDL que describe una puerta Y. Como repaso, un And Gate simple tiene dos entradas y una salida. La salida es igual a 1 solo cuando ambas entradas son iguales a 1. A continuación se muestra una imagen de la puerta And que describiremos con VHDL.

Una puerta Y

¡Hagámoslo! La unidad fundamental de VHDL se denomina señal. . Por ahora, supongamos que una señal puede ser un 0 o un 1 (en realidad, hay otras posibilidades, pero llegaremos a eso). Aquí hay algo de lógica VHDL básica:

signal and_gate : std_logic;
and_gate <= input_1 and input_2;

La primera línea de código define una señal de tipo std_logic y se llama and_gate. Std_logic es el tipo que se usa más comúnmente para definir señales, pero hay otros sobre los que aprenderá. Este código generará una puerta AND con una sola salida (and_gate) y 2 entradas (input_1 y input_2). La palabra clave "y" está reservada en VHDL. El operador <=se conoce como operador de asignación. Cuando analices verbalmente el código anterior, puedes decir en voz alta:"La señal y_gate OBTIENE input_1 y ed con input_2".

Ahora puede que se esté preguntando de dónde vienen input_1 y input_2. Bueno, como su nombre lo indica, son entradas de este archivo, por lo que debe informar a las herramientas sobre ellas. Las entradas y salidas de un archivo se definen en una entidad . Una entidad contiene un puerto que define todas las entradas y salidas de un archivo. Creemos una entidad simple:

entity example_and is
  port (
    input_1    : in  std_logic;
    input_2    : in  std_logic;
    and_result : out std_logic
  );
end example_and;

Esta es su entidad básica. Define una entidad llamada example_and y 3 señales, 2 entradas y 1 salida, todas de tipo std_logic. Se necesita otra palabra clave de VHDL para completar esto y es arquitectura. . Una arquitectura se utiliza para describir la funcionalidad de una entidad en particular. Piense en ello como un trabajo de tesis:la entidad es la tabla de contenido y la arquitectura es el contenido. Creemos una arquitectura para esta entidad:

architecture rtl of example_and is 
  signal and_gate : std_logic;
begin
  and_gate <= input_1 and input_2;
  and_result <= and_gate;
end rtl;

El código anterior define una arquitectura llamada rtl de entidad example_and. Todas las señales que utiliza la arquitectura deben definirse entre las palabras clave "es" y "comenzar". La lógica de la arquitectura real se encuentra entre las palabras clave "comienzo" y "final". Ya casi ha terminado con este archivo. Una última cosa que debe decirle a las herramientas es qué biblioteca usar. Una biblioteca define cómo se comportan ciertas palabras clave en su archivo. Por ahora, dé por sentado que necesita tener estas 2 líneas en la parte superior de su archivo:

library ieee;
use ieee.std_logic_1164.all;

¡Felicidades! Ha creado su primer archivo VHDL. Puede ver el archivo completo aquí:

library ieee;
use ieee.std_logic_1164.all;

entity example_and is
  port (
    input_1    : in  std_logic;
    input_2    : in  std_logic;
    and_result : out std_logic
    );
end example_and;

architecture rtl of example_and is
  signal and_gate : std_logic;
begin
  and_gate   <= input_1 and input_2;
  and_result <= and_gate;
end rtl;

¿Parece que tuviste que escribir mucho código solo para crear una puerta estúpida? En primer lugar, y las puertas no son estúpidas. En segundo lugar, tienes razón; VHDL es un lenguaje muy detallado. Acostúmbrese al hecho de que hacer algo que era muy fácil en el software le llevará mucho más tiempo en un HDL como Verilog o VHDL. ¡Pero solo pídale a algún tipo de software que intente generar una imagen en un monitor VGA que muestre el Juego de la vida de Conway y observe cómo su cabeza da vueltas con asombro! Por cierto, ese video se crea con VHDL y un FPGA. ¡Podrás hacerlo muy pronto!


VHDL

  1. Registros:ejemplo de VHDL
  2. Variables - Ejemplo de VHDL
  3. Introducción a la estereolitografía (SLA)
  4. Introducción a la aleación de titanio
  5. Introducción a los circuitos de CC
  6. Introducción a los circuitos de CA
  7. Introducción a SPICE
  8. Tutorial C
  9. Tutorial de Verilog
  10. Introducción a los armónicos:Parte 1
  11. Introducción a SINUMERIK 808D:tutorial en vídeo torneado, parte 1