You are on page 1of 14

SISTEMAS DIGITALES

VHDL

Ing. Marcelo Urbina. PhD.


Periodo May 2021 – Sep 2021
Contenido
VHDL básico
• Definición de VHDL
• Partes de un programa en VHDL
• Bibliotecas
• Entidad
• Arquitectura
• Tipos de instrucción
• Ejemplos
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Definición de VHDL
• VHDL ~ Acrónimo de VHSIC y HDL
• “Very High Speed Integrated Circuit” Hardware Description
Language
• Lenguaje definido por el IEEE (ANSI/IEEE 1076-1993) para
describir circuitos digitales
• NO es un lenguaje de programación en el cual se indican
instrucciones en un cierto orden, las cuales serán ejecutadas
luego en forma secuencial
• El código de un “programa” en VHDL especifica la interfaz,
estructura y comportamiento de un circuito y sus
componentes

SISTEMAS DIGITALES 3
Definición de VHDL Bibliotecas
Partes de un programa en VHDL Entidad
Tipos de instrucción Arquitectura
Ejemplos

Biblioteca
• Las bibliotecas contienen descripciones de componentes organizados en
paquetes, que pueden ser importados y reutilizados en otros diseños
• IEEE ha desarrollado varios paquetes para representación y operaciones
con diferentes tipos numéricos, ej: std_logic_1164, std_logic_signed,
std_logic_unsigned, numeric_std, etc.
• Para utilizar los componentes contenidos en una biblioteca, se emplean
las instrucciones library y use, para incorporar la biblioteca y acceder a sus
paquetes y componentes, respectivamente:

SISTEMAS DIGITALES 4
Definición de VHDL Bibliotecas
Partes de un programa en VHDL Entidad
Tipos de instrucción Arquitectura
Ejemplos

Entidad
• La entidad es la representación abstracta de una unidad de diseño,
componente o bloque básico de construcción de un circuito
• La declaración de una entidad establece la interfaz del componente a
través de sus puertos de entrada y salida
• Equivalente a la “caja negra” del componente
• Cada entidad tiene una o más arquitecturas asociadas

SISTEMAS DIGITALES 5
Definición de VHDL Bibliotecas
Partes de un programa en VHDL Entidad
Tipos de instrucción Arquitectura
Ejemplos

Ejemplos de Entidades
-- Declaración de la entidad
Componente
a d entity Componente1 is
b port(a, b, c : in std_logic;
1
d, e : out std_logic);
c e end Componente1;

-- Declaración de la entidad
entity Componente2 is

Componente

2 a1 Componente port(a : in std_logic_vector(1 downto 0);


a 2 a0 c1 b : in std_logic_vector(1 downto 0);
c
2

2 b1 c0 c : out std_logic_vector(1 downto 0));


b b0 end Componente2;

-- Declaración de la entidad
Q3 entity Componente3 is
Componente

Componente

rst rst port(rst, up, clk : in std_logic;


4 Q2
up Q up Q : out std_logic_vector(3 downto 0));

3

Q1 end Componente3;
clk clk
Q0

SISTEMAS DIGITALES 6
Definición de VHDL Bibliotecas
Partes de un programa en VHDL Entidad
Tipos de instrucción Arquitectura
Ejemplos

Arquitectura
• En la arquitectura se describe el comportamiento o funcionamiento interno
del componente o circuito
• La arquitectura está asociada a la entidad que describe
• Pueden existir varias arquitecturas asociadas con una misma entidad pero el código
será difícil de entender, mejor utilizar una sola arquitectura por entidad.
• Existen dos partes dentro del código de una arquitectura:
• El área comprendida entre la cabecera y begin está destinada para declarar objetos
que serán utilizados en la descripción
• El área delimitada entre begin/end que es donde se realiza la descripción del diseño

SISTEMAS DIGITALES 7
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Instrucciones Concurrentes
• Se interpretan simultáneamente, en forma similar a como
funcionan los diferentes componentes de un circuito o
dispositivo real
• No importa el orden en que son escritas en el programa

SISTEMAS DIGITALES 8
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Instrucciones Secuenciales
• Son ejecutadas una a continuación de la otra, de acuerdo con
un orden específico
• En VHDL solo pueden utilizarse dentro de un proceso (bloque
process)

SISTEMAS DIGITALES 9
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Procesos
• El proceso es el bloque básico de ejecución secuencial, contienen instrucciones secuenciales
que permiten modelar el comportamiento de un circuito
• Dentro de los procesos es posible declarar y utilizar variables
• El proceso tiene una lista de sensitividad, conformada por un conjunto de señales
• Cuando el valor de una señal en la lista cambia, se activa el proceso
• Las asignaciones de señales que aparezcan dentro de un proceso solo se hacen efectivas al finalizar la
ejecución del mismo; las asignaciones de variables son inmediatas
• Cuando una arquitectura tiene varios procesos, estos son interpretados simultáneamente
• El proceso se declara con la palabra reservada process

SISTEMAS DIGITALES 10
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Estilos de Descripción
VHDL soporta tres estilos para la descripción del diseño en el cuerpo de una
arquitectura:
• Flujo de datos (Data Flow): se representa como fluyen los valores que
transportan las señales desde las entradas hacia las salidas del circuito
• Estructural (Structural): el diseño se describe en base a la existencia de
componentes o módulos que realizan funciones específicas y la forma como
se interconectan entre sí a través de sus puertos para obtener las salidas
deseadas
• Comportamiento (Behavioral): se utilizan los elementos e instrucciones del
lenguaje para expresar en forma algorítmica la forma como se comporta o
funciona el circuito

Generalmente, los diseños se realizan en un estilo mixto que combina varios


de los estilos mencionados anteriormente
SISTEMAS DIGITALES 11
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Descripción de Flujo de Datos


Consiste en especificar como son transferidos los valores lógicos de los datos
desde las entradas hasta las salidas del circuito, a través de las diferentes
señales que existen en el mismo
Se emplean únicamente instrucciones concurrentes de asignación simple o
asignación condicional

SISTEMAS DIGITALES 12
Definición de VHDL
Partes de un programa en VHDL
Tipos de instrucción
Ejemplos

Software
Logisim

SISTEMAS DIGITALES 13
Diseño y análisis de circuitos combinacionales TALLER

TALLER
Resolver los siguientes ejercicios:

1. Diseñe un circuito combinacional que acepte un número de tres bits y genere un


número binario de salida igual al cuadrado del número de entrada.

SISTEMAS DIGITALES 14

You might also like