ii. unidades de diseño en vhdl

18
1 II. Unidades de Diseño en VHDL

Upload: others

Post on 16-Nov-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: II. Unidades de Diseño en VHDL

1

II. Unidades de Diseño en VHDL

Page 2: II. Unidades de Diseño en VHDL

2

Cualquier sistema debe poder comunicarse con su ambiente....

Representaciones en VHDL

I / 0 Sistema

INTERFAZ CUERPO

Page 3: II. Unidades de Diseño en VHDL

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

Page 4: II. Unidades de Diseño en VHDL

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).

Page 5: II. Unidades de Diseño 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

Page 6: II. Unidades de Diseño en VHDL

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;

Page 7: II. Unidades de Diseño en VHDL

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

Page 8: II. Unidades de Diseño en VHDL

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;

Page 9: II. Unidades de Diseño en VHDL

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).

Page 10: II. Unidades de Diseño en VHDL

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

Page 11: II. Unidades de Diseño en VHDL

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.

Page 12: II. Unidades de Diseño en VHDL

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.

Page 13: II. Unidades de Diseño en VHDL

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

Page 14: II. Unidades de Diseño en VHDL

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.

Page 15: II. Unidades de Diseño en VHDL

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;

Page 16: II. Unidades de Diseño en VHDL

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).

Page 17: II. Unidades de Diseño en VHDL

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.

Page 18: II. Unidades de Diseño en VHDL

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 . . . .