Está en la página 1de 22

UNIVERSIDAD DE SEVILLA

Dpto. de Ingeniera Electrnica

AREA DE TECNOLOGIA ELECTRONICA

VHDL (2 (2 parte)
Introduccin al lenguaje VHDL

Introduccin y conceptos bsicos de VHDL

Octubre de 2007

Tema 2:

Estructura de un diseo en VHDL


1.1 Introduccin y ejemplo j p simple p 1.2 La seccin ENTITY
1.3 La seccin LIBRARY 1 4 La seccin 1.4 i ARCHITECTURE A C C 1.5 La seccin CONFIGURATION

REPASO
Estructura general VHDL LIBRARY / PACKAGE
Tipos de datos Funciones aritmticas

GENERIC PORT

ENTITY
Definicin de la (Entrada/Salida) interfaz

Interconexin componentes ARCHITECTURE rdenes concurrentes


Define el funcionamiento de la entidad

PROCESS CONFIGURATION
Relaciona Entidad con arquitectura

rdenes secuenciales

Tema 2:

Estructura de un diseo en VHDL


1.1 Introduccin y ejemplo simple 1.2 La seccin ENTITY

1.3 La seccin LIBRARY


1.4 1 4 La seccin ARCHITECTURE 1.5 La seccin CONFIGURATION

Tipos p de datos estndar


En propio lenguaje VHDL define altunos tipos de d datos estndar: d
Definiciones de tipos de datos. Funciones F i aritmticas, it ti d conversin de i y comparaciones. i

Todos nuestros diseos comenzarn por: library IEEE;


use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; IEEE std logic arith all;

Opcionalmente
use IEEE.std_logic_unsigned.all; use IEEE.std_logic_signed.all;

IEEE Standard Logic g 1164


Las libreras en VHDL son conjuntos de:
Definiciones de tipos de datos. Funciones aritmticas, de conversin y comparaciones.

Todos d nuestros diseos di comenzarn por:


library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; IEEE std logic arith all;

Opcionalmente
use IEEE.std_logic_unsigned.all; use IEEE.std_logic_signed.all;

IEEE Standard Logic g 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 i booleano b l ( (NOT, XOR, etc) )

IEEE Standard Logic g 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 2n NO ESTA DEFINIDA

IEEE Standard Logic g signed/unsigned g g

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

Tema 2:

Estructura de un diseo en VHDL


1.1 Introduccin y ejemplo simple 1.2 La seccin ENTITY 1.3 La seccin LIBRARY

1.4 La seccin ARCHITECTURE


1.4 La seccin ARCHITECTURE 1.5 La seccin CONFIGURATION

La seccin ARCHITECTURE
arquitecture A of mux21 is Definiciones de seales Definiciones de componentes Begin rdenes concurrentes. end A;

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

La seccin ARCHITECTURE. Seal


Una

seal es un tipo de objeto que representa un cable, y por tanto interconecta componentes. componentes Los p puertos de la entidad son seales dentro de su arquitectura. Sintaxis:
signal nombre: tipo_de_seal;

La seccin ARCHITECTURE. Componente p


Componente:

entidad de un orden inferior de jerarqua Sintxis:


component p nombre generic ( definicin de generics); port ( definicin de puertos); p end component; COPIA DE LA ENTITY!!

La seccin ARCHITECTURE
arquitecture A of mux21 is Definicin de seales Declaracin de componentes Begin rdenes concurrentes. end A;

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

La seccin ARCHITECTURE. Descripcin del funcionamiento.

Dos formas distintas:


1. rdenes concurrentes simples. 2. Bloques de descripcin en un process

La seccin ARCHITECTURE. Process


El bloque q process p como unidad bsica de ejecucin. j
process(e1,e2, (e1 e2 sel) begin if (sel=0) (sel 0) then o1<= e1; else l o1<= e2; endif; dif end process;

Li t sensible Lista ibl

Comportamiento p

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.

Tema 2:

Estructura de un diseo en VHDL


1.1 Introduccin y ejemplo simple 1.2 La seccin ENTITY 1.3 La seccin ARCHITECTURE

1.4 La seccin CONFIGURATION


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; _ g 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 S pueden Se d d fi i varias definir i configuraciones fi i dif diferentes con distintos di i 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.

Circuito secuencial sncrono Modelo General

ENTRADAS (EN)

Lgica Combinacional NE=f(EN EA) NE=f(EN,EA) SAL=f(EN,EA)

D NUEVO ESTADO (NE)

Q ESTADO ACTUAL (EA)

CLK
RESET

SALIDAS (SAL)

CLK

nRESETa

Ejemplo j sencillo: Un contador.

CUENTA

+1

P_CUENTA

CLK
RESET

SALIDA CONTADOR CLK RESET

Un contador: Cdigo g VHDL


Architecture a of contador is signal g cuenta, , p_ p cuenta: integer; g ; begin comb:process(cuenta) b i 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;

También podría gustarte