View
8
Download
0
Category
Preview:
Citation preview
1
II. Unidades de Diseño en VHDL
2
Cualquier sistema debe poder comunicarse con su ambiente....
Representaciones en VHDL
I / 0 Sistema
INTERFAZ CUERPO
3
Un sistema sin interfaz es INÚTIL.
INTERFAZ CUERPO
La interfaz de un sistema en VHDL es descrita por su Entidad (Entity).
Así como no es posible tener un sistema sin Interfaz; tampoco es posible en VHDL tener un sistema sin una Entidad.
La entidad de un sistema es Primordial para VHDL.
La Interfaz
4
El Cuerpo
La funcionalidad del sistema se completa con el procesamiento de los datos de entrada, para la generación de resultados. Esta tarea se realiza en el cuerpo del sistema.
El cuerpo de un sistema es conocido en VHDL como su Arquitectura (Architecture).
La funcionalidad puede ser muy simple, como el encendido/apagado de un interruptor, o muy complicada, como el piloto automático de un avión.
Sin embargo, sin importar la sotisficación de un sistema, este puede ser considerado como una composición de Interfaz y Cuerpo (Entidad y Arquitectura, en VHDL).
5
A algunos sistemas se les pueden incorporar nuevas características por medio de elementos de soporte.
Aunque estos elementospodrían considerarse como parte del cuerpo del sistema, por claridad les llamaremos Paquetes ( Package ).
En conclusión, se tienen 3 unidades independientes de diseño: La interfaz, el cuerpo y los paquetes.
Paquetes
INTERFAZ
CUERPO
PAQUETE
6
El diseño de un sistema inicia con el análisis de la relación que éste tendrá con su ambiente, es decir, la entidad que describa la interfaz entre el sistema y su ambiente.
En VHDL no es posible especificar un sistema si no se ha declarado su entidad.
Todo lo que se especifique en una entidad es visible para las demas unidades de diseño asociadas con esa entidad.
El nombre del sistema corresponde con el nombre de la entidad.
Unidad Principal de Diseño: La Entidad
Disco_duro
Entity Disco_duro is
. . . .
End Entity Disco_duro;
Cámara
Entity Camara is
. . . .
End Entity Camara;
7
La entidad puede contener dos elementos:
Parámetros del sistema, que serán conocidos por todo el sistema, por ejemplo: El ancho de un bus, la frecuencia máxima de operación, etc.
Conexiones a través de las cuales se transferirá la información hacia el exterior o interior del sistema.
Contenido de la Entidad
D0 D1 D2 D3 D4 D5 D6 D7
CLK
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Entity Registro is
Ancho_Bus = 8
Fmax = 50 MHz
D : entrada ocho_bits
Q : salida ocho_bits
CLK : entrada un_bit
End Entity Registro;
Parámetros
Conexiones
8
Los dos elementos de una interfaz (parámetros y conexiones) se declaran por separado en cada entidad :
Todos los Parámetros son “genéricos” y son conocidos automáticamente por el cuerpo del sistema.
Las Conexiones forman los “puertos” de entrada/salida.
Parámetros y Conexiones
D0 D1 D2 D3 D4 D5 D6 D7
CLK
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Entity Registro is
generic (
Ancho_Bus = 8
Fmax = 50 MHz
);
port (
D : entrada ocho_bits
Q : salida ocho_bits
CLK : entrada un_bit
);
End Entity Registro;
9
El Sistema A contiene 3 subsistemas: B, C y D. Y 8 líneas de conexión: TL1 a TL8:
Comprensión de la Interfaz
A
B
C D
TL7
TL6 TL8TL5
TL4
TL3
TL2
TL1
1. ¿ Cuáles líneas son parte de la Interfaz de A ?
2. ¿ Qué líneas están en la interfaz de C y no están en la de A ?
3. Mostrar como sería la entidad de D (notar que no hay parámetros).
10
Entity TVSet is
. . . . .
End Entity TVSet;
Architecture TV2000 of TVSet is
. . . . .
End architecture TV2000;
El cuerpo de un sistema siempre esta ligado a su interfaz, similarmente en VHDL cada arquitectura debe estar ligada con una entidad.
VHDL le da mayor importancia a la Entidad, de modo que las arquitecturas se asocian con una interfaz y no viceversa.
La arquitectura
ENTIDAD
ARQUITECTURA
11
Cada sistema puede describirse en términos de su funcionalidad (comportamiento) o estructura (construcción), y en cada caso se requiere diferente información.
Tipos de Arquitectura
¿QUÉ HACE? ¿CÓMO ESTÁ COMPUESTA?
Funcionalidad Estructura
Muchas herramientas de Síntesis trabajan con ambas descripciones: Si la descripción funcional se ha especificado y formalizado, ésta se transforma a su equivalente estructural; la cual es más adecuada para síntesis.
Este proceso se hace automáticamente, aunque no hay herramientas que sinteticen directamente de la descripción funcional.
12
Descripción Funcional
Entity TVSet is
port (
ON : entrada un_bit
VOL_UP, VOL_DOWN : entrada un_bit
CHAN_UP, CHAN_DOWN : entrada un_bit
. . . .
)
End Entity TVSet;
Architecture TV2000 of TVSet is
. . . .
if ON then apaga el sistema
if not - ON then enciende el sistema
. . . .
if VOL_UP then incrementa el nivel del volumen
if VOL_DOWN then decrementa el nivel del volumen
. . . .
if CHAN_UP then incrementa el número de canal
if CHAN_DOWN then decrementa el número de canal
. . . .
End architecture TV2000;
Debe especificar lo que el
sistema va a hacer como una
respuesta a los diferentes
eventos que vayan
ocurriendo. Por ej., en la TV
se puede especificar que se
hará como una respuesta a
los botones del control
remoto.
En general, es una descrip-
ción de la generación de las
salidas, como una respuesta
a los cambios en las
entradas.
13
Descripción Estructural
Entity TVSet is
port (
. . . .
)
End Entity TVSet;
Architecture TV2000 of TVSet is
. . . .
U1, U5 -> U2
U2 -> U4
U1 -> U3
U3 -> U5
. . . .
End architecture TV2000;
No especifica la funcionalidad
del sistema, en lugar de ello
especifica los componentes
que lo componen y la forma
en que se deben conectar
para alcanzar los resultados
esperados.
Por lo general hay jerárquía
en las descripciones.
En otras palabras, describe la
estructura interna del sistema.
U2
U3 U5
U4U1
14
Comparación de los tipos de Arquitectura
¿QUÉ HACE? ¿CÓMO ESTÁ COMPUESTA?
Decripción Funcional Descripción Estructural
La descripión estructural es mucho más fácil de sintetizar que la descripción
funcional por que se refiere a componentes físicos concretos.
Sin embargo es más dificil de desarrollar por que requiere de mayor
experiencia del diseñador para hacer los diseños más eficientes.
15
Dado que diferentes tipos de arquitecturas pueden realizar la misma función, la interfaz de un sistema (una entidad) puede especificarse para diversas arquitecturas.
Ejemplo: Si se requiere de un procesador SIXTIUM, éste puede ser de diferentes fabricantes.
Una Entidad: ¿Cuántas Arquitecturas?
Entity Sixtium is
. . . . .
End Entity Sixtium;
Architecture IMTEL of Sixtium is
. . . . .
End IMTEL;
Architecture LYRIX of Sixtium is
. . . . .
End LYRIX;
Architecture AMC of Sixtium is
. . . . .
End AMC;
16
El Concepto de “Paquete”
Para entender este concepto consideremos la siguiente situación: Estamos leyendo
y nos encontramos con una palabra desconocida ¿Qué hacemos?Opción 1: Preguntar a alguien.
Opción 2: Consultar en nuestro diccionario.
Opción 3: Ir a la biblioteca a solicitar un diccionario (Usar una unidad de la biblioteca).
En VHDL ocurre algo similar:
1.- Si tenemos algún concepto (tipo de dato, operación, etc. ) que no es estandar.
2.- Llamamos a la Biblioteca de VHDL.
3.- Usamos una unidad de la biblioteca (Un paquete).
Los paquetes permiten usar definiciones que caen fuera de los estándares.
Se declaran por adelantado, usualmente antes de la Entidad, para ello se incluyen
las clausulas: Library (biblioteca a usar) y Use (paquete a usar).
17
Paquetes Predefinidos :
Los tres paquetes más populares definidos por la IEEE son :
STANDARD : Contiene todas las declaraciones y definiciones básicas del lenguaje y está incluido en
todas las especificaciones de VHDL por default.
TEXTIO: Contiene las declaraciones de operaciones básicas de texto. Para usarlo, antes de la entidad
debe declararse:
library std;
use std.TextIO.all;
STD_LOGIC_1164: Contiene extensiones al estandar de VHDL, definidas en el Estandar 1164 de la
IEEE, algunas declaraciones importantes son: Variables y vectores lógicos, extensión de operadores y
algunas funciones. Para usarlo, las declaraciones son:
library IEEE;
use IEEE.std_logic_1164.all;
Nota: Aparte de estos paquetes, cada desarrollador de Software incluye sus propios paquetes.
18
-- Las tres unidades de Diseño en VHD :
-- Paquetes
Library New ConceptLib; -- Biblioteca a Usar
Use NewConceptLib.Arithm.Logarithm; -- Paquete a Usar
-- Entidad
Entity SomeSyst is -- La interfaz: Incluye parámetros
. . . . -- genéricos y puertos
End Entity SomeSyst;
-- Arquitectura
Architecture FirstArch of SomeSyst is -- El cuerpo del sistema:
. . . . -- Puede ser descrito de manera
-- Estructural o Funcional
. . . .
Logarithm -- Concepto no estandar en Uso
. . . .
End Architecture FirstArch;
Resumen . . . .
Recommended