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

Ingeniera Electrnica

Sistemas Embebidos
CLASE N 01:
Introduccin a los FPGA con VHDL
Ing. Guillermo Evangelista Adrianzn
Universidad Privada Antenor Orrego
gevangelistaa@upao.edu.pe
QU ES FPGA?
Un FPGA (Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques
de lgica cuya interconexin y funcionalidad puede ser configurado mediante un leguaje de
descripcin especializado. La lgica programable puede reproducir desde funciones tan sencillas
como las llevadas a cabo por una compuerta lgica o un sistema combinacional hasta los SOC
(System on a Chip).

Las FPGAs se utilizan en aplicaciones similares a los ASICs (Application-Specific Integrated Circuit)
sin embargo son ms lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan
complejos como ellos. A pesar de esto, las FPGAs tiene la ventaja de ser reprogramables (aade
flexibilidad al flujo de diseo), menor costo de desarrollo y adquisicin para pequeas cantidades de
dispositivos y tambin menor tiempo de desarrollo.

Historicamente las FPGA surge como una evolucin de los conceptos desarrollados en PAL y CPLD.

Ing. Guillermo Evangelista Adrianzn 1 gevangelistaa@upao.edu.pe


APLICACIONES CON FPGA
Cualquier circuito de aplicacin especfica puede ser implemento en un FPGA, siempre y cuando
disponga de los recursos necesarios. Las aplicaciones mas communes que utilizan FPGA son:

Procesamiento digital de seales


Radio defino por software
Sistemas aeroespaciales y de defensa
Prototipos de ASICs
Sistemas de imgenes para medicina
Sistemas de vision por computador
Reconocimiento de voz
Bioinformatica
Emulacin de Hardware de computadora.

Ing. Guillermo Evangelista Adrianzn 2 gevangelistaa@upao.edu.pe


FABRICANTES DE FPGA
Desde principios del 2007, son dos los grandes productores de FPGA de propsito general, adems
de un conjunto de otros competidores quienes se diferencian por ofrecer dispositivos con
caractersticas nicas:
Xilinx
Altera
Cypress Semiconductor
Actel
QuickLogic
Atmel
Motorola
Vantis
Achronix.

Ing. Guillermo Evangelista Adrianzn 3 gevangelistaa@upao.edu.pe


XILINX SPARTAN-3 STARTER BOARD
Es un hardware que integra circuitos y componentes electrnicos que
proporcionan diversas capacidades bsicas, como alimentacin de
energa o comunicacin.
Xilinx Spartan-3 FPGA w/ twelve 18-bit multipliers, 216Kbits of block
RAM, and up to 500MHz internal clock speeds
-200 and -1000 versions available
On-board 2Mbit Platform Flash (XCF02S)
8 slide switches, 4 pushbuttons, 9 LEDs, and 4-digit seven-segment display
Serial port, VGA port, and PS/2 mouse/keyboard port
Three 40-pin expansion connectors
Three high-current voltage regulators (3.3V, 2.5V, and 1.2V)
Works with Digilents JTAG3, JTAG USB, and JTAG USB Full Speed
cables, as well as P4 & MultiPRO cables from Xilinx
1Mbyte on-board 10ns SRAM (256Kb x 32).

Ing. Guillermo Evangelista Adrianzn 4 gevangelistaa@upao.edu.pe


XILINX SPARTAN-3 STARTER BOARD
DISPOSITIVO PIN PUERTO DISPOSITIVO PIN PUERTO
RELOJ (50 Mhz) GCLK0 T9 BTN0 M13
PUSHBUTTON BTN1 M14
RESET BTN3 L14 BTN2 L13
AN0 D14 SW0 F12
NODOS COMN AN1 G14 SW1 G12
DE LOS DISPLAY AN2 F14
SW2 H14
AN3 E13
SW3 H13
SSG0 E14 SWITCHES
SW4 J14
SSG1 G13
SW5 J13
SSG2 N15
SEGMENTOS DE SW6 K14
SSG3 P15
LOS DISPLAYS DE SW7 K13
SSG4 R16
NODO COMN LD0 K12
SSG5 F13
SSG6 N16 LD1 P14
SSG7 P16 LD2 L12
HSYNC R9 LD3 N14
LEDs
VSYNC T10 LD4 P13
PUERTO VGA RED R12 LD5 N12
BLUE R11 LD6 P12
GREEN T12 LD7 P11
TXD T14 PSD2D M15
PUERTO SERIE PS/2
RXD N10 PSD2C M16

Ing. Guillermo Evangelista Adrianzn 5 gevangelistaa@upao.edu.pe


XILINX VIRTEX 2 PRO DEVELOPMENT SYSTEM

Ingresar a la pgina de
Xilinx, revisar su hoja
tcnica y capacidades de
entrenamiento.

Ing. Guillermo Evangelista Adrianzn 6 gevangelistaa@upao.edu.pe


QU ES VHDL?
Es un lenguaje de descripcin especializado, su acrnimo representa la combinacin de VHSIC
(Very High Speed Integrated Circuit) (DARPA 1980) y HDL (Hardware Description Language).

Actualmente definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE) y
usado por ingenieros para describir (algotirmos) y disear (hardware) circuitos y sistemas digitales,
sean estos simples o complejos, mediante la programacin de dispositivos tales como GAL (Generic
Array Logic), PLD (Programmable Logic Device), CPLD (Complex Programmable Logic Device),
FPGA, ASIC y similares.

En concreto, permite mediante programacin modelar hardware; y a partir de estos modelos simular
(comprobar la funcionalidad deseada) y sintetizar la creacin de un circuito.

Ing. Guillermo Evangelista Adrianzn 6 gevangelistaa@upao.edu.pe


CARACTERSTICAS DEL HDL
1. Multinivel: Capacidad para utilizar el rango ms amplio posible de niveles de especificacin y
combinarlos dentro de una misma descripcin para ser utilizados junto con las herramientas de
diseo.

2. Intelegible: Facilidad de lectura y comprensin para simplificar la documentacin.

3. Capacidad de descripcin: Facilidad y potencia para describir los distintos elementos que
forman parte de un sistema digital. Es un lenguaje considerado excesivamente prolijo.

4. Estructura sintctica: Los HDL deben poseen un conjunto de elementos que definan una
sintaxis independientemente del nivel. Por ejemplo, los mdulos (module) de Verilog o el
conjunto entidad-arquitectura (entity-architecture) de VHDL. Adems deben poseen
instrucciones dependientes del nivel de descripcin en el que se encuentra el diseo.

Ing. Guillermo Evangelista Adrianzn 7 gevangelistaa@upao.edu.pe


CARACTERSTICAS DEL HDL
5. Capacidad de diseo fsico estructurado: Deberan, asimismo, facilitar la especificacin de
ciertos detalles de la realizacin fsica en una fase temprana de diseo. Un ejemplo de ello es la
planificacin de la disposicin geometrica de las mscaras, o los canales de las celdad de
entrada, salida o bidireccionales.

6. Independencia tecnolgica: Un HDL debe ser independiente de la tecnologa en la que se


realice el circuito.

7. Universalidad: Debe, asimismo, ser compatible con el mayor nmero posible de herramientas
de automatizacin del diseo electrnico (Electronic Design Automation, EDA), como por
ejemplo, simuladores, generadores de patrones de prueba, etc.

Ing. Guillermo Evangelista Adrianzn 8 gevangelistaa@upao.edu.pe


CARACTERSTICAS DEL HDL
8. Capacidad de simular concurrencia: Dado que los componentes de los sistemas digitales estn
activos simultneamente, la concurrencia es un aspecto fundamental a tener en cuenta por los
HDL. Ello se traduce en que las sentencias de asignacin, descripciones de componentes,
instanciacin de los mismos, etc., han de ejecurarse de tal manera que parezcan ejecuciones
simultneas. Para ello, en VHDL se introdujo el concepto de retardo delta.

Ing. Guillermo Evangelista Adrianzn 9 gevangelistaa@upao.edu.pe


PROGRAMA DE DESARROLLO
Dados los dispositivos seleccionados de la marca Xilinx, se require de un programa especfico de
desarrollo, ISE Design Suite; a su vez, ste con versiones definidas por el fabricante:

The ISE Design Suite: Logic Edition allows to go from design entry, through implementation and
verification, to device programming from within the unified environment of the Project Navigator or from
the command line. XST, ISim, PhanAhead, Core Generator, SmartGuide, Design Preservation, Team
Design, Partial Reconfiguration, XPower Analyzer, Power Optimization, iMPACT, ChipScope.

The ISE Design Suite: Embedded Edition includes all the tools and capabilities of the Logic Edition with
the added capabilities of the Embedded Development Kit (EDK). This edition provides an integrated
development environment (Xilinx Platform Studio) of embedded processing tools, processor cores
(PowerPC hard processor and MicroBlaze soft processor), IP, software libraries, and design generators.
XPS, PlatGen, BSB, SimGen, SDK, XMD, GNU, LibGen, BitInit.

Ing. Guillermo Evangelista Adrianzn 10 gevangelistaa@upao.edu.pe


PROGRAMA DE DESARROLLO
The ISE Design Suite: DSP Edition includes all the tools and capabilities of the Logic Edition with the
added capabilities of System Generator for DSP. This edition provides an integrated environment. The
System Generator for DSP enables to define and verify complete DSP systems using industry-standard tools
from The MathWorks. When using System Generator, previous experience with Xilinx devices or RTL
design methodologies is not required. Designs are captured in the DSP-friendly Simulink modeling
environment using a Xilinx-specific blockset.

The ISE Design Suite: System Edition includes all of the tools and capabilities of the Logic Edition,
Embedded Edition, and DSP Edition.

The ISE WebPACK software includes the tools you need to design small to medium-sized FPGAs and
CPLDs. It includes the PlanAhead tool, standard IP, and DSP IP as well as System Generator for DSP and
the Embedded Development Kit (EDK).

Ing. Guillermo Evangelista Adrianzn 11 gevangelistaa@upao.edu.pe


ISE PROJECT NAVIGATOR

Ing. Guillermo Evangelista Adrianzn 12 gevangelistaa@upao.edu.pe


PLANAHEAD

Ing. Guillermo Evangelista Adrianzn 13 gevangelistaa@upao.edu.pe


ISIM

Ing. Guillermo Evangelista Adrianzn 14 gevangelistaa@upao.edu.pe


Ingeniera Electrnica
Sistemas Embebidos
CLASE N 02:
VHDL - Estructura y Organizacin
Ing. Guillermo Evangelista Adrianzn
Universidad Privada Antenor Orrego
gevangelistaa@upao.edu.pe
ESTRUCTURA
VHDL se estructura en mdulos o unidades funcionales, identificados mediante palabras reservadas.

En tanto, a su vez, cada mdulo tiene una secuencia de instrucciones o sentencias, las cuales, en
conjunto con las declaraciones de las unidades involucradas en el programa, permiten la descripcin,
comprensin, evaluacin y solucin para un sistema digital.

Al interior de la estructura de un programa, las unidades Entity y Architecture forman la columna


vertebral de este lenguaje, mientras que, los mdulos restantes (Library, Package, Component) son
utilizados para optimizar y generalizar la aplicacin.

Ing. Guillermo Evangelista Adrianzn 1 gevangelistaa@upao.edu.pe


ENTIDAD Y PUERTO
Entity (entidad) es una palabra reservada, que constituye un bloque de diseo y que representa la
caracterizacin de un dispositivo fsico, es decir, exhibe las entradas y salidas del circuito diseado;
dicho circuito puede ser una compuerta, sumador, decodificador, etc.
in in
----------------------------
-- Estructura de una entidad
a b ----------------------------
Entity entity compuerta is
c port(A,B: in bit;
C: out bit);
end compuerta;
out
Port (puerto) tambin es una palabra reservada, pero que representa un canal de comunicacin, el
cual consta de un nombre y una lista de propiedades (direccin del flujo de datos y valores a tomar).

Ing. Guillermo Evangelista Adrianzn 2 gevangelistaa@upao.edu.pe


IDENTIFICADORES
Son los nombres o etiquetas que se usan para hacer referencia a variables, constantes, seales,
procesos, etc. Las reglas para su correcta compilacin, son las siguientes:

REGLA INCORRECTO CORRECTO


El primer caracter siempre debe ser una letra mayscula o minscula. 4suma suma_4
El segundo caracter no puede ser un guion bajo. S_4bits S4_bits
No se permite el uso de dos guiones seguidos. Resta__4 Resta_4_
Un identificador no puede usar smbolos. Clear#8 Clear_8

Es importante destacar que VHDL cuenta con una lista de palabras reservadas, las cuales no pueden
utilizarse como identificadores.

Ing. Guillermo Evangelista Adrianzn 3 gevangelistaa@upao.edu.pe


PALABRAS RESERVADAS
Se muestra a continuacin una lista de palabras reservadas en VHDL, ninguna palabra reservada se
puede usar como identificador.
Abs Buffer File Label Of Range Sla Variable
Access Bus For Library On Record Sll Wait
After Case Function Lindage Open Register Sra When
Alias Component Generate Literal Or Reject Srl While
All Configuration Generic Loop Others Rem Subtype Witch
And Constant Group Map Out Report Then xnor
Architecture Disconnect Guarded Mod Package Return To xor
Array Downto If Nand Port Rol Transport
Assert Else Impure New Postponed Ror Type
Atribute Elsif In Next Procedure Select Unaffected
Begin End Inertial Nor Process Severity Units
Block Entity Inout Not Protected Signal Until
Body Exit Is Null Pure Shared Use

Ing. Guillermo Evangelista Adrianzn 4 gevangelistaa@upao.edu.pe


MODOS DE UN PUERTO
Un modo permite definer la direccin hacia donde el dato es transferido. Un modo puede tener uno
de cuatro valores: in (entrada), out (salida), inout (entrada/salida) y buffer (salida).

Modo in: Permite declarar un puerto de forma que el ----------------------------


flujo de datos (seales) va hacia dentro de la entidad. -- Estructura de un puerto
Modo out: El flujo de datos en el puerto va hacia ----------------------------
afuera de la entidad.
entity circuito is
port(A,B: in bit;
Modo inout: Permite declarar un puerto de forma
C: out bit;
bidireccional (entrada/salida), adems hace posible la
D: inout bit;
retroalimentacin de seales dentro o fuera de la E: buffer bit);
entidad. end circuito;
Modo buffer: El puerto declarado se comporta como
salida y solo permite realizar retroalimentacin dentro
de la entidad. Nombre Modo Tipo

Ing. Guillermo Evangelista Adrianzn 5 gevangelistaa@upao.edu.pe


TIPO DE DATOS DE UN PUERTO
Los tipos son los valores (datos) que el diseador establece para los puertos de entrada y salida dentro
de una entidad, y que son asignados de acuerdo con las caractersticas de un diseo en particular.

1. Enumerados

Character: Formado por los 128 caracteres ASCII


Boolean: Definido sobre los valores true, false
Bit: Formado por los caracteres 0 y 1
Severity Level: Formado por los valores note, error, failure.

2. Escalares

Integer / Real: Con un rango que depende de cada herramienta.

Ing. Guillermo Evangelista Adrianzn 6 gevangelistaa@upao.edu.pe


TIPO DE DATOS DE UN PUERTO
3. Arrays

String: Definido como un array de caracteres (characters)


Bit_vector: Definido como un array de bit.

4. Fsicos

Time: Definido para especificar unidades de tiempo.

5. Tipos para operaciones de entrada/salida sobre ficheros

Line: Puntero a string


Text: Fichero de strings
Side: Enumerado sobre valores tipo right y left.

Ing. Guillermo Evangelista Adrianzn 7 gevangelistaa@upao.edu.pe


DECLARACIN DE ENTIDADES MEDIANTE VECTORES
En VHDL, el conjunto de bits ordenados se considera como vectores de bits. La sentencia utilizada
para describir esta configuracin es bit_vector, adems de to para un arreglo ascendente y downto
para un arreglo descendente.

Arreglo ascendente:
A3 S0 A(A0,A1,A2,A3)
A2 S1
A[3:0] S[0:3]
A1 S2 4 4 B(B0,B1,B2,B3)
A0 S3
Entity Entity
B3 C3
B2 C2 4 Arreglo descendente:
B[3:0] C[3:0]
B1 C1 4
B0 C0 A(A3,A2,A1,A0)
B(B3,B2,B1,B0)

Ing. Guillermo Evangelista Adrianzn 8 gevangelistaa@upao.edu.pe


DECLARACIN DE ENTIDADES MEDIANTE VECTORES
En VHDL, el conjunto de bits ordenados se considera como vectores de bits. La sentencia utilizada
para describir esta configuracin es bit_vector, adems de to para un arreglo ascendente y downto
para un arreglo descendente.

----------------------------------
-- Declaracin utilizando vectores
A[3:0] S[0:3]
4 4 ----------------------------------
entity circuito is
Entity port(A,B: in bit_vector (3 downto 0);
4 S: out bit_vector (0 to 3);
B[3:0] C[3:0]
4 C: inout bit_vector (3 downto 0));
end circuito;

Ing. Guillermo Evangelista Adrianzn 9 gevangelistaa@upao.edu.pe


DECLARACIN DE ENTIDADES MEDIANTE LIBRERAS
Una librera (library) es un lugar al cual se accede para emplear unidades de diseo (paquetes), las
cuales se aplican para agilizar y almacenar resultados de la compilacin de un diseo dado. Por otro
lado, un paquete es una unidad de diseo formada por declaraciones, programas, componentes y
subprogramas.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
----------------------------------
-- Declaracin mediante librera A[3:0] S[0:3]
4 4
----------------------------------
entity circuito is Entity
port(A,B: in std_logic_vector (3 downto 0); 4
S: out std_logic_vector (0 to 3); B[3:0] 4
C[3:0]
C: inout std_logic_vector (3 downto 0));
end circuito;

Ing. Guillermo Evangelista Adrianzn 10 gevangelistaa@upao.edu.pe


BIBLIOGRAFA
David G. Maxinez, Programacin de Sistemas Digitales con VHDL, Grupo Editorial PATRIA, Mxico,
2013.

Serafn A. Prez, Enrique Soto, Santiago Fernndez, Diseo de Sistemas Digitales con VHDL, Thomson,
Espaa, 2002.

IEEE, The IEEE standard VHDL Language Reference Manual, IEEE-std, 1988.

Miguel A. Freire, Introduccin al lenguaje VHDL, Universidad Politcnica de Madrid, Departamento de


Sistemas Electrnicos y de Control.

Kloos, C. y E. Cerny, Hardware Description Language and Their Aplications, Speciftcation, modeling,
verification and synthesis of microelectronic systems, Chapman & Hall, 1997.

Peter J. Ashnden, VHDL Tutorial, Elsevier Science, USA, 2004.

Ing. Guillermo Evangelista Adrianzn gevangelistaa@upao.edu.pe


Ingeniera Electrnica
Sistemas Embebidos
ANEXO N 01:
VHDL - Elementos del Lenguaje
Ing. Guillermo Evangelista Adrianzn
Universidad Privada Antenor Orrego
gevangelistaa@upao.edu.pe
DELIMITADORES

Son caracteres utilizados en determinadas operaciones y sentencias, estos pueden ser de dos tipos:

Delimitadores simples: Son aquellos constituidos por un solo caracter.

& ( ) * + , . / : ; < = > | \

Delimitadores compuestos: Son aquellos que constituidos por dos caracteres.

=> ** := /= >= <= <>

Ing. Guillermo Evangelista Adrianzn 1 gevangelistaa@upao.edu.pe


COMENTARIOS

En las descripciones se puede introducir comentarios que ayuden a la comprensin del cdigo y a su
documentacin. Cualquier comentario empieza con dos guiones seguidos y termina al final de la
lnea. El compilador ignora lo escrito en los comentarios, un ejemplo:

----------------------------------
-- Esto es un comentario
-------------------------------------
-- Comienzo de la entidad <<ejemplo>>
-------------------------------------
entity ejemplo is
port( A: in bit; --entrada A
B: out bit); --salida B
end ejemplo;

Ing. Guillermo Evangelista Adrianzn 2 gevangelistaa@upao.edu.pe


TIPO DE DATOS

VHDL predefine un conjunto relativamente limitado de tipos de datos, pero dispone de gran
versatilidad para que el propio usuario los cree segn sus necesidades. Los tipos de datos
predefinidos se encuentran casi en su totalidad en el paquete starndard de la biblioteca std. La Tabla
N 1 y 2 muestran a los principales tipos de datos.

Tabla N 1: Tipos predefinidos de datos Parte I Tabla N 2: Tipos predefinidos de datos Parte II
TIPO RANGO DESCRIPCIN
TIPO RANGO DESCRIPCIN
Bit 0,1 Valores binarios
Integer -MAXINT MAXINT Nmeros enteros
Bit_vector conjunto de bits Cadena de bits
Natural 0 MAXINT Nmeros naturales
Character Caracteres
Positive 1 MAXINT Nmeros positivos
String Conjunto de caracteres Cadena de caracteres
Real -MAXREAL MAXREAL Nmeros reales
Time -MAXINT MAXINT Nmeros reales con
Boolean TRUE, FALSE Valores booleanos
<unidad> unidades de tiempo

Ing. Guillermo Evangelista Adrianzn 3 gevangelistaa@upao.edu.pe


TIPO DE DATOS

El valor de las constantes MAXINT y MAXREAL depende de la implementacin del compilador de


VHDL, pero al menos han de ser de 231 1 para el primer caso y 1.0E38 para el segundo. La
resolucin del tipo time es de 1 fs (unidad base), es decir, cualquier tiempo inferior es trucado a 0
unidades de tiempo. De otro lado, la representacin de valores en los tipos numricos (integer, real,
time) se puede realizer de diversas formas. En general, se emplea la base 10 y se puede utilizar el
caracter <<_>> para hacer mejor la legibilidad:

nmeros enteros: 37 nmeros reales: 2.71


112234 43_234.0
1_123_321 0.000_0012
2E6 3.27E4
3E-4 6.0E-3 Error!

Ing. Guillermo Evangelista Adrianzn 4 gevangelistaa@upao.edu.pe


TIPO DE DATOS

El lenguaje VHDL permite expresar un nmero en cualquier base, de acuerdo al siguiente formato:

base # entero[.entero] [# E exponente]

Ambos enteros debe estar representados en la base indicada a la izquierda. El exponente representa
una potencia de dicha base. Ejemplos:

2#0010_0001#E3 --33x2^3
8#714# --460
16#D3.A2#E-1 --211,6328125 x 16^-1
10#35#E8 --35x10^8. Como la base es 10 no es preciso indicarla,
--puesto que es la que se toma por defecto. Por lo
--tanto es suficiente con la representacin 35#E8, o
--simplemente 35E8

Ing. Guillermo Evangelista Adrianzn 5 gevangelistaa@upao.edu.pe


TIPO DE DATOS

Cuando una cadena de caracteres est compuesta por un conjunto de bits se le denomina bit string
literal (literal de cadena de bits) y admite una expresin simplificada con base numrica:

X |O| [B] cadena de bits

Ejemplo:
62027 --se puede representar en hexadecimal:
XF24B --o bien en octal:
O63_72 --o bien en binario:
B1111001001001011

La base binaria se toma por defecto, es decir, puede prescindirse de indicar B. X representa la base
hexadecimal y O la octal.

Ing. Guillermo Evangelista Adrianzn 6 gevangelistaa@upao.edu.pe


NUEVOS TIPOS Y SUBTIPOS

VHDL posee una gran variedad para la definicin de nuevos tipos y subtipos de datos. A
continuacin se muestra una clasificacin de los distintos tipos que es posible declarar:
Escalares
Enumerados
Enteros
Fsicos
Compuestos: homogneos (arrays), heterogneos (records)
Acceso
Fichero.

La sintaxis de declaracin de un tipo es: Type <identificador> is descripcin;

Ing. Guillermo Evangelista Adrianzn 7 gevangelistaa@upao.edu.pe


NUEVOS TIPOS Y SUBTIPOS

En la descripcin se especifica la clase de tipo a declarar y su rango de valores. A continuacin se


muestra ejemplos de diversas declaraciones:
Type SEMANA is (L,M,X,J,V,S,D); --tipo enumerado
Type tipo_puerta is (andg, org, norg, nandg); --tipo enumerado
Type CUENTA_ATRAS is range 9 downto 0; --tipo entero
Type fan is range 1 to 20; --tipo entero
Type intervalo is range -1.0 to 1.0; --tipo real
Type ESPACIO is range 0 to 10000 --tipo fsico
units
mm; --unidad base
cm=10 mm; --mltipo
m=1000mm; --mltipo
km=1_000_000 mm; --mltipo
end units;
Ing. Guillermo Evangelista Adrianzn 8 gevangelistaa@upao.edu.pe
NUEVOS TIPOS Y SUBTIPOS

--ejemplos de tipo compuesto homogneo:


Type MEMORIA is array (0 to 31) of bit_vector (8 downto 0);
Type CUBO is array (0 to 7),(0 to 7),(0 to 7) of bit;

--ejemplo de tipo acceso predefinido en el paquete textio de la biblioteca std:


Type LINE is access string;

--ejemplo de tipo fichero predefinido tambin en textio:


Type TEXT is file of string;

Ing. Guillermo Evangelista Adrianzn 9 gevangelistaa@upao.edu.pe


NUEVOS TIPOS Y SUBTIPOS

--ejemplo de tipo compuesto heterogneo:


Type puerta_lgica is
record
tipo: tipo_puerta;
retardo_L_H: time;
retardo_H_L: time;
no_entradas: positive;
fun_out: fan;
end record;

Un subtipo es un tipo de rango restringido. La declaracin obecede


a la sintaxis:

Ing. Guillermo Evangelista Adrianzn 10 gevangelistaa@upao.edu.pe

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