You are on page 1of 39

Universidad Ricardo Palma

Arquitectura del computador

Dominios de Diseo
Introduccin En el propsito de describir los circuitos, se han desarrollado variadas formas de expresarlos: >Grficamente Esquemas Formas de Ondas >Textualmente Ecuaciones Diferenciales Algebraicas Notaciones >Fsicamente Layout PCB MCM Para la parte textual, que nos interesa en esta oportunidad, se han desarrollado una variedad de lenguajes artificiales, semejantes a los lenguajes de programacin que permiten describir a los circuitos en modelos precisos de manera lgica e independiente de la tecnologa en que se le vaya a implementar, a estos lenguajes se les conoce como Lenguajes Descriptores de Hardware (HDL que viene del termino anglosajn Hardware Description Language) Diagrama Y Gajskin y Kuhn desarrollaron el Diagrama Y para esquematizar las distintas formas de especificar un circuito, simularlo e implementarlo de acuerdo al nivel de arquitectura en el que se estuviera trabajando. Cada lado de la Y es un Dominio o forma de representar al circuito digital, estos dominios son descritos como :
a) descripcin Estructural, b) descripcin Funcional c) descripcin fsica

Se puede apreciar en el Diagrama Y, en la siguiente pgina, los campos mencionados anteriormente. Se puede partir de uno de los dominios y pasar al otro segn sea la conveniencia del diseo, podemos describir el circuito en forma funcional y simularlo por su Dip., Ing. Gustavo Rosell 1

Universidad Ricardo Palma

Arquitectura del computador

parte estructural e implementarlo en su forma Fsica en uno de los niveles de arquitectura que deseemos.

La descripcin Estructural en este caso es una caja blanca, se sabe lo que hay adentro, como esta compuesta sin describir o definir la tecnologa en la que esta se implementar, pero no se sabe que hace,

CAJA BLANCA
C

A B

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

La descripcin Funcional o de comportamiento (en ingls Behavioral), se sabe que hace pero no se sabe que hay adentro, es decir, es una caja negra. que describe como funciona el circuito sin especificar la tecnologa y circuitos que la implementarn

CAJA NEGRA
A B

SUMADOR

la descripcin fsica que es por ltimo la tercera forma de dominio es aquella en la que se ve la forma en que esta implementada, la tecnologa empleada, pero no se sabe que hace ni como se conforma por desconocerse el detalle de los componentes empleados para implementarla, por ejemplo: en el primer dibujo vemos un microcircuito CMOS pero no sabemos que hace ni que lo contiene

en la siguiente figura tenemos un tarjeta impresa con integrados que solo los conocedores saben que es, pero no saben si se emplear para la funcin conocida

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

El VHDL y el Diagrama Y En relacin a los dominios de diseo esperamos encontrar solo dos formas de describir nuestro circuito en el VHDL puesto que esta es una forma textual y la fsica se dar en el momento de implementarlo en un PLD, es decir en la estructural y en la funcional, pero en realidad se les tiene a ellos y a una mezcla de ambos La mas cercana a la forma tradicional de realizacin de circuitos es la Estructural, una intermedia es la LTR y la tercera y mas abstracta es la Funcional. Esto lo tocaremos mas adelante

los lenguajes mas desarrollados como el Very high speed integrated circuits Hardware Description Language (VHDL) o el Verilog u otra alternativa como la de ALTERA que tiene el AHDL ( ALTERA Hardware Description Language) y el mas actual el System Description Language (SDL), que por ahora son solo para el rea Digital, pronto saldr el lenguaje descriptor de circuitos analgicos, por que la mayor demora es el no tener una fcil sntesis como en digitales, pues los parmetros de diseo del dispositivo analgico varia segn el diseo. El VHDL es muy poderoso, permite desde especificar el circuito al nivel de sistema y realizar pruebas, antes de dividirlo en bloques de menor nivel para su diseo a un nivel de mas detalle, luego se puede especificar el hardware, lo cual lo hace independiente de la tecnologa de construccin, pero siempre se le debe escribir en el estilo mas apropiado, en forma de LTR. Hasta el momento para optimizar la portabilidad del diseo a diferentes plataformas. As mismo, no solo permite realizar el diseo en Lgica Programable ( PLD) sino que se le puede llevar a un ASIC ( Applied Specific IC) si se desea

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

Un Lenguaje descriptor de Hardware (En este caso de Circuitos Digitales)se diferencia de uno de software por que el HDL considera la temporizacin. Examinaremos el VHDL

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

VHDL usando el Software MAX+plusII


Se ha preparado este documento para ensear al estudiante de la URP a como programar en VHDL usando el Software MAX+plusII Versin Estudiante 10.1de Altera como alternativa de Diseo de Lgica Programable o Programmable Logic Design (PLD). Proporcionando el procedimiento paso por paso para formular un programa en VHDL. Para ello emplearemos su compilador VHDL ( Lenguaje de Descripcin de Hardware de Circuitos Integrados de Muy Alta Velocidad). La edicin del estudiante contiene la mayora de las caractersticas de la versin profesional pero solo compila a un juego limitado de Dispositivos de la Lgica Programable (PLDs), de los cuales podremos emplear solo los siguientes por tenerlos en el laboratorio PLD MAX7000S EPM7128SLC84-7 FLEX10K EPF10K70RC240-4 Puertas Utilizables 2,500 128 FF 15,000 a 63,000 pines 84

240

Requerimiento del sistema

Requiere de 33M Bytes a 198M bytes de espacio en el disco duro y de 8M bytes a 32M Bytes de DRAM, (recomendable 32MB).segn la versin que se grabe. La ltima es la versin 10.2 Baseline cuya licencia dura 6 meses y se puede renovar por otros 6 mas. Pero la misma versin puede ser inscrita como estudiante y no requerir mas renovacin

Instalacin del MAX+plusII de ALTERA


El procedimiento es simple. La versin Baseline se puede bajar de la web en la URL siguiente www.Altera.com/downloads o solicitar el CD del laboratorio, normalmente es un archivo ejecutable que indica los pasos a seguir para su instalacin. Pero sino es as entonces, para cargar el programa Maxplus2 de altera en la PC, deber buscar en el directorio del CD de altera, el cual se muestra en la siguiente figura, la carpeta Baseline

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

al presionar dicha carpeta aparecer el icono en forma de cajita que se muestra a continuacin

este le permitir instalar el programa en forma automtica. El Max Plus II tiene 2 directorios que han sido creados al momento en que se instal: C:\max2work C:\maxplus2 MAX2WORK es el directorio de trabajo, tambin contiene los directorios en el cual encontramos algunos ejemplos de diseo. Usted crear un sub directorio TEMP (y en el debe crear, su propio sub directorio de trabajo), donde se almacenarn los trabajos que sern creados por los usuarios, es preferible que trabaje en el disco duro por ser mas rapido para todos los efectos, copiando despues los archivos en su disquete

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

MAXPLUS2 en el estan todos los drivers y libreras y no deben grabarse proyectos all. Se abrir el programa y le aparecer la ventana para que lea las condiciones de la licencia, esta deber leerse completamente para que pueda pasar a la siguiente etapa, si no la lee no aparecer marcado el icono de yes, si no la quiere leer pero si acepta las condiciones de la licencia un pequeo truco le permitir hacerlo, traslade el cursor lateral de la ventana de licencia casi hasta el borde inferior pero no todo, lo mas cerca que pueda sin llegar a tocarlo, luego instlese en el interior de la ventana de condiciones y presione la flecha de avance hacia abajo al llegar al final se activar el icono yes, presinelo y obtendr la pantalla de gestin del MaxplusII.

Yendo a la barra de men ubicar Options seleccionar license setup, le aparecer la ventana que se aprecia en la siguiente pgina

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

esta ventana le pide ubicar el archivo de licencia como no lo tiene y se requiere que el estudiante se registre va Internet, dando el nmero de serie de su disco duro, para ello entonces presione el icono System Info... que esta en la parte derecha inferior y le aparecer la siguiente ventana

El cdigo le aparecer en su pantalla dentro de la figura que se muestra arriba de este texto, copie el nmero y en Internet ubique el URL de altera que se da a continuacin. www.Altera.com/maxplus2-student

Dip., Ing. Gustavo Rosell

Universidad Ricardo Palma

Arquitectura del computador

Una vez que este nmero es registrado con Altera, el estudiante es notificado va e-mail con un archivo adjunto con nombre license.dat que deber descargar y copiarlo en su PC, este archivo contiene el nmero de cdigo de autorizacin (ver cuadro). Usualmente le tomar solo unos minutos para recibir su cdigo de autorizacin de Altera, a veces un poco mas. FEATURE maxplus2web alterad 2005.06 permanent uncounted FBEC80475C7C \ HOSTID=DISK_SERIAL_NUM=137713e8 FEATURE maxplus2vhdl alterad 2005.06 permanent uncounted 319459A09C86 \ HOSTID=DISK_SERIAL_NUM=137713e8 FEATURE maxplus2verilog alterad 2005.06 permanent uncounted \ 329AF82E2F85 HOSTID=DISK_SERIAL_NUM=137713e8 contenido de archivo License.dat El usuario debe cargar el archivo en su disco duro dentro de un directorio o en el directorio maxplus2 y darle el path al MAX+plus dentro de la ventana de LICENSE SETUP vista anteriormente empleando el icono browser , le aparecer la ventana que se aprecia en la siguiente pgina, para ubicar el archivo de licencia para que pueda acceder a la autorizacin de usar el software.

Dip., Ing. Gustavo Rosell

10

Universidad Ricardo Palma

Arquitectura del computador

con ese buscador ubica el lugar donde guardo el archivo y lo marca para que se pueda acceder al permiso deseado. Luego presione el icono OK y voila tendremos la siguiente ventana

Puede apreciar que se ha habilitado varias opciones, presione OK y estar listo para poder usar su programa de diseo Se asume que por lo menos el estudiante conoce brevemente la sintaxis del VHDL, que en cierta forma es similar al del lenguaje C, ya que ambos emplean el formato BackusNaur (BNF). Carcter ::= <...> [...] {...} ...|... :n:m significado es definido como identificador ( p. Ej. variables) tem opcionales tem repetidos (cero o mas veces) indica una eleccin entre tem los sufijos indican un rango de n a m en la descripcin de la sintaxis son variables lnea de texto en la descripcin de la sintaxis

itlicas
fuente courier

El programa de VHDL correr, tal como es, en el MAX+plusII

Dip., Ing. Gustavo Rosell

11

Universidad Ricardo Palma

Arquitectura del computador

Proceso de Programacin usando el editor VHDL del MAX+plusII de ALTERA


Una vez que esta en la ventana de inicio del MAX+plusII, de la barra de men, seleccione File, luego New, para crear un archivo de diseo, le aparecer una nueva ventana (figura adjunta) donde deber seleccionar el Editor de archivos de Texto del MAX+plusII para crear el archivo en VHDL.

Le aparecer una nueva ventana, que es la del editor de texto, puede apreciarla a continuacin del texto, en ella el cursor del editor (ver la lnea vertical debajo de la palabra Untitled2) est indicando el lugar donde debe ingresar el texto que formar al programa en VHDL.

Lneas abajo, en un cuadro, se puede ver un programa VHDL en color, ste programa describe el comportamiento de una puerta And

Dip., Ing. Gustavo Rosell

12

Universidad Ricardo Palma

Arquitectura del computador

de 2 entradas, comparable a una de las puertas contenidas en un circuito integrado TTL 74XX08. Para este ejercicio, la entidad se ha llamado pruebaY. Ojo, el MAX+plusII de Altera espera que el archivo final tenga el mismo nombre la entidad.

Entity pruebaY is port --En la declaracin de la entidad, se identifica cada -- seal de I/O -- El conexionado Interno se maneja de otra forma. ( a, b: in bit; --Define entradas "a" y "b" del tipo bit. solo valores 1 0. Y : out bit --Define la salida Y del tipo bit. ); end pruebaY; architecture operacin of pruebaY is -- describe la funcin del dispositivo begin process (a,b) --definimos el proceso a ser implementado --(a,b) indica que el proceso es sensible a cambios en a o b begin y <= a and b; --Se le asigna a Y el valor de la operacin lgica a.b end process; end operacin;

Despus de ingresar el texto que forma el programa pruebaY seleccione File /Save As y tras lo cual le aparecer una ventana donde, de la sub ventana Automatic Extension, deber seleccionar a la extensin apropiada, en este caso es la .vhd , luego presione el casillero que contiene a la palabra OK

Ojo en realidad puede emplear cualquier editor de texto para escribir un archivo de diseo en vhdl, (con extensin .vhd), luego puede compilarlas y simularlas para finalmente programar un dispositivo de altera. Pero en el ambiente de altera tendr ventajas que le facilitaran la escritura ya que se resaltan con colores las diferentes partes del texto para identificarlas fcilmente.

Dip., Ing. Gustavo Rosell

13

Universidad Ricardo Palma

Arquitectura del computador

Esto le deber proporcionar una ventana como la que se presenta a continuacin

Debe dar nombre a su proyecto, dele el mismo nombre que el de su archivo, existen dos formas: a) a travs del men o b) del paso corto

Dip., Ing. Gustavo Rosell

14

Universidad Ricardo Palma

Arquitectura del computador

a) a traves del men es : con File / Project / Set Project to

Current File. Luego el archivo lo puede compilar con File / Project / Save and Compile o con Ctrl L.
b) a travs del paso corto es: para ahorrarse tiempo, presione

de entre los iconos al primer disquete

Cualquiera que sea la opcin que seleccion, le aparecer una ventana preguntndole si va a nombrar el proyecto con el mismo nombre de su archivo actual, Ud. Presione OK y eso asignara el nombre en forma automtica a su proyecto y lanzar al compilador, obteniendo como resultado a la siguiente ventana en cualquiera de los casos sugeridos para dar nombre al proyecto

Presione aceptar lo que provocara que el compilador deba continuar su proceso para ello hay dos opciones: a) deber presionar Start en la ventana del compilador o b) presionar el icono del segundo disquete

Dip., Ing. Gustavo Rosell

15

Universidad Ricardo Palma

Arquitectura del computador

, lo cual terminar con la compilacin y tendr la siguiente ventana

Ahora es necesario simular el proyecto, para ello de la barra de men principal, deber presionar File / New. Con lo cual tendr una nueva ventana de creacin de archivos,

en la que deber seleccionar a la opcin Waveform Editor file que es la opcin del editor de archivos de formas de onda para simulacin Dip., Ing. Gustavo Rosell 16

Universidad Ricardo Palma

Arquitectura del computador

con la extensin .scf , con la cual se introducirn los vectores de prueba o seales de estmulo para activar al circuito que se ha descrito en el diseo . Luego presione el casillero que contiene a OK.

Le deber aparecer la siguiente ventana, que es la del editor de vectores de prueba ( formas de onda) para realizar la simulacin

para ingresar a las entradas y salidas del circuito hay varias posibilidades: a) De la barra de men principal o b) Del paso corto
a) De la barra de men principal: puede seleccionar en Node /

Enter Nodes from SNF.


b) Del paso corto:

presionar el botn izquierdo del ratn debajo de la columna name de la ventana del paso anterior tras lo cual le aparecer la ventana adjunta con lo cual deber presionar en Enter Nodes from SNF

Dip., Ing. Gustavo Rosell

17

Universidad Ricardo Palma

Arquitectura del computador

Tras eso deber aparecer la ventana adjunta,

en ella presionar en el casillero List, con lo que aparecern todas las entradas y salidas de nuestro diseo en la seccin Available Nodes & Groups, ( es decir la seales de los nodos individuales o de grupo disponibles) de seales disponibles tras lo cual tendremos que seleccionar las entradas y salidas que deseamos ver en el editor de formas de onda para ello deber presionar el casillero

que traspasa las seales que usted selecciona de la parte Available Nodes & Groups a la seccion Selected Node & Groups. Luego presione OK y tendremos

Dip., Ing. Gustavo Rosell

18

Universidad Ricardo Palma

Arquitectura del computador

Creando los estmulos Ahora podemos modificar las seales de entrada para que respondan como queramos mediante los iconos que estn en la barra de la izquierda de la pantalla de trabajo. En la pgina siguiente se aprecia esta barra de iconos con una breve descripcin de su caracterstica.

Dip., Ing. Gustavo Rosell

19

Universidad Ricardo Palma

Arquitectura del computador

Permite redactar texto en las formas de onda Cursor que permite variar la forma de onda a voluntad forma manual y seccionada en

Aumenta en tamao a la grfica de formas de ondas Reduce en tamao a la grfica de formas de ondas Ajusta la grfica a el tamao de la ventana Establece las entradas a "0" Establece las entradas a "1" Sobrescribe la forma de onda seleccionada con un "X" Especifica alta impedancia Invierte la forma de onda Sobrescribe la seal con la forma de onda de un reloj Especifica una secuencia de cuenta especifica

De usar el icono que esta debajo de la letra A (presionando en el),

el cursor cambiar a esa forma al ponerlo debajo de la columna de diagrama de tiempo, en este caso los cambios de las seales se ajustaran a las lneas discontinuas verticales que se ven y se les llama grids

Dip., Ing. Gustavo Rosell

20

Universidad Ricardo Palma

Arquitectura del computador

Para variar los ciclos de servicio del reloj o modificar una seal de forma especial, de la barra de men seleccione Options y desmarque Snap to Grid.. Para establecer su tiempo de simulacin, en caso as lo desee pues el MaxplusII de Altera fija por defecto el tiempo de 1 microsegundo, de la barra de men seleccione File / End Time tras lo cual aparecer una ventana donde podr establecer su tiempo de simulacin , a mayor tiempo mas recurso de memoria le tomara y la demora del resultado ser en forma directamente proporcional

Grabando el archivo Ahora debemos grabar nuestro archivo esto se puede lograr de dos formas a) De la barra de men principal o b) Del paso corto
a) De la barra de men principal: puede seleccionar men File /

Save As .
b) Del paso corto: es presionar en el icono del tercer disquete

tras lo cual aparecer en la pantalla una ventana que se adjunta en la siguiente pgina para mas facilidad,

Dip., Ing. Gustavo Rosell

21

Universidad Ricardo Palma

Arquitectura del computador

aceptaremos el nombre, que por defecto propone, que es el nombre del proyecto. Para eso presionaremos en OK Simulando Para correr la simulacin, hay varias opciones: a) De la barra de men principal o b) Del paso corto

a) De la barra de men principal: ir a guardar el archivo por parte de la barra del men principal entonces debe buscar en la barra de men Save as darle el nombre del proyecto y luego seleccionar de la barra del men principal Max + plus II / Simulator. Entonces aparecer la ventana de simulacin, tras lo cual tendr que presionar el casillero start, b) Del paso corto: a travs del tercer disquete salvara el archivo con el nombre por defecto del proyecto, preguntndole si esta de acuerdo y estar corriendo la simulacin en forma automtica En la ventana de simulacin, que se muestra en la siguiente pgina, active el icono Start cuando este listo para su simulacin. En la ventana aparecer la barra roja, que conforme progrese su simulacin, ir creciendo, en el caso de la figura, esta completa, esta Dip., Ing. Gustavo Rosell 22

Universidad Ricardo Palma

Arquitectura del computador

significa que ya se finaliz la simulacin y debe abrir el archivo presionando el icono Open SCF para observar el resultado.

Puede cambiar los tiempos de inicio y fin de la simulacin segn lo requiera. Al presionar OpenSCF aparecer la ventana de formas de onda que nosotros hemos creado pero con las formas de ondas de las salidas para cada caso en que establecimos un estmulo.

Dip., Ing. Gustavo Rosell

23

Universidad Ricardo Palma

Arquitectura del computador

bien ya estamos listos para entrar mas en detalle del lenguaje VHDL

TEMPLATES Los templates o modelos de dispositivos, entidades, arquitecturas u otras estructuras del VHDL, son moldes que usted puede adecuar a sus necesidades y le permiten realizar un archivo de diseo VHDL en forma mas rpida y segura de su diseo en este tipo de formato. Para ello deber: 1. Cree un nuevo archivo de texto y guardelo con la extensin .vhd 2. escoja del men de templates VHDL TEMPLATE, le aparecer la ventana donde podr seleccionar el modelo del dispositivo que desee 3. seleccione OK 4. reemplace las variables del template con las de su propia lgica

Dip., Ing. Gustavo Rosell

24

Universidad Ricardo Palma

Arquitectura del computador

EL VHDL
En captulos anteriores hemos mencionado los dominios de descripcin y que en el caso del VHDL En relacin a los dominios de diseo esperamos encontrar solo dos formas de describir nuestro circuito en el VHDL puesto que esta es una forma textual y la fsica se dar en el momento de implementarlo en un PLD, es decir en la estructural y en la funcional, pero en realidad se les tiene a ellos y a una mezcla de ambos Estas son :
a) la Estructural es mas cercana a la forma

tradicional de realizacin de circuitos,


b) la LTR es una forma intermedia y c) la Funcional que es la mas abstracta.

La descripcin estructural en este caso se distingue por ser casi una descripcin de cada uno de los componentes que se emplean en el circuito con una descripcin detallada de el conexionado tal que parece mas un Netlist del circuito, por lo tanto es la menos abstracta y su sntesis es muy fcil de realizarse La descripcin LTR es en realidad un nivel de abstraccin menos complejo de la descripcin Funcional y se le suele llamar descripcin de flujo de datos o Data Flow, pues las instrucciones son todas de asignacin, siendo los datos los que gobiernan el flujo de ejecucin de las instrucciones, en esta descripcin es mas fcil realizar la sntesis del circuito, dado que las estructuras tienen una relacin de correspondencia muy directa con su implementacin fsica La descripcin Funcional es conocida tambin como descripcin algortmica e incluye a la anterior, en este caso la implementacin es un poco mas compleja, por su aspecto serial y concurrente de la ejecucin de sus sentencias.

Dip., Ing. Gustavo Rosell

25

Universidad Ricardo Palma

Arquitectura del computador

Escribiendo en VHDL
La estructura para el modelado de un circuito en VHDL y comprende de 3 mas partes:
a) una entidad ENTITY b) una o mas arquitecturas ARCHITECTURE y c) una o mas configuraciones( paquetes o

encapsulados) PACKAGE y bancos de pruebas TESTBENCH que deben escribirse para testear los circuitos modelados

ENTITY En VHDL es una declaracin de una sentencia (STATEMENT) en la que se define la especificacin externa del circuito, tal que se puede conectar este a otro circuito de nivel superior o darle los estmulos de las entradas para propsito de simulacin., sin embargo esta declaracin no incluye la operacin que realizar el circuito En la declaracin de la entidad, se identifica cada seal de I/O, el rendimiento y slo los pines externos. El conexionado Interno se maneja de otra forma.

ENTITY nand_2 IS PORT ( a, b: IN bit; Y : OUT bit ); END nand_2;

Donde: nand_2 es el nombre del dispositivo, circuito o sistema a modelar es una sentencia que define las I/O del circuito o

PORT (-- ); sistema : IN bit;

Define entradas "a" y "b" del tipo bit. solo valores 1 0.

: OUT bit Define la salida Y del tipo bit. END --; Declara el final de la ENTITY

Otras forma de escribir esa entidad es:

Dip., Ing. Gustavo Rosell

26

Universidad Ricardo Palma 1.ENTITY nand_2 IS PORT (a, b: IN bit; Y : OUT bit ); END nand_2; 2.ENTITY nand_2 IS PORT ( a, b: IN bit; END nand_2; 3.-

Arquitectura del computador

Y : OUT bit );

ENTITY nand_2 IS GENERIC (delay : = 5ns); PORT (a, b: IN bit; Y : OUT bit ); END nand_2; En este caso se agreg una sentencia GENERIC que especifica en este caso particular, el retardo de propagacin asignado a la entidad por nosotros, es una constante pasada entre componentes En la sentencia PORT se pueden declarar varios tipos de seales IN OUT INOUT BUFFER entradas al sistema salidas del sistema seales bidireccionales un registro asignado a una salida

Tambin es posible declarar el uso de libreras que se puedan adquirir o desarrollar LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY nand_2 IS GENERIC (delay : = 5ns); PORT (a, b: IN bit; Y : OUT bit ); END nand_2;

se usa la clusula LIBRARY y la clusula USE para darle a la ENTITY acceso a todos los nombres declarados dentro del PACKAGE requerido para nuestro ejemplo : std_logic_1164 en la librera IEEE

Dip., Ing. Gustavo Rosell

27

Universidad Ricardo Palma ARCHITECTURE

Arquitectura del computador

Esta declaracin es la segunda parte de la descripcin del modelo en VHDL , nos permite describir la forma del comportamiento del circuito , cada ENTITY debe tener al menos una ARCHITECTURE, es decir se pueden tener varias declaraciones de arquitectura alternativas para una sola entidad Las descripciones pueden ser por la forma: a) como se comporta, es decir funcional o Behavioral b) como se compone , es decir estructural c) una mezcla de las dos anteriores, LTR a continuacin se presenta una serie de ejemplos de los diferentes tipos de descripcin: a) la descripcin funcional ARCHITECTURE operacin_funcional OF nand_2 IS BEGIN PROCESS (a,b) BEGIN y <=NOT( a and b); END process; END operacin; Donde: ARCHITECTURE PROCESS (a, b) -- describe la funcin del dispositivo --define el proceso a ser implementado --indica que el proceso es sensible a cambios en -- a o b y <=NOT(a and b) --Se le asigna a Y el valor de la operacin lgica

b) la descripcin estructural ARCHITECTURE operacin_estructural OF mux2a1 IS SIGNAL ax, bx, nsel : bit; BEGIN u0 : Entity inv port map (e=>sel, y=>nsel); u1 : Entity and2 port map (e1=>a, e2=>nsel, y=>ax); u2 : Entity and2 port map (b, sel, bx); u3 : Entity or2 port map (e1 =>ax, e2 =>bx, y => sal); END operacin_estructural; Donde :

Dip., Ing. Gustavo Rosell

28

Universidad Ricardo Palma Un:

Arquitectura del computador

referencia directamente a la entidad y a la arquitectura del componente empleado

Operadores Aritmticos y de Comparacin


Son 9 operadores en total y estos no pueden ser mas grandes que los resultados En operaciones aritmticas uno de los operando debe ser del mismo ancho que el resultado, el otro debe ser con signo o de cero extendido

Tipo

operardor + * < <= > >= = /=

ejemplo a + b, +a a - b, -a a*b a <b a <= b a>b a >= b a=b a /= b

Aritmticos

Comparacin

En operaciones de comparacin el resultado es de un solo bit

Dip., Ing. Gustavo Rosell

29

Universidad Ricardo Palma

Arquitectura del computador

Ejemplos de Circuitos Combinacionales


Ejemplo 1.Realice la descripcin VHDL del siguiente circuito esquemtico. sel sal In1

sel

In2

Solucin: ENTITY combi1 IS PORT ( a sel in1 in2 b Sal ); END combi1; ARCHITECTURE ident1 OF combi1 IS BEGIN Sal <= in1 WHEN sel = 0 ELSE in2; END ident1; : : : : IN IN IN IN BIT; BIT; BIT; BIT;

: OUT BIT; : OUT BIT;

Dip., Ing. Gustavo Rosell

30

Universidad Ricardo Palma Ejemplo 2

Arquitectura del computador

- Realice la descripcin VHDL del siguiente circuito esquemtico. Alto Medio Sal1

Bajo

Solucin: ENTITY combi_2 IS PORT ( alto medio bajo Sal1 Sal2 ); END combi_2;

: : : : :

IN BIT; IN BIT; IN BIT; OUT INTEGER; OUT INTEGER;

ARCHITECTURE ident_1 OF combi_2 IS BEGIN Sal1 <= 3 WHEN alto 2 WHEN medio 1 WHEN bajo 0; END ident_1; = 1 ELSE = 1 ELSE = 1 ELSE

Dip., Ing. Gustavo Rosell

31

Universidad Ricardo Palma Ejemplo 3

Arquitectura del computador

- Realice la descripcin VHDL del siguiente circuito esquemtico. d0 d1 d2 d3 Sal1

s0 s1

Solucin: ENTITY combi_3 IS PORT ( d0 d1 d2 d3 s Sal1, ); END combi_3; ARCHITECTURE ident_1 OF combi_3 IS BEGIN WITH s SELECT Sal1 <= d3 WHEN d2 WHEN d1 WHEN d0 WHEN END ident_1; 3, 2, 1, 0;

: : : : : :

IN BIT; IN BIT; IN BIT; IN BIT; IN INTEGER RANGE 0 TO 3; OUT BIT;

Dip., Ing. Gustavo Rosell

32

Universidad Ricardo Palma

Arquitectura del computador

Ejemplo 4 Realice la descripcin VHDL del siguiente circuito esquemtico.

d1

S1

d0

d2 S0

Solucin: ENTITY proc IS PORT ( d s END proc;

: IN BIT_VECTOR (2 DOWNTO 0); : OUT INTEGER RANGE 0 TO 3);

ARCHITECTURE ident_1 OF proc IS BEGIN PROCESS(d) VARIABLE num_bits :INTEGER; BEGIN num_bits:= 0; FOR i IN d RANGE LOOP IF d(i) = 1 THEN num_bits:= 0 num_bits + 1; END IF; END LOOP; s <= num_bits END PROCESS; END ident_1;

Dip., Ing. Gustavo Rosell

33

Universidad Ricardo Palma

Arquitectura del computador

Ejemplos de Circuitos Secuenciales


Ejemplo1 Realice un latch D como el que se indica en la figura

a sel

D Q EN

Sol: ENTITY latch IS PORT (enable, data q END latch : IN BIT; : OUT BIT);

ARCHITECTURE a OF latch IS BEGIN latch: PROCESS (enable, data) BEGIN IF (enable = 1) THEN q <= data;

-------

se analiza el valor de enable, si = 1 se le asigna a q el valor de data, si es = 0 entonces retiene su valor anterior

END IF END PROCESS latch; END a;

Dip., Ing. Gustavo Rosell

34

Universidad Ricardo Palma Ejemplo2

Arquitectura del computador

Realice un contador programable de mdulo 256 y que pueda contar de arriba o de abajo ENTITY contador IS PORT( d : IN INTEGER RANGE 0 TO 255; clk : IN BIT; clear : IN BIT; load : IN BIT; up_down : IN BIT; qd : OUT INTEGER RANGE 0 TO 255); END contador; ARCHITECTURE a OF contador IS BEGIN -- Un contador up/down PROCESS (clk) VARIABLE cnt : INTEGER RANGE 0 TO 255; VARIABLE direccion : INTEGER; BEGIN IF (up_down = '1') THEN --Genera contador up/down direccion := 1; ELSE direccion := -1; END IF; IF (clk'EVENT AND clk = '1') THEN IF (load = '1') THEN --Genera carga cnt := d; --contador. Toma estas lneas ELSE --para incrementar performance. cnt := cnt + direccion; END IF; --las siguientes lneas producirn -- un clear sncrono en el contador IF (clear = '0') THEN cnt := 0; END IF; END IF; qd <= cnt; --Genera salidas END PROCESS; END a;

Dip., Ing. Gustavo Rosell

35

Universidad Ricardo Palma Ejemplo3

Arquitectura del computador

Sea la maquina de estados finitos de dos estados como se presenta en la figura, de la versin VHDL

NPR T Q clk inp NCLR clk out

clr

Sol:

Su diagrama de estado sera as:

In=0 S0

S1 In =1

Su versin VHDL sera:

Dip., Ing. Gustavo Rosell

36

Universidad Ricardo Palma

Arquitectura del computador

ENTITY mquina_de_estado IS PORT ( clk : IN BIT; inp : IN BIT; clr : IN BIT; Out : OUT BIT; ); END mquina_de_estado; ARCHITECTURE a OF mquina_de_estado IS TYPE STATE_TYPE IS (s0, s1); SIGNAL state : STATE_TYPE; BEGIN PROCESS(clk) BEGIN IF reset = 1THEN state <= s0; ELSIF (clkEVENT AND clk =1) THEN CASE state IS When s0 => state <= s1; WHEN s1 => IF inp = 1THEN state <= s0; ELSE state <= s1; END IF; END CASE; END IF; END PROCESS; out <= 1WHEN state = s1 ELSE 0; END a;

-- Cuando se usa un IF en vez de un CASE entonces no se reconoce a la mquina de estados

Dip., Ing. Gustavo Rosell

37

Universidad Ricardo Palma

Arquitectura del computador

Para ms informacin sobre usar los ejemplos de VHDL que tiene ALTERA, vaya a: How to Use VHDL Examples MAX+PLUS II Help

Dip., Ing. Gustavo Rosell

38

Universidad Ricardo Palma

Arquitectura del computador

Referencias bibliogrficas [ALT00] [ASH96] [BHA95] [SKA96] [PAR00] [PEL97] [YAL98] ALTERA MAX+PLUS II VHDL, Edit Altera Corp, 2000 Ashenden, P, The Designer's Guide to VHDL, Edit M K, 1996 Bhasker, J., A VHDL Primer, revised edition Edit P H, 1995 Skahill, K., VHDL for Programmable Logic Edit A W, 1996 Pardo & Boluda VHDL Lenguaje para Sntesis y Modelado de Circuitos, Edit Alfaomega, Rama, 2000 Pellerin & Taylor VHDL Made Easy, Edit P H 1997 Yalamanchili, S VHDL Starter's Guide, Edit P H, 1998

MK PH AW

Morgan Kaufmann Prentice Hall Addison Wesley

Dip., Ing. Gustavo Rosell

39

You might also like