Está en la página 1de 34

SISTEMAS DIGITALES CON VHDL

GRUPO 4- CIRCUITOS DIGITALES

INTEGRANTES:

_DELGADO OJEDA DIEGO ADOLFO


_JAIME CHIROQUE RONALDO DAVID
_LABORIANO HERNÁNDEZ JOSE CRISTIAN
_GONZALES ALVARADO SEBASTIAN
ÍNDICE:
ELEMENTOS ESTRUCTURALES DE UN
1 INTRODUCCIÓN 4 PROGRAMA EN VHDL

2 ¿QUE ES EL LENGUAJE VHDL? 5 ESTRUCTURA BÁSICA DE UN ARCHIVO


FUENTE EN VHDL

DIFERENCIA ENTRE LENGUAJE DE


3 PROGRAMACIÓN Y LENGUAJE DE 6 CONCLUCIONES
DESCRIPCIÓN
INTRODUCCIÓN:

Con la aparición de técnicas para la síntesis de circuitos a partir de un


lenguaje de alto nivel, se utilizaron precisamente lenguajes de simulación,
que si bien alcanzan un altísimo nivel de abstracción, su orientación es
básicamente la de simular. De esta manera, los resultados de una síntesis
a partir de descripciones con estos lenguajes no es siempre la más optima.
Uno de los lenguajes de síntesis que se desarrolló a partir de los lenguajes
de modelado y simulación lógica es el VHDL
LENGUAJE
VHDL
¿Que es el LENGUAJE VHDL?
Es un lenguaje de descripción, modelado y diseñado
para describir, en una forma en que los humanos y las
máquinas puedan leer y entender, la funcionalidad y
la organización de sistemas hardware digitales, placas
de circuitos y componentes.
Ventajas del LENGUAJE VHDL
• VHDL permite diseñar, modelar y comprobar un sistema desde un alto nivel
de abstracción bajando hasta el nivel de definición estructural de
compuertas.
• Los módulos creados en VHDL pueden utilizarse en diferentes diseños, lo que
permite la reutilización del código.
• Esta basado en un estándar (IEEE)
• VHDL permite dividir o descomponer un diseño hardware y su descripción
VHDL en unidades más pequeñas
DIFERENCIA ENTRE LENGUAJE DE
PROGRAMACIÓN Y LENGUAJE DE DESCRIPCIÓN

SOFTWARE HARDWARE
ACCIÓN

ACCIÓN

PASO CONOCIDO
POR EL AUTOR

PASOS NO CONOCIDOS POR


EL AUTOR
PASO CONOCIDO
POR EL AUTOR

RESPUESTA PASO CONOCIDO


POR EL AUTOR

RESPUESTA
USO DEL VHDL EN LA ACTUALIDAD
Field Programable Gate Array Matriz de puerta programable de campo
DISEÑO DIGITAL CLÁSICO

DISEÑO
ESPECIFICACIONES SÍNTESIS
FUNCIONAL

UBICACIÓN Y MAPEO
VERIFICACIÓN
ENRUTADO TECNOLOGICO

FABRICACIÓN
DISEÑO DIGITAL MODERNO

DISEÑO DIGITAL DESCRIPCIÓN SÍNTESIS


VHDL

EMBLAZADO Y
FPGA
ENRUTADO
elementos ESTRUCTURALES DE UN PROGRAMA
EN VHDL
 Un sistema digital está descrito por sus entradas y sus
salidas y la relación que existe entre ellas.

ESTA COMPUESTO POR:

BIBLIOTECAS ENTIDAD ARCHITECTURE INDICADORES


BIBLIOTECAS

 Contiene múltiples funciones y operaciones entre ellas


tenemos:

IEEE LPM

Operadores Paquete Módulos Formato;


lógicos: STD_LOGIC sumadores, LPM.LPM_
STD_LOGIC _1164 multiplicadores,.. COMPONENST

Institute of Electrical
and Electronics Library Parametric
Engineers (IEEE) Module (LPM)
ENTIDAD

 La entidad únicamente describe la forma externa del circuito, en ella se


enumeran las entradas y las salidas del diseño.

Declaración de la entidad: Modos que se pueden usar:

ENTITY GENERIC IN Señal de entrada

END PORT
OUT Señal de salida

ENTITY<nombre de la entidad> IS INOUT Señal bidireccional

GENERIC (cte1: tipo := valor1; cte2: tipo:=valor 2;…);


PORT (<señal>[nombre de la seña´]: modo, tipo); BUFFER Señal de salida; dentro y fuera
END <nombre de la entidad> ;
ENTIDAD

EJEMPLO APLICATIVO:
 Un circuito presenta dos entradas de tamaño N bits y una salida de tamaño un bit, particularizamos
la entidad para N igual a 8, implementar la programación de las entradas y salidas.

SOLUCIÓN

Una vez que definimos el circuito, tenemos que particularizarlo, por lo que siempre debe darse un valor a las
constantes del campo generic.

entity F is
generic (N: natural: =8);
port (A,B: in bit_vector(N-1downto 0);
Y, out bit );
end F;
ARCHITECTURE

 Se considera como el circuito diseñado para le entidad previamente


declarada

REGIÓN DECLARATIVA CUERPO PARA LA ARQUITECTURA

Se puede declarar
COMPONENTES (Aclaración de inició)

SEÑALES ATRIBUTOS CONCURRENTES(


ASIGNACIONES
TIPOS declaración)

PROCESOS
CONSTANTES COMPONENTES (declaración)

GENERACIÓN
ARCHITECTURE
EJEMPLO

architecture arch_name of entity_name is


-- declaraciones de la arquitectura:
-- tipos REGIÓN DECLARATIVA

-- señales
-- componentes
begin
-- código de descripción
-- instrucciones concurrentes
-- ecuaciones booleanes
-- componentes CUERPO PARA LA
process (lista de sensibilidad) ARQUITECTURA
begin
-- código de descripción
end process;
end arch_name;
INDICADORES

 Son objetos predefinidos en los estándares de VHDL, existen tres


tipos:

SEÑALES CONSTANTES VARIABLES

 Señales lógicas  Representa un  Su función es


o “cables” objeto cuyo almacenar
dentro de un valor NO puede resultados
circuito. cambiarse.

signal identificador : tipo; constant identificador: tipo:= valor; variable identificador: tipo [:= valor];
Tipos que se encuentran PREDETERMINADOS en VHDL:
El rango, siempre entre paréntesis, indica el
Sólo admite los valores 0 y 1 número de bits del vector,

BIT BIT_VECTOR
El valor binario tiene que aparecer Para un vector de N bits el rango será N-1
entre comas simples (‘0’ o ‘1’) downto 0

CHARACTER cualquier valor ascii


BOOLEAN sólo admite los valores true y false

STRING cualquier cadena formada por ascii


NATURAL rango cualquier número natural dentro del rango

cualquier número entero dentro del


rango,
INTEGER cualquier número positivo dentro del
POSITIVE rango
rango rango
aquí el rango no va entre paréntesis,
puede expresarse como 0 to MAX
Tipos que se encuentran en VHDL:

Este tipo representa una lógica multivaluada de 9 valores.

STD_LOGIC Posee alta impedancia ‘Z’, desconocido ‘X’ ó sin inicializar


‘U’ entre otros

Para hacer una asignación el valor tiene que aparecer entre


comas simples (‘0’, ‘1’, ‘X’, …).

Representa un vector de elementos std_logic

STD_LOGIC_VECTOR(rango)

Posee las mismas reglas de asignación y definición del rango


que el tipo bit_vector pero con un mayor número de valores
posibles.
Estructura Básica de un Archivo fuente en VHDL
Como hemos visto los modelos VHDL están formados por dos partes: la entidad (entity) y
la arquitectura (architecture); es en esta última donde se escriben las sentencias que describen el
comportamiento del circuito, a este modelo de programación en VHDL se le suele denominar
behavioral.

architecture circuito of nombre is Dentro de la arquitectura se encuentra:


-- señales 1. Tipos y señales intermedias necesarios para la
begin descripción del comportamiento.
-- sentencias concurrentes 2. Sentencias de asignación que deben realizarse
process (lista de
siempre así como sentencias concurrentes.
sensibilidad) begin
3. Uno a varios process que tienen en su interior
-- sentencias secuenciales sentencias condicionales y/o asignaciones a
-- sentencias condicionales
end process señales que dan lugar a hardware secuencial
end architecture circuito;
WITH – SELECT – WHEN

Esta sentencia es menos general que la anterior. En este caso se modificará el valor de una señal
dependiendo de los valores de una señal condición, aparecerán como máximo tantas líneas como valores
posibles pueda tener la señal condición.

with señal_condición select


señal_a_modificar <= valor_1 when
valor_1_señal_condición,
valor_2 when
valor_2_señal_condición,
...
valor_n when
valor_n_señal
_condición,
valor_por_defecto when others;
FOR – LOOP
 
process (lista de sensibilidad)
begin
for loop_var in range loop
-- asignaciones
end loop;
end process;

El bucle tipo for está soportado si el rango del índice


es estático (0 to N ó N downto 0, donde N posee
siempre el mismo valor) y el cuerpo no contiene
sentencias wait

Los bucles de tipo while en general no están soportados


Sentencia process
VHDL presenta una estructura particular denominada process que define los límites de un dominio
que se ejecutará (simulará) si y sólo si alguna de las señales de su lista de sensibilidad se ha
modificado en el anterior paso de simulación.

Un process tiene la siguiente estructura:


 
 
 
process (lista_de_sensibilidad)
-- asignacion de variables
-- opcional no recomendable
begin
-- Sentenicas condicionales
-- Asignaciones
end process;
MULTIPLEXO
R 2x1: La descripción de lo que hace internamente se
puede realizar de varias maneras, así pues un
multiplexor es un módulo que hace:

S0 O

0 D0

1 D1

Por lo que su entidad correspondiente sería: Lo cual podría corresponder perfectamente


a la siguiente arquitectura:
 
entity mux2 is architecture
port (D0, D1, S0: in std_logic; O out
std_logic); behavioral1 of
end mux2; mux2 is begin
O <= D1 when (S0 = ‘1’)
else D0;
end behavioral1;
EJEMPLOS

COMPUERTA AND
Varias compuertas
CONCLUCIONES:
 Al estar basado en un estándar puede utilizarse para minimizar problemas de portabilidad.
 El lenguaje permite, de ser necesario, verificar cada componente del sistema por separado.
 Las simulaciones funcionales en VHDL se pueden llevar a cabo fácilmente mediante la descripción algorítmica de los
bancos de prueba. Si bien las simulaciones exhaustivas llevan mucho tiempo, se pueden realizar de manera sencilla, ya que
las diferentes metodologías existentes para describir bancos de prueba permiten generar gran cantidad de patrones de
verificación.
 Los diseños realizados con VHDL no sólo pueden ser simulados, sino también sintetizados con herramientas adecuadas.
 Los componentes descriptos con VHDL para un diseño pueden reutilizarse posteriormente en otros diseños.
 Con el lenguaje VHDL el diseño de sistemas digitales no sólo está limitado a la ingeniería, sino que abre inmensas
posibilidades para programadores en general.
 El uso de VHDL no sólo es importante en la industria, sino también para la enseñanza ya que provee una forma legible y
estándar de especificar y describir sistemas digitales.

También podría gustarte