Вы находитесь на странице: 1из 59

Universidad de Guadalajara

Departamento de Electrnica

Introduccin al lenguaje de descripcin de hardware VHDL


ACADEMIA DE SISTEMAS DIGITALES AVANZADOS

Febrero 2008

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Porque me seria til usar el VHDL? Si revisamos los dos mtodos tradicionales de diseo lgico: Solucin de ecuaciones lgicas. El diseo esquemtico realizado en computadora. Ambos mtodos son usados actualmente, y se ha desarrollado hasta llegar a ser muy efectivos. Pero el desarrollo de los sistemas computarizados a favorecido a una herramienta que cubra ambas necesidades e incremente su potencialidad en el diseo. El Lenguaje HDL.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Para qu sirven los HDLs?


Los lenguajes de descripcin de HW sirven para modelar circuitos. Para Expresar Ideas
Los modelos se pueden simular para comprobar que se corresponden con la funcionalidad deseada
0 ns 10 ns 20 ns

A B C

O se puede sintetizar para crear un circuito que funciona como modelo

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Los HDLs como documentacin


Los modelos de los circuitos si estn bien comentados sirvan como documentacin.

Utilizar HDLs para hacer las especificaciones

La mejor Documentacin es el cdigo fuente

Los HDLs se pueden utilizar tambin para crear bancos de pruebas, o sea, para crear estmulos y ver resultados durante la simulacin

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Los HDLs cuando el circuito ya existe


if A = 1 And B=1 then s<= ?1? After 5 ns; else s<=0 after 4 ns; end if;

Se puede crear un modelo de un circuito que ya exista.

En este caso el objetivo es simular el circuito para comprobar que su funcionalidad se ajusta a las especificaciones iniciales.
0 ns 10 ns 20 ns

Simulacin post Layout

A B C

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Que es el VHDL? VHDL es un acrnimo en donde la letra V se utiliza para (Very high speed integrated circuit) los circuitos integrados de alta velocidad, y las letras HDL provienen de (Hardware Description Language), lenguaje de descripcin de HW. Este nombre fue aceptado por primera ves por el departamento de defensa de los EUA, el cual fue la primera institucin en entender la importancia y los beneficios de contar con un lenguaje de diseo til para la documentacin, modelado y simulacin de circuitos electrnicos. Bajo el patrocinio de sta, el VHDL fue introducido en el mundo de las aplicaciones del diseo.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Historia Alrededor de 1981 el Departamento de Defensa de los Estados Unidos desarrolla un proyecto llamado VHSIC (Very High Speed Integrated Circuit ) su objetivo era rentabilizar las inversiones en hardware haciendo ms sencillo su mantenimiento. Se pretenda con ello resolver el problema de modificar el hardware diseado en un proyecto para utilizarlo en otro, lo que no era posible hasta entonces porque no exista una herramienta adecuada que armonizase y normalizase dicha tarea. ( HDL's ) En 1983, IBM, Intermetrics y Texas Instruments empezaron a trabajar en el desarrollo de un lenguaje de diseo que permitiera la estandarizacin, facilitando con ello, el mantenimiento de los diseos y la depuracin de los algoritmos, para ello el IEEE propuso su estndar en 1984.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Historia Tras varias versiones llevadas a cabo con la colaboracin de la industria y de las universidades, que constituyeron a posteriori etapas intermedias en el desarrollo del lenguaje, el IEEE public en diciembre de 1987 el estndar IEEE std 1076-1987 que constituy el punto firme de partida de lo que despus de cinco aos sera ratificado como VHDL. Esta doble influencia, tanto de la empresa como de la universidad, hizo que el estndar asumido fuera un compromiso intermedio entre los lenguajes que ya haban desarrollado previamente los fabricantes, de manera que ste qued como ensamblado y por consiguiente un tanto limitado en su facilidad de utilizacin haciendo dificultosa su total comprensin. Este hecho se ha visto incluso ahondado en su revisin de 1993.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Historia La independencia en la metodologa de diseo, su capacidad descriptiva en mltiples dominios y niveles de abstraccin, su versatilidad para la descripcin de sistemas complejos, su posibilidad de reutilizacin y en definitiva la independencia de que goza con respecto de los fabricantes, han hecho que VHDL se convierta con el paso del tiempo en el lenguaje de descripcin de hardware por excelencia

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Historia
El primer estndar VHDL apareci en 1987 como Std 1076 y desde entonces la siguiente revisin fue en 1993, posteriormente la IEEE organizo perodos de revisin cada cierto tiempo para revisar las normas y reglas que mantenga al lenguaje actual al desarrollo tecnolgico.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

VHDL: Evolucin
1980 El departamento de defensa de los USA funda el proyecto para crear el HDL estndar dentro del programa VHSIC.
1981 Woods Hole Workshop, reunin inicial entre el gobierno, Universidades e industria. 1983 se concedi a Intermetrics, IBM y Texas Instruments el contrato para desarrollar VHDL. 1985 Versin 7.2 de dominio pblico. 1987 el IEEE lo ratifica como su estndar 1076 (VHDL-87) 1993 El lenguaje VHDL fue revisado y ampliado, pasando a ser estndar 1076 93 (VHDL-93) 1998 Las universidades de USA y UE, incorporan este lenguaje a las ingenieras.

2000 ltima modificacin de VHDL

CONCEPTOS VHDL

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Interior del TV

Cmo se disea con VHDL? Cmo es el diseo electrnico?

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Diseo con ecuaciones boolenas

Diseo ampliamente utilizado, y que requiere del diseador de conocimientos en las tcnicas de minimizacin y reduccin de trminos para encontrar ecuaciones ms eficientes.

Actualmente diversos programas de computadoras tiene sistemas de simulacin y simplificacin automticos.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Diseo con esquemticos

Tradicionalmente estos son mtodos extendidos de las ecuaciones boolenas. Ms gente prefiere la representacin esquemtica por que es ms clara de observarse. Durante mucho tiempo se considero como el mtodo ms optimizado de diseo.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Diseo de alta densidad

Los diseos de alta densidad con los mtodos clsicos basados en esquemticos han alcanzado niveles muy altos, que empiezan a limitar la flexibilidad del diseo.
Circuitos de un alto nmero de elementos crea diagramas complejos y difciles de analizar. Este tipo de limitaciones dio paso al desarrollo de lenguajes de descripcin de hardware HDLs. Sin embargo un lenguaje de alto nivel abstraccin que no siempre resulta fcil de aplicar por el diseador que no conoce sobre temas de programacin.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Diseo de alta densidad A pesar del fcil uso de las tradicionales ecuaciones boolenas y los esquemticos tienen ciertas desventajas.

Con los diseos tradicionales y el uso de los mtodos esquemticos circuitos con ms de seis mil compuertas lgicas podra llegar a ser incomprensibles sin un mtodo y herramienta de software adecuada.

Pero en la actualidad los nuevos integrados tienen del orden de millones de compuertas disponibles para el diseo.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Generalmente un sistema se describe como una red elementos interconectados. La especificacin de un sistema es dado en funcin del comportamiento esperado de ste.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Una de las desventajas de los mtodos tradicionales son la traduccin del diseo a las ecuaciones lgicas. Este paso puede ser simplificado con el uso del HDL.

Por ejemplo este lenguaje permite el uso de mquinas finitas de estados para sistemas secuenciales y tablas de verdad para mdulos combinacionales.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

El HDL es utilizado principalmente para las apliciones de los circuitos lgicos programables PLDs, los complex CPLDs y las Field Programmable Gate Arrays FPGAs. Existen varios lenguajes de descripcin de hardware HDL en uso actualmente. Los ms difundidos son el VHDL, Verilog y el Abel.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

El HDL es utilizado principalmente para las apliciones de los circuitos lgicos programables PLDs, los complex CPLDs y las Field Programmable Gate Arrays FPGAs. Existen varios lenguajes de descripcin de hardware HDL en uso actualmente. Los ms difundidos son el VHDL, Verilog y el Abel.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

El HDL es utilizado principalmente para las apliciones de los circuitos lgicos programables PLDs, los complex CPLDs y las Field Programmable Gate Arrays FPGAs. Existen varios lenguajes de descripcin de hardware HDL en uso actualmente. Los ms difundidos son el VHDL, Verilog y el Abel.

Introduccin VHDL

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Introduccin al VHDL
La estructura de un programa en VHDL est formado por: Mdulos / unidades.
Cada uno de ellos est compuesto por declaraciones e instrucciones, los cuales definen, describen, estructuran, analizan y evalan el comportamiento de un sistema digital.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Existen cinco tipos de unidades de diseo en VHDL: Declaracin de entidad (entity declaration ) Arquitectura (architecture) Configuracin (configuration) Declaracin de paquete Cuerpo del paquete (package declaration)

(package body)

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Entidad ( entity )
La entidad es el bloque principal de un programa en VHDL, las entidades son los todos los elementos electrnicos como: Compuertas, contadores, sumadores, flip flops etc. Que forman de manera individual el circuito digital que se disea.

Una entidad se puede representar a nivel : Compuertas Sistema, (declarando solo entradas y salidas) Combinacin de ambos ( declarando In/out y compuertas)

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Cin

Medio Sumador SUMA RESULTADO

Cin B A Sumador

SUMA Cout

Cout

A Sumador Completo

Nivel Sistema
Cin Medio Superior X A B Medio Sumador Z Cout Sumador Completo Y

Nivel Compuertas

SUMA RESULTADO

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Una buena practica para realizar un buen diseo es analizar el ambiente del sistema. Definir bien la entidad es importante, en esta seccin del programa se describe la interconexin con los dems elementos

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

La entidad es una parte del sistema que provee una interface y generalmente esta compuesto de dos elementos:

Parmetros del sistema que son los observados desde el exterior del sistema. Como ancho de bus, mxima frecuencia.

Conexiones las cuales son transfirieren la informacin del sistema (entradas y salidas)

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

La entidad provee una parte del sistema que provee una interface y generalmente esta compuesto de dos elementos:

Parmetros del sistema que son los observados desde el exterior del sistema. Como ancho de bus, mxima frecuencia.

Conexiones las cuales son transfirieren la informacin del sistema (entradas y salidas)

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Abstraccin: caja negra

Entidad y arquitectura Una unidad de HW se visualiza como una caja negra

A C B
Interfaz: entradas y salidas

El interfaz de la caja negra est completamente definida.

El interior est oculto.

En VHDL la caja denomina entidad

negra

se

La entity describe la E/S diseo.

rst d[7:0] clk

q[7:0] co

Para describir su funcionamiento se asocia una implementacin que se denomina arquitectura


La architecture describe contenido del diseo. el

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

PORTS : Modos de un puerto


(1) Modos de los puertos
Indican la direccin y si el puerto puede leerse o escribirse dentro de la entidad.

(2) (3) (4)


Cint

1. IN una seal que entra en la entidad y no sale. 2. OUT una seal que sale fuera de la entidad.
C

3. BUFFER una seal que sale de la entidad y tambin es realimentada dentro de la entidad 4. INOUT una seal que es bidireccional, entrada/salida de la entidad.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Estructura de un diseo VHDL


library ieee; use ieee.std_logic_1164.all
Entity nombre_entity is

Declaraciones de puertos

Port ( );

Nombre de la entidad

End nombre_entity; architecture nombre_Arq of nombre_entity is

Parte declarativa de la arquitectura


begin

Nombre de la arquitectura

cuerpo de la arquitectura
end nombre_Arq;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Entradas y Salidas
Las entradas y salidas son referidas en una entidad como puertos, lo que sera equivalente en un circuito como una terminal o pin. En una Entidad todos los puertos deben tener un nombre, un modo y un tipo de dato.

nombre

B A

Circuito

salida

Modo In

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Cuando declaramos un puerto este se puede definir por el tipo de modo que es: Modo in Modo out entrada salida

Modo Inout bidireccional, utilizado para retroalimentaciones Modo Buffer esta es similar que el inout, permite retroalimentaciones internas dentro de la entidad, pero el puerto es declarado como una terminal de salida.

B A

Circuito

salida

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Tipos bsicos predefinidos


Tipos IEEE - 1076
BIT : slo puede tomar los valores de 0 o 1. Para modelar seales digitales.
BIT_VECTOR : una array unidimensional (vector) de bits. Para modelar buses.

INTEGER : tipo entero, usado como valor ndice en lazos, constantes o valores genricos.
BOOLEAN : Tipo lgico, puede tomar valores True o False. REAL : tipo para nmeros en coma flotante.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

PORTS : Modos de un puerto


El objeto en VHDL es la seal, que se utiliza para modelar los hilos del circuito.
Puesto que modela nodos fsicos, incluye informacin de tiempo.
No slo contiene unos valores ( 0, 1, Z etc..) sino tambin el tiempo en el que se toman estos valores.

Se declaran antes del begin de la arquitectura (en la parte declarativa):


Architecture UdeG of prueba is Signal s1 : std_logic; Signal s2 : Integer; Begin

Puede tener un valor inicial (no soportado en la sntesis)


Signal a : std_logic :=0;

Para asignar valores a una seal se utiliza <=

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Usando arrays para crear buses


Los vectores se pueden definir tanto en rangos ascendentes como descendentes:
SIGNAL a: std_logic_vector(0 to 3); -- rango ascendente -- rango descendente SIGNAL b: std_logic_vector(3 downto 0); a <= 0101; b <= 0101;

Produce como resultado:


a(0) = 0; a(1) = 1; a(2) = 0; a(3) = 1; b(0) = 1; b(1) = 0; b(2) = 1; b(3) = 0;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Asignacin de seales en buses


Flexibilidad a la asignacin de valores de buses
SIGNAL tmp: std_logic_vector(7 downto 0);

Todos los bits:


tmp <= 10111000

Un solo bit:
tmp (7) <= 1;

Un rango de bits:
tmp(7 downto 4) <= 1011;

Notacin:
1 bit : comilla ( )
Mltiples Bits : comilla doble ( )

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Operadores definidos en VHDL


Lgicos: and, or, nor, xor, xnor

Relacionales: = igual, /=distinto, < menor, <= menor o igual, > mayor, >= mayor o igual Miscelneos: abs valor absoluto, ** exponenciacin, not negacin Adicin: + suma, - resta & concatenacin de vectores Multiplicativos: * multiplicacin, / divisin, rem resto, mod mdulo Signo: +, -

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Ms sobre Operadores
No todos los operadores estn definidos para todos los tipos. En particular, para los std_logic habr que obtenerlos de las libreras estndar:
std_logic_signed std_logic_unsigned std_logic_arith

El operador de concatenacin se utiliza muy a menudo.


signal a: std_logic_vector (3 downto 0); signal b: std_logic_vector (3 downto 0); signal c: std_logic_vector (7 downto 0); a <= 1010; b <= 0011 c <= a & b;

Los operadores de desplazamiento bsicos slo funcionan con bit_vector. Es mucho mejor usar concatenacin con std_logic.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Entrando en detalle en la arquitectura


architecture circuito of ejemplo is
Aqu se definen los

subtipos y las seales que vamos a usar

begin
En el cuerpo de la arquitectura se modela el comportamiento del circuito con asignaciones, instanciaciones y Procesos.

end architecture circuito;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

El proceso: el elemento de diseo principal


Un proceso describe el comportamiento de un circuito. Cuyo estado puede variar cuando cambian ciertas seales. Utilizando construcciones muy expresivas: if..then..else Bucles for y while etc..
process ( lista de seales) Parte declarativa ( variables, procedimientos, tipos etc..) Instrucciones que describen el comportamiento .. end process;

Iniciando a programar con VHDL


Cmo se declara la entidad? Cmo se declara la arquitectura?

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Declaracin de una Entidad

(1)

La declaracin de una entidad consiste en la descripcin de los puertos o entradas y salidas del circuito que se va a disear.

En esta parte del programa declaramos todas las entradas y salidas que requiere nuestro diseo para trabajar como queremos. Entity sumador is
Port (A,B,cin: in std_logic;
Cin B A ENTIDAD sumador SUMA Cout

suma,cout:out std_logic); End sumador;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Declaracin de una Entidad


Ejemplo de la entidad de un circuito andmltiple

(2)

a b c d e f

-- declaracin de la entidad Entity andmultiple is Port (a,b,c,d,e,f,: in std_logic;


g

g:out std_logic); End andmultiple;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Declaracin de una Entidad

(3)

Una entidad puede tener entradas compuestas de varios bits, las cuales se pueden representar como vectores de bits.

-- declaracin de la entidad
Entity sumador is Port(vector_A,vector_B:in std_logic_vector(10 downto 0); Cin:in_std_logic; Suma:out_std_logic_vector (10 downto 0); Cout:out std_vector); End andmultiple;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Declaracin de una Entidad


A0 A1 A2 B0 B1 B2

(4)

Ejercicio declare la entidad del siguiente circuito:

Circuito Multiplicador

Result [5:0]

-- declaracin de la entidad Entity multiplicador is

Port (A0,A1,A2: in std_logic;


B0,B1,B2: in std_logic; Result:out std_logic_vector(5 downto 0)); End multiplicador;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Declaracin de una Entidad (5)


Las libreras y los paquetes en la programacin en VHDL permiten declarar y almacenar estructuras lgicas por mdulos independientes o estructuras completas. Las libreras o bibliotecas son implementadas por el fabricante y pueden ser utilizadas con la herramienta de diseo. Cuando en un diseo se utiliza algn paquete es necesario llamar a la librera que lo contiene, de la siguiente manera.
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Paquetes

Los paquetes que estn disponibles en la librera ieee son varios, uno de los ms utilizados podemos mencionar: Std_logic_1164 estndar lgico 1164 el cual contiene todos los tipos de datos que ms comnmente se utilizan en VHDL. Para poder utilizar este paquete se debe utilizar la sentencia use seguida del nombre de la librera y del paquete:
use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

La palabra ALL indica que se pueden utilizar todos los componentes del paquete

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Arquitectura
La arquitectura es la parte del programa que describe el funcionamiento de la entidad, es la que describe como funciona el circuito representado por nuestra entidad. El lenguaje de programacin VHDL permite definir una arquitectura de diferentes formas. Por ejemplo se puede describe un circuito a nivel de compuertas o mediante algn algoritmo de programacin.

Estilo comportamental Estilo de flujo de datos

Estilo estructural

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Estilo comportamental
El estilo de programacin comportamental bsicamente consta de realizar la descripcin del circuito en forma funcional, es decir de acuerdo a las entradas y los resultados esperados en la salida, el comportamiento del sistema deber ser realizado cumplido. Sin importar que elementos componen al sistema en su interior.
Si A = B entonces Salida = 1 Si A B entonces Salida = 0 If A = B then

Comportamiento

A Comparador B

salida <=1;

Salida

else salida <= 0; end if

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Arquitectura comportamental
La arquitectura est compuesta por mdulos llamados procesos process, cada bloque independiente realiza una operacin.
architecture comportamental of circuito is begin process (A,B,C,D) begin descripcin del sistema end process circuito; end comportamental;
A B C D

lista de sensibilidad

proceso

Circuito

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Ejercicio:

Implementar la arquitectura comportamental de un comparador de 4 bits.

library ieee; use ieee.std_logic_1164.all entity comparador is port (A,B in std_logic_vector (3 downto 0); Salida out std_logic); end comparador;
begin Process (A,B) begin If A = B then Salida <=1; else salida <= 0; end if; end process comparador; end comportamental;

A Comparador B

Salida

architecture comportamental of comparador is

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Descripcin por flujo de datos


La descripcin por flujo de datos indica la forma que los datos se transfieren de una seal a otra, si la necesidad de declaraciones secuenciales.
En este tipo de descripcin su utilizan dos tipos de instrucciones: When else ( cuando si no) Ecuaciones boolenas architecture flujodatos of comparador is begin c <= 1 when (a=b) else 0 ; end flujodatos;

c toma el valor 1
Cuando a=b Si no el valor 0

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Ejercicio: Implementar en VHDL un comparador con una


descripcin de flujo de datos
a
library ieee; b use ieee.std_logic_1164.all entity comparador is port (a,b in std_logic_vector (3 downto 0); c out std_logic); end comparador;

Comparador
Flujo de Datos

architecture flujodatos of comparador is begin c <= 1 when (a=b) else 0 ; end flujodatos;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Descripcin por flujo de datos

En VHDL se manejan declaraciones secuenciales y concurrentes:


Declaracin secuencial if - then - else Esta debe seguir una ejecucin definida, para que la opercian sea correcta. Declaracin concurrente when - else No requiere que se ejecute e un orden especifico, no importa cual se ejecuta primero el resultado siempre sera el mismo, no afecta la salida, como en el caso de las declaraciones secuenciales.

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

1 Por ejemplo:

Con base en la tabla de verdad por medio de la instruccin when - else describa el funcionamiento de la compuerta AND.
a b 0 0 1 1 0 1 0 1 x 0 0 0 1
library ieee; use ieee.std_logic_1164.all entity comp_and is port (a,b in std_logic; x out std_logic); end comp_and;

a b

architecture compuerta of comp_and is


begin x <= 1 when (a=1 and b= 1 ) else 0 ; end compuerta;

Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenieras Divisin de Electrnica y Computacin Cursos de Actualizacin PICASA Lenguajes de Descripcin de Hardware VHDL

Flujo de datos

( utilizando ecuaciones boolenas )

En las diferentes formas de describir un circuito en VHDL tenemos aquella en la que utilizamos ecuaciones booleanas.
a[1:0] b[1:0] comparador

b0 b1

a0 a1

architecture booleana of comparador is


begin c <= ( a(0) xor b(0) end booleana; and a(1) xor b(1) );

Вам также может понравиться