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

VHDL (2 parte)

Introduccin y conceptos bsicos de VHDL


I ntroduccin al lenguaje VHDL
UNIVERSIDAD DE SEVILLA
Dpto. de Ingeniera Electrnica
AREA DE TECNOLOGIA ELECTRONICA
Octubre de 2004
Estructura de un diseo en VHDL
Tema 2:
1.1 Introduccin y ejemplo simple
1.2 La seccin ENTITY
1.3 La seccin LI BRARY
1.4 La seccin ARCHITECTURE
1.5 La seccin CONFIGURATION
IEEE Standard Logic 1164
Las libreras en VHDL son conjuntos de:
Definiciones de tipos de datos.
Funciones aritmticas, de conversin y comparaciones.
Todos nuestros diseos comenzarn por:
library IEEE;
use IEEE.std_logic_1164.all;
Opcionalmente
use IEEE.std_logic_unsigned.all;

use IEEE.std_logic_signed.all;
use IEEE.std_logic_arith.all;
IEEE Standard Logic 1164
Paquete bsico de la librera IEEE
USE IEEE.std_logic_1164.all:
Std_logic: Un bit. (1,0, Z, X, H, L, U, -....)
Std_logic_vector(MSB downto LSB): Bus. (1100)
Integer: Entero. (5);
Logica booleano (NOT, XOR, etc)
IEEE Standard Logic arith
USE IEEE.std_logic_arith.all:
Tipos de vectores con/sin signo
Signed(MSB downto LSB)
unsigned(MSB downto LSB)
Operaciones aritmticos entre enteros, signed y unsigned.
Comparacion entre enteros, signed y unsigned
La operacin de divisin por valores no 2
n

NO ESTA DEFINIDA
IEEE Standard Logic signed/unsigned
Paquete bsico de la librera IEEE
USE IEEE.std_logic_signed.all:
USE IEEE.std_logic_unsigned.all
Trata std_logic_vector como valores con/sin signo
Necesario para operaciones aritmticos entre vectores
Estructura de un diseo en VHDL
Tema 2:
1.1 Introduccin y ejemplo simple
1.2 La seccin ENTITY
1.3 La seccin LIBRARY
1.4 La seccin ARCHI TECTURE
1.4 La seccin ARCHITECTURE
1.5 La seccin CONFIGURATION


La seccin ARCHITECTURE
Una arquitectura siempre tiene una entidad
asociada.
Todas las rdenes dentro de la arquitectura se
ejecutan de forma paralela.
Dos formas de escribir una arquitectura:
Describir una arquitectura en forma de interconexin de
componentes
Describir el comportamiento

arquitecture A of mux21 is
Definiciones de seales
Definiciones de componentes
Begin
rdenes concurrentes.
end A;
La seccin ARCHITECTURE. Seal
Una seal es un tipo de objeto que
representa un cable, y por tanto
interconecta componentes.
Los puertos de la entidad son seales
dentro de su arquitectura.
Sintaxis:
signal nombre: tipo_de_seal;
La seccin ARCHITECTURE. Componente
Componente: entidad de un orden
inferior de jerarqua
Sintxis:
component nombre
generic (
definicin de generics);
port (
definicin de puertos);
end component;
COPIA DE LA ENTITY!!

La seccin ARCHITECTURE
Una arquitectura siempre corresponde a una entidad
asociada.
Todas las rdenes dentro de la arquitectura se
ejecutan de forma paralela.
Diferentes formas de escribir una arquitectura:
Describir una arquitectura en forma de interconexin de
componentes
Describir el comportamiento (TEMA 3)
Mezclas

arquitecture A of mux21 is
Definicin de seales
Declaracin de componentes
Begin
rdenes concurrentes.
end A;
La seccin ARCHITECTURE. Descripcin del
funcionamiento.
Dos formas distintas:

1. rdenes concurrentes simples.

2. Bloques de descripcin en un process
La seccin ARCHITECTURE. Process
process(e1,e2, sel)
begin
if (sel=0) then
o1<= e1;
else
o1<= e2;
endif;
end process;
El bloque process como unidad bsica de ejecucin.
Lista sensible
Comportamiento
Todos los bloques process son sensibles a sus
entradas como las puertas lgicas a los suyos.
Todos los bloques process se ejecutan en paralelo
como las puertas lgicas de un circuito.
Estructura de un diseo en VHDL
Tema 2:
1.1 Introduccin y ejemplo simple
1.2 La seccin ENTITY
1.3 La seccin ARCHITECTURE
1.4 La seccin CONFI GURATI ON
1.5 La seccin LIBRARY
La seccin CONFIGURATION
CONFIGURATION nombre_configuracion OF nombre_entidad IS
FOR nombre_arquitectura
FOR nombre_instancia : nombre_entidad
USE CONFIGURATION WORK.nombre_configuracion;
END FOR;
.....................
END FOR;
END nombre_configuracion;
Mecanismo de asignacin de una arquitectura a una entidad
Una configuracin est asignada a una entidad y una arquitectura
Se pueden definir varias configuraciones diferentes con distintos
nombres, de forma que en el nivel jerrquico superior se decida cual
de ellas se utiliza.
Normalmente solamente utilizado en software de simulacin.
Circuitos secuenciales sncronos.
Lgica
Combinacional
D Q
CLK
RESET
ESTADO
ACTUAL
NUEVO
ESTADO
ENTRADAS
SALIDAS CLK RESET
Circuito secuencial sncrono
Modelo General
Lgica
Combinacional
NE=f(EN,EA)
SAL=f(EN,EA)
D Q
CLK
RESET
ESTADO
ACTUAL
(EA)
NUEVO
ESTADO
(NE)
ENTRADAS
(EN)
SALIDAS
(SAL)
CLK nRESETa
Ejemplo sencillo: Un contador.
D Q
CLK
RESET
CUENTA
P_CUENTA
CLK RESET
+1
SALIDA CONTADOR
Un contador: Cdigo VHDL
Architecture a of contador is
signal cuenta, p_cuenta: integer;
begin
comb:process(cuenta)
begin
p_cuenta<=cuenta+1;
end process;

sec:process(clk,resetz)
begin
if(resetz='0') then
cuenta <= 0;
elsif(clk='1' and clk'event) then
cuenta <= p_cuenta;
end if;
end process;
SALIDA_ENTITY <= cuenta;

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