0% encontró este documento útil (0 votos)
61 vistas24 páginas

1 Estructura

VHDL es un lenguaje de descripción de hardware que permite diseñar circuitos digitales con un alto nivel de abstracción y facilita el reuso y la migración entre diferentes dispositivos. El documento detalla la estructura del código VHDL, incluyendo declaraciones de librerías, entidades y arquitecturas, así como ejemplos introductorios y errores comunes en su uso. Se enfatiza que VHDL no es un lenguaje de programación, sino que se utiliza para describir el comportamiento del hardware.

Cargado por

Marco Leonelli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas24 páginas

1 Estructura

VHDL es un lenguaje de descripción de hardware que permite diseñar circuitos digitales con un alto nivel de abstracción y facilita el reuso y la migración entre diferentes dispositivos. El documento detalla la estructura del código VHDL, incluyendo declaraciones de librerías, entidades y arquitecturas, así como ejemplos introductorios y errores comunes en su uso. Se enfatiza que VHDL no es un lenguaje de programación, sino que se utiliza para describir el comportamiento del hardware.

Cargado por

Marco Leonelli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Lenguaje de

Descripción de
Hardware (VHDL)

Presentado por
Elías Mendoza H.
Introducción a VHDL
Lenguaje de Descripción de
Hardware
 Opera a un alto nivel de abstracción
 Se puede “debug” fácil y rápidamente
 Diseños parametrizados, facilitando las
modificaciones
 Re-uso
 Librerías disponibles (IP Cores)
Lenguaje de Descripción de
Hardware
Puede ser usado en diferentes tipos de
dispositivos y en diferentes fabricantes del
mismo tipo, facilitando la migración y el
prototipo
Que NO es VHDL
 VHDL NO es un lenguaje de programación ;
es un lenguaje de DESCRIPCION DE
HARDWARE.
 VHDL (todavía) no es altamente abstracto.
Por ej. el algoritmo DSP:
y(n) = 0.75y(n-1) + 0.3x(n) ;
necesita ser llevado a un nivel más bajo
(Simulink/FPGA flujo de diseño)
HDL Síntesis Sub-Set
 VHDL comenzaron como herramientas de
Simulación y Modelado de Hardware.
 Las herramientas HDL de síntesis se
desarrollaron en los 90‟s.
 Solo un sub-set de VHDL permite “inferir”
correctamente el hardware.
HDL Síntesis Sub-Set
Error de Conceptos más
Comunes
 Tratar de escribir el código HDL como si
eventualmente va ser ejecutado por algún
“misterioso” procesador dentro del FPGA.
 Código es escrito línea por línea, semejante
al código escrito para ejecución secuencial
(microcontrolador código), PERO es
ejecutado CONCURRENTEMENTE, tal
como corresponde a circuitos lógicos dentro
de un sistema digital.
Lección 1: Estructura del
Código - Objetivos
Al final de esta lección, sabrá:
 Describir las secciones fundamentales que
abarca un sección de código VHDL.
 Declarar Librerías.
 Declarar Entidades.
 Declarar Arquitecturas.
Lección 1: Contenido
 Fundamentos VHDL
 Declaraciones de Librería
 Entidad
 Arquitectura
 Ejemplos Introductorios
Lección 1: Fundamentos VHDL
 Declaraciones de  Architecture
Librería  Contiene los códigos
 Contiene una lista de VHDL apropiados,
todas las librerías a los cuales describen
utilizar en el diseño. cómo el circuito debe
comportarse
 Entity
(función)
 Especifica los pines
de E/S del circuito.
Lección 1: Librería
 es una colección de
porciones de códigos
de uso general.
 dentro de una
biblioteca permite
que sean reutilizados
o que sean
compartidos por
otros diseños.
Lección 1: Declaraciones de
Librería
 Para declarar una
librería, dos líneas
de código son
necesarias.
 Una conteniendo el
nombre de la
librería.
 La otra conteniendo
la clausula USE
Lección 1: Declaraciones de
Librería
 Por lo menos tres
paquetes son
necesarios
usualmente en el
diseño.
 ieee.std_logic_1164
 standard
 work
Lección 1: Declaraciones de
Librería
sus declaraciones
son como sigue
 Las librerías std y
work son visibles
por omisión.
Lección 1: Declaraciones de
Librería
 La librería ieee 1. std_logic, std_ulogic
contiene varios 2. tipos de datos signed,
unsigned. También
paquetes, contiene varias
incluyendo los conversiones de data.
siguientes: 3. Contiene Funciones que
1. std_logic_1164 permiten operaciones
con std_logic_vector.
2. std_logic_arith
4. Contiene funciones que
3. std_logic_signed
permiten operaciones
4. std_logic_unsigned con std_logic_vector.
Lección 1: Entity
 Una Entidad es una
lista con
especificaciones de
todos los pines de
entrada y salida
(PORTS) del
circuito.
Lección 1: Entity
 El modo de la señal
puede ser IN, OUT,
INOUT, o BUFFER
 El tipo de la señal
puede ser BIT,
STD_LOGIC,
INTEGER, etc.
Lección 1: Architecture
 La arquitectura es una
descripción de cómo el
circuito se debe comportar
(funcionamiento).
 Una arquitectura tiene dos
partes: una parte
declaratoria (opcional),
donde señales y
constantes (además de
otras) son declaradas y la
parte del código (desde
BEGIN).
Lección 1: Ejemplos
Introductorios
1 ---------------------------------------
2 LIBRARY ieee;
3 USE ieee.std_logic_1164.all;
4 ---------------------------------------
5 ENTITY dff IS
6 PORT ( d, clk, rst: IN STD_LOGIC;
7 q: OUT STD_LOGIC);
8 END dff;
9 ---------------------------------------
10 ARCHITECTURE behavior OF dff IS
11 BEGIN
12 PROCESS (rst, clk)
13 BEGIN
14 IF (rst='1') THEN
15 q <= '0';
16 ELSIF (clk'EVENT AND clk='1') THEN
17 q <= d;
18 END IF;
19 END PROCESS;
20 END behavior;
21 ---------------------------------------
Lección 1: Ejemplos
Introductorios
1 ---------------------------------------
2 ENTITY example IS
3 PORT ( a, b, clk: IN BIT;
4 q: OUT BIT);
5 END example;
6 ---------------------------------------
7 ARCHITECTURE example OF example IS
8 SIGNAL temp : BIT;
9 BEGIN
10 temp <= a NAND b;
11 PROCESS (clk)
12 BEGIN
13 IF (clk'EVENT AND clk='1') THEN q<=temp;
14 END IF;
15 END PROCESS;
16 END example;
17 ------------------------------- --------
Lección 1: Problema 1
Multiplexor
 El diagrama de alto nivel de
un multiplexor se muestra
en la figura. De acuerdo a la
tabla de verdad, la salida
deberá ser igual a una de
las entradas si sel =‘‘01’’ (c
= a) ó sel =‘‘10’’ (c = b),
pero deberá ser ‘0’ ó Z (alta
impedancia) si sel =‘‘00’’ ó
sel =‘‘11’’, respectivamente.
Lección 1: Problema 1
a) Complete el código
VHDL
b) Compile y Simule
su solución,
verifique si trabaja
como se espera.
Lección 1: Resumen
 VHDL es un lenguaje muy preciso
 Tipos de señal y la dirección tienen que coincidir
 Todos los objetos tienen que ser declarados
 Un idioma para el diseño y la validación.
 La validación por medio de un Banco de
pruebas
 Proporciona los estímulos y la respuesta
esperada
 Nivel de jerarquía TOP
 No hay puertos entrada / salida.

También podría gustarte