Manual Practicas Digitales Excelente

download Manual Practicas Digitales Excelente

of 107

Transcript of Manual Practicas Digitales Excelente

  • 8/3/2019 Manual Practicas Digitales Excelente

    1/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    2/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    3/107

    i

    ndice

    Acerca de las prcticas de Sistemas Digitales.......................................................... v

    1. Prctica 1: Introduccin a las herramientas de diseo .................................. 1

    Introduccin............................................................................................................. 1

    Objetivos .................................................................................................................. 2

    Desarrollo de la prctica......................................................................................... 2

    XILINXs Foundation Series Software................................................................ 2

    Puertas lgicas ..................................................................................................... 3

    Realizacin prctica ............................................................................................. 3

    Paso 1. Iniciar Xilinx ....................................................................................... 4Paso 2. Inicio de un nuevo proyecto ................................................................ 5

    Paso 3. Captura del diseo utilizando el editor de esquemas........................... 6

    Paso 4. Simulacin funcional del diseo ....................................................... 10

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................ 14

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) .......... 14

    2. Prctica 2: Circuitos combinacionales........................................................... 15Introduccin........................................................................................................... 15

    Objetivos ................................................................................................................ 15

    Desarrollo de la prctica....................................................................................... 16

    Sumador binario de un bit .................................................................................. 16

    Realizacin prctica ........................................................................................... 17

    Realizacin de un sumador binario de un bit................................................. 17

    Realizacin de un sumador binario de 2 bits ................................................. 20Realizacin de un sumador binario de 8 bits ................................................. 25

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................ 29

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) .......... 29

    3. Prctica 3:Diseo modular y jerrquico........................................................ 31

    Introduccin........................................................................................................... 31

    Objetivos ................................................................................................................ 33

  • 8/3/2019 Manual Practicas Digitales Excelente

    4/107

    Prcticas de Sistemas Digitales

    ii

    Desarrollo de la prctica .......................................................................................33

    ALU de 4 bits .....................................................................................................34

    Realizacin prctica ...........................................................................................37

    Realizacin de un mdulo sumador de 1 bit ..................................................37

    Realizacin del ampliador aritmtico de 1 bit ................................................39

    Realizacin del ampliador lgico de 1 bit ......................................................41

    Realizacin de la ALU de 4 bits.....................................................................42

    Simulacin de la ALU de 4 bits .....................................................................45

    Realizacin de la ALU de 32 bits...................................................................48

    Anexo......................................................................................................................49

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................52

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio)...........52

    4. Prctica 4: Retardo de puertas........................................................................53

    Introduccin ...........................................................................................................53

    Objetivos.................................................................................................................56

    Desarrollo de la prctica .......................................................................................56

    Ampliador aritmtico .........................................................................................56Realizacin prctica ...........................................................................................58

    Simulacin con retardos de puertas del ampliador aritmtico de 1 bit ..........58

    Eliminacin de los riesgos estticos...............................................................61

    Retardo total del ampliador aritmtico...........................................................62

    Riesgos estticos del mdulo ampliador lgico .............................................63

    Retardo total de la ALU de 4 bits...................................................................64

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................65

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio)...........65

    5. Prctica 5: Elementos de estado......................................................................67

    Introduccin ...........................................................................................................67

    Objetivos.................................................................................................................73

    Desarrollo de la prctica .......................................................................................73

    Realizacin prctica ...........................................................................................73Latch SR.........................................................................................................73

  • 8/3/2019 Manual Practicas Digitales Excelente

    5/107

    ndice

    iii

    Simulacin funcional del latch SR................................................................. 76

    Simulacin con retardo unitario del latch SR ................................................ 77

    Latch D sncrono............................................................................................ 78

    Biestable D maestro esclavo .......................................................................... 79

    Biestable D disparado por flanco con entradas asncronas de set y clear...... 79

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................ 81

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) .......... 81

    6. Prctica 6:Camino de datos ............................................................................ 83

    Introduccin........................................................................................................... 83

    Objetivos ................................................................................................................ 83Desarrollo de la prctica....................................................................................... 84

    Multiplicador binario ......................................................................................... 84

    Diseo de la ruta de datos del multiplicador binario de 4 bits....................... 84

    Diseo de la unidad de control del multiplicador binario de 4 bits ............... 87

    Diseo del multiplicador binario de 4 bits..................................................... 90

    Realizacin prctica ........................................................................................... 90

    Implementacin de la unidad de control ........................................................ 91

    Implementacin del camino de datos............................................................. 91

    Implementacin del multiplicador de 4 bits................................................... 92

    Anexo...................................................................................................................... 93

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)........................ 94

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) .......... 94

    Errores ms frecuentes ............................................................................................ 95

    Errores generales................................................................................................... 95

    Errores en el editor esquemtico........................................................................... 96

    Errores en el simulador ......................................................................................... 96

    Bibliografa ............................................................................................................... 97

  • 8/3/2019 Manual Practicas Digitales Excelente

    6/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    7/107

    v

    Acerca de las prcticas de Sistemas DigitalesEste manual de prcticas ha sido diseado para cubrir los objetivos prcticos delaboratorio de la asignatura de Sistemas Digitales de la titulacin de IngenieroTcnico en Informtica de Sistemas. En esta asignatura los contenidos prcticostienen una carga lectiva de 30 horas (3 crditos). Este material docente puedeutilizarse tambin para la asignatura Sistemas Digitales de la Ingeniera enInformtica, puesto que tiene una carga lectiva prctica de 30 horas. Sin embargo,

    para poder utilizar este material en la asignatura de Fundamentos de Computadores Ide Ingeniera Tcnica en Informtica de Gestin, que tiene una carga lectiva prcticade 15 horas, es preciso realizar una adaptacin consistente en la eliminacin de losapartados avanzados de diseo, cubriendo as los mismos contenidos, pero en menor

    profundidad.

    En la asignatura de Sistemas Digitales cada alumno recibe 2 horas a la semana dedocencia prctica en el laboratorio. El objetivo de estas prcticas es complementar la

    docencia terica y de problemas, acercando al alumno a la realidad del proceso dediseo digital, tanto de sistemas combinacionales como secuenciales. El cuatrimestreest pensado de tal manera que realicemos varias prcticas de laboratorio, cada unade ellas dividida en una o varias sesiones semanales de 2 horas cada una.

    El manual de prcticas propone la realizacin de seis prcticas de laboratorio, cuyostemas abarcan la mayora de los contenidos prcticos de la asignatura. Las prcticas

    propuestas son las siguientes:

    Prctica 1: Introduccin a las herramientas de diseo. Es una prcticaintroductoria cuyos objetivos son presentar la herramienta de diseo, dar unaintroduccin a las puertas lgicas e igualar el nivel de conocimientos prctico

    bsico de los alumnos en cuanto al manejo de un computador personal. Tieneasignadas 8 horas de laboratorio. Aunque pueda parecer una duracinexcesiva, hay que tener en cuenta que la asignatura de Sistemas Digitales seimparte en el primer cuatrimestre de primer curso, lo que suponeencontrarnos con alumnos que no tienen los conocimientos informticos msrudimentarios para trabajar con el sistema operativo. Por ello, es preferible al

    principio del curso dedicar unas horas a proporcionar los conocimientosinformticos bsicos que permiten homogeneizar el nivel de conocimientos

    previos de la clase. Segn hemos constatado con la experiencia, al final estetiempo es tiempo ganado.

    Prctica 2: Circuitos combinacionales. Los objetivos son introducir alalumno en el estudio de los circuitos combinacionales y adquirir destreza enel manejo de la herramienta de diseo utilizada en las prcticas. La duracinde esta prctica es de 4 horas.

    Prctica 3:Diseo modular y jerrquico. Los objetivos son aprender lastcnicas de diseo modular y jerrquico, adquirir destreza en la funcionalidadde la herramienta en cuanto a la captura y simulacin de diseos jerrquicos ydisear y simular circuitos combinacionales complejos. La duracin de esta

    prctica es de 8 horas.

    Prctica 4: Retardo de puertas. Los objetivos son introducir el concepto de

    retardo en un circuito, realizar simulaciones de circuitos combinacionales conretardos y determinar la frecuencia de funcionamiento de los circuitos

  • 8/3/2019 Manual Practicas Digitales Excelente

    8/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    9/107

    Acerca de las prcticas de Sistemas Digitales

    vii

    1. Realizar una lectura atenta del guin de la prctica, entendiendo lo que all seexplica. Es fundamental comprender qu hay que hacer en la prctica, ascomo los fundamentos tericos que se incluyen en el apartado de Desarrollode la prctica. Estos contenidos tericos ya se han visto en clases tericas,

    por lo que si no se entendiesen completamente aconsejamos consultar los

    apuntes tomados en clase, consultar un libro de los recomendados para esaparte de la asignatura, o consultar al profesor (o profesores) de la asignaturaen horas de tutora.

    2. Rellenar el autocuestionario antes de empezar la realizacin de la prctica.Este autocuestionario les puede ser solicitado en cualquier momento en ellaboratorio.

    3. Si la prctica requiere la realizacin de un circuito, entonces realizar el diseosobre papel antes de ir al laboratorio.

    4. Acudir cada semana al laboratorio a realizar la prctica correspondiente conel trabajo previo realizado. Las sesiones de laboratorio estn pensadas paraintroducir en la herramienta grfica el diseo que han trado sobre papel y

    para verificar si el diseo es correcto. Caso de no serlo, habr que realizarmodificaciones al diseo original y a continuacin comprobar si el diseo escorrecto. Estaremos modificando y comprobando, sucesivamente, hasta llegara un diseo libre de errores que se comporte tal como se solicita en el guinde la prctica.

    5. A la par con la realizacin de la prctica (paso 4), o al final de ella, perosiempre en el laboratorio, se rellenar el cuestionario de la prctica.

    6. Es conveniente asistir a clases de prcticas en el laboratorio con un disquetepara, en caso de necesidad, poder guardar el trabajo realizado en el disquete.

    Siguiendo esta gua sobre los pasos que hay que dar para realizar una prctica,garantizamos un xito total en la consecucin de los objetivos prcticos de laasignatura de Sistemas Digitales.

    Adems de las seis prcticas propuestas, ste documento contiene un apndice finalllamado Errores ms frecuentes, que contiene una descripcin y una gua de pasosa realizar para solucionar los errores ms frecuentemente cometidos en la realizacinde las prcticas de Sistemas Digitales. Los errores estn relacionados con lautilizacin de la herramienta de diseo que usamos en las prcticas, y estnclasificado en errores generales, errores en el editor de esquemticos y errores en el

    simulador.

  • 8/3/2019 Manual Practicas Digitales Excelente

    10/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    11/107

    1

    1. Prctica 1: Introduccin a las herramientas dediseo

    ndice

    Introduccin 1

    Objetivos 2

    Desarrollo de la prctica 2

    XILINXs Foundation Series Software 2

    Puertas lgicas 3

    Realizacin prctica 3

    Paso 1. Iniciar Xilinx 4

    Paso 2. Inicio de un nuevo proyecto 5

    Paso 3. Captura del diseo utilizando el editor de esquemas 6

    Paso 4. Simulacin funcional del diseo 10

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio) 14

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) 14

    Introduccin

    En trminos muy generales, el proceso de diseo de un sistema digital puededefinirse como la secuencia de pasos que llevan desde el concepto de un productodigital hasta los esquemas de fabricacin que describen cmo hacer dicho producto.Con pequeas variaciones inherentes a las empresas, a los productos y a las personas,los pasos en este proceso de diseo son la especificacin del diseo, el desarrollo deuna biblioteca de componentes bsicos, la sntesis del diseo, el anlisis del diseo,la documentacin y la fabricacin del circuito.

    Los diseadores utilizan normalmente herramientas CAD (Computer Aided Design) para facilitar algunas de las etapas anteriores. Estas herramientas CAD puedendividirse en cinco categoras diferentes segn la forma de usarlas en el proceso dediseo, herramientas para captura y modelado, para sntesis, para verificacin ysimulacin, para ubicacin e interconexionado y para generacin de pruebas.

    Las herramientas de captura y modelado permiten al diseador seleccionar uncomponente de un men, situarlo en la pantalla y conectarlo a otros componentesmediante lneas que representan cables. Este tipo de representacin estructural recibeel nombre de esquemtica y las herramientas que ayudan a esta tarea se denominanherramientas de captura de esquemas. Como alternativa puede utilizarse un lenguaje

    para la descripcin del hardware.

  • 8/3/2019 Manual Practicas Digitales Excelente

    12/107

    Prcticas de Sistemas Digitales

    2

    Las herramientas de sntesis permiten convertir una descripcin de uncomportamiento en una descripcin estructural que contenga componentes de una

    biblioteca concreta, tales como FPGA o CPLD.

    Las herramientas de verificacin y simulacin permiten probar el diseo. A partir deun conjunto de valores de entrada obtenemos un conjunto de valores de salida. Estosvalores sirven al diseador para compararlos con los valores tericos de salidaindicando si existe alguna discrepancia o error en el proceso de diseo.

    Las herramientas de ubicacin e interconexionado permiten optimizar la situacin delos componentes y la posicin de cada cable que conecta los componentes.

    Las herramientas de prueba ayudan a generar el conjunto de patrones de prueba quecomprueba tantas combinaciones de entrada como sea posible.

    En las prcticas de la asignatura Sistemas Digitales usaremos el paquete softwareXilinxs Foundation Series Software que nos permitir realizar muchas de lasfunciones que acabamos de comentar.

    Objetivos

    De manera general, los objetivos de esta primera prctica son los siguientes:

    1. Iniciacin en el uso de un computador.

    2. Estudio de las puertas lgicas.

    3. Familiarizacin con las herramientas de captura de esquemas y simulacinfuncional.

    Como puede observarse, los objetivos son de diferente naturaleza. Por una parte,objetivos ajenos a la propia materia de los sistemas digitales, como son la iniciacinen el uso del computador y del sistema operativo. Por otra parte, los objetivosrelacionados con la materia son el estudio de las puertas lgicas elementales y lafamiliarizacin con dos de las herramientas que posteriormente van a utilizarse en las

    prcticas de la asignatura: la herramienta para la captura de esquemas y laherramienta para la simulacin funcional.

    Desarrollo de la prctica

    Una vez conocidos los objetivos de la prctica, veamos cmo actuamos paraconseguirlos. En primer lugar hemos de proporcionar toda la informacin tericanecesaria para conocer el tema en el que se va a desarrollar la prctica. A

    continuacin veremos cules son los pasos a seguir para realizar la prctica.Como conocimientos tericos, hemos de saber en primer lugar con qu softwarevamos a trabajar. Como hemos mencionado anteriormente, las prcticas de SistemasDigitales las realizaremos con el paquete de desarrollo denominado "XilinxsFoundation Series Software", y lo describiremos a continuacin. Tambin hemos deconocer un poco mejor lo que son las puertas lgicas puesto que trabajaremos conellas en esta prctica.

    XILINXs Foundation Series Software"Xilinxs Foundation Series Software" es un conjunto de herramientas que constituyeun sistema de desarrollo integrado de software y hardware para crear, simular e

  • 8/3/2019 Manual Practicas Digitales Excelente

    13/107

    Prctica 1: Introduccin a las herramientas de diseo

    3

    implementar diseos digitales. Todas las herramientas en este entorno tienen unainterfaz grfica de usuario que facilita el uso de las mismas.

    Este entorno proporciona herramientas para la captura y modelado tanto esquemticacomo mediante lenguaje de descripcin del hardware, para sntesis combinacional ysecuencial, y para la simulacin de circuitos digitales.

    Puertas lgicasLas puertas lgicas son circuitos elementales que realizan operaciones booleanas.Estas operaciones son similares a las conjunciones o e y (en ingls or y and)que usamos en el lenguaje natural, y constituyen el componente bsico en el diseocon puertas lgicas.

    Existen siete puertas lgicas bsicas, que son NOT, AND, OR, NAND, NOR, XOR,y XNOR. La razn de que sean exactamente estas puertas est fundamentada encriterios de frecuencia de uso, ampliacin a ms de dos entradas y sencillez deconstruccin fsica. Cada una de estas puertas puede describirse funcionalmente biencon una ecuacin booleana o bien con una tabla de verdad que relaciona los valoresde las seales de entrada y el valor que toma la salida en funcin de las entradas.

    En el captulo 3 de [Floy97] o en la seccin 3.8 de [Gajs97] se puede encontrar unadescripcin exhaustiva acerca de las puertas lgicas.

    Realizacin prcticaEsta primera prctica es muy simple, as que la especificacin del diseo tambin loes. La prctica consiste en utilizar las herramientas de captura de esquemas ysimulacin funcional que ofrece Xilinx para construir un circuito elemental con una

    puerta lgica y comprobar el funcionamiento del mismo cuando le aplicamos unosciertos valores de entrada.

    El circuito que proponemos consta de una nica puerta NAND de dos entradas. Unapuerta lgica de tipo NAND tiene la representacin esquemtica de la Figura 1-1.

    Figura 1-1 Smbolo de una puerta nand.

    Dadas dos entradas X e Y, la puerta produce una salida cuyo comportamiento es justamente el contrario a la conjuncin y que usamos en el lenguaje natural. Porejemplo, si decimos en lenguaje natural que el perro es negro y carioso, queremosdecir que posee a la vez ambas cualidades. Una puerta AND dara salida Z ciertasolamente cuando se presentasen ambas cualidades a la vez. Una puerta NAND darael resultado contrario, es decir, dara salida cierta cuando alguna de las doscualidades fuese falsa, o cuando lo fuesen ambas a la vez. Esta misma descripcinfuncional de la puerta NAND se puede especificar mediante la Tabla 1-1, tambin

    podra hacerse con una ecuacin.

  • 8/3/2019 Manual Practicas Digitales Excelente

    14/107

    Prcticas de Sistemas Digitales

    4

    X Y Z

    0 0 1

    0 1 1

    1 0 1

    1 1 0

    Tabla 1-1 Tabla de verdad de una puerta nand.

    Introduciremos el esquema de este circuito utilizando Xilinx y luego simularemos elfuncionamiento del circuito conforme van cambiando las entradas. En los prximosapartados de este guin de prcticas describimos los pasos que hay que seguir pararealizar la prctica.

    Paso 1. Iniciar Xilinx

    Para iniciar la herramienta de desarrollo seleccionamos Inicio Programas Xilinx Foundation Series Xilinx Foundation Project Manager. Una alternativa

    para esta secuencia de selecciones es abrir el icono Xilinx Foundation ProjectManager, si el icono est accesible en el escritorio.

    Aparecer la ventana principal del manejador de proyectos, la apariencia de estaventana ser similar a la mostrada en la Figura 1-2. La apariencia exacta de laventana principal del gestor de proyectos depende de cual haya sido el ltimo

    proyecto en el que se ha estado trabajando o de si es la primera vez que el programaes utilizado.

    Figura 1-2 Ventana del gestor de proyectos.

    Dos de los botones que aparecen en la seccin de la derecha, los etiquetados con losnombres Design Entry y Simulation son los que ms utilizaremos en esta

    prctica y en las sucesivas. El primero nos permite acceder a la herramienta grficade captura de diseos y el segundo a la herramienta de simulacin lgica.

  • 8/3/2019 Manual Practicas Digitales Excelente

    15/107

    Prctica 1: Introduccin a las herramientas de diseo

    5

    Paso 2. Inicio de un nuevo proyecto

    Para empezar a trabajar por primera vez en un diseo es necesario indicar quequeremos comenzar un proyecto nuevo. Para ello seleccionamos File NewProject, y entonces se abrir la ventana de inicio de un proyecto nuevo (ver Figura1-3). Esta ventana sirve para especificar en ella el nombre del proyecto, eldirectorio donde guardaremos la informacin sobre este proyecto, el tipo deproyecto y el tipo de captura de esquemas que va a utilizarse. El significado de losotros campos va ms all de los objetivos de esta primera prctica.

    Figura 1-3 Ventana de inicio de un proyecto nuevo.

    As que rellenamos los campos referentes al proyecto que vamos a comenzar, talcomo se muestra en la Figura 1-4. Hemos de elegir un nombre para el nuevo

    proyecto que comienza. El nombre que le demos es eleccin personal de cada uno,aunque es aconsejable que sea un nombre significativo de lo que estamos diseando.En este caso, y puesto que el circuito consta de una nica puerta lgica NAND, ledaremos el nombre NAND. El directorio de trabajo tambin hemos deespecificarlo. En nuestro caso el directorio de trabajo especificado es elC:\XCPROJ\, pero este campo debe ajustarse al directorio de trabajo personal. Encuanto a los otros campos, hemos de elegir la familia XC9500, para esta familia loschips 95108PC84 y entre estos el integrado con velocidad 20 MHz.

    Figura 1-4 Inicializacin del proyecto NAND.

    Finalmente validamos el inicio del proyecto con el botn de OK, con lo quevolvemos a la ventana anterior, la del gestor de proyectos. La apariencia de laventana del gestor de proyectos para el proyecto NAND una vez hemos creado el

    proyecto debe ser similar a la que se muestra en la Figura 1-5.

  • 8/3/2019 Manual Practicas Digitales Excelente

    16/107

    Prcticas de Sistemas Digitales

    6

    Figura 1-5 Ventana del gestor de proyectos una vez inicializada.

    Paso 3. Captura del diseo utilizando el editor de esquemas

    Una vez que hemos creado el proyecto, el siguiente paso es capturar el esquema deldiseo. Esto significa introducir en la herramienta el circuito que hemos diseado.Tenemos dos formas de hacerlo, utilizando una herramienta grfica o utilizando unlenguaje de descripcin del hardware. Esta vez utilizaremos la herramienta grfica

    para captura de esquemas. Para iniciar la herramienta de edicin de esquemasseleccionamos Tool Design Entry Schematic Editor o directamente picamos

    en el botn . Entonces se ejecuta el editor de esquemas que tiene una aparienciacomo la que se muestra en la Figura 1-6.

    Figura 1-6 Ventana del editor grfico de esquemas.

    La ventana de edicin de esquemas permite la colocacin de los smbolos grficos

    que representan a las puertas lgicas y de los smbolos que identifican las entradas ylas salidas del circuito.

  • 8/3/2019 Manual Practicas Digitales Excelente

    17/107

    Prctica 1: Introduccin a las herramientas de diseo

    7

    El editor tiene distintos modos de funcionamiento. En cada uno de ellos permiterealizar un tipo de accin diferente: seleccionar componentes, situar puertas, situarentradas o salidas, situar cables para unir terminales, etc.

    En primer lugar situaremos la puerta NAND, para ello pondremos al editor deesquemas en el modo de situar smbolos, seleccionando Mode Simbols. Otra

    manera de hacerlo es usando el botn . De cualquiera de las dos formas aparecerla ventana de smbolos lgicos, que tiene el aspecto que se muestra en la Figura 1-7.

    Figura 1-7 Ventana de smbolos lgicos.

    Para situar la puerta NAND, movemos la barra de desplazamiento en la ventana deseleccin de smbolos lgicos hasta encontrar la palabra NAND; la lista estordenada alfabticamente. Picamos sobre la palabra NAND2 para seleccionarla yentonces situamos el cursor sobre el rea de dibujo. Veremos el smbolo de la puerta

    NAND moverse junto con el cursor. Simplemente pulsamos sobre el rea de dibujopara situar la puerta NAND. Para cambiar desde cualquier modo al modo seleccin pulsa la tecla Esc (normalmente est situada en la parte superior izquierda delteclado).

    Es necesario aadir ahora entradas y salidas al circuito. Para hacer esto tenemos dosformas, o bien vamos a la parte izquierda de la ventana de edicin de esquemas y

    pulsamos el botn de la barra de herramientas o bien vamos a la parte superior

    de la ventana de smbolos lgicos y pulsamos el botn de la barra deherramientas. Aparecer una ventana de dilogo en la cual hemos de escribir el

    nombre y el tipo de cada terminal. De forma general se denomina terminal a unaentrada o a una salida de una puerta lgica.

    En primer lugar situaremos una entrada que llamaremos X. Tal como se muestraen la Figura 1-8, seleccionamos INPUT para el tipo de terminal, indicndole as quees una entrada, y rellenamos el campo del nombre del terminal con una X. Parasituar el terminal de entrada pulsa en el rea de dibujo. Repetiremos este proceso

    para situar otro terminal de entrada de nombre Y.

  • 8/3/2019 Manual Practicas Digitales Excelente

    18/107

    Prcticas de Sistemas Digitales

    8

    Figura 1-8 Ventana para la entrada X.

    A continuacin situaremos el terminal de salida, tal como se muestra en la Figura

    1-9. Para ello seleccionamos nuevamente el botn , pero en este caso rellenamosel campo del nombre del terminal con Z y seleccionamos un terminal de tipoOUTPUT. El proceso para situar las salidas en el esquema es similar al proceso para

    situar las entradas. La nica diferencia es el tipo de terminal.

    Figura 1-9 Ventana para la salida Z.

    El aspecto del rea de dibujo de la ventana de edicin de esquemas despus de aadirlas seales de entrada y salida ser similar al de la Figura 1-10.

    Figura 1-10 Esquema del circuito tras aadir la puerta NAND y los terminales

    de entrada y salida.

    El siguiente paso es conectar los smbolos entre s. El editor de esquemas est en elmodo de dibujar smbolos, y antes que nada es necesario cambiarlo al modo detrazado de conexiones. Para cambiar el editor a este modo de funcionamiento

    seleccionamos Mode Draw Wires, o bien pulsamos el botn . A continuacinpulsamos en el smbolo de la entrada X y luego en el terminal de entrada superior

  • 8/3/2019 Manual Practicas Digitales Excelente

    19/107

    Prctica 1: Introduccin a las herramientas de diseo

    9

    de la puerta NAND. Esta accin unir ambos terminales. Haremos exactamente lomismo con el terminal de entrada Y y el terminal inferior de la puerta NAND.Finalmente conectaremos el terminal de salida Z a la salida de la puerta NAND. Elesquema est ahora terminado y el aspecto final del diseo ser equivalente al de laFigura 1-11.

    Figura 1-11 Esquema completo del circuito.

    Como hemos terminado la captura del esquema lo ms prudente es que lo guardemosseleccionando File Save antes de seguir adelante. La siguiente operacin arealizar consiste en comprobar si existen errores de conexin. Este es un proceso queconsta de dos pasos, el primer paso crea una representacin intermedia del circuitollamada netlist que describe los tipos de puertas y las conexiones, y el segundo

    paso comprueba los errores usando esta netlist. Para hacerlo seleccionamosprimero Options Create Netlist para crear la netlist y luego seleccionamos

    Options

    Integrity Test para iniciar la comprobacin de errores. La comprobacindebe indicar que no hay errores en el esquema.

    Ahora que hemos terminado el esquema podemos pasar a la siguiente parte de la prctica que consiste en simular el funcionamiento del circuito diseado. Para ellohemos de usar una parte diferente del Xilinx, as que tenemos que exportar el diseo.Esto es necesario porque las distintas parte del Xilinx se comunican a travs de lasnetlist, que son la forma interna de especificar el diseo. La netlist se genera a partirdel esquema y contiene informacin que otros programas son capaces de entender.

    Para exportar la netlist primero seleccionamos Options Export Netlist. Con estoaparecer la ventana para la exportacin de netlist que se muestra en la Figura 1-12.

    En esta ventana seleccionamos el formato en que vamos a especificar la netlist, deentre la lista de formatos existentes. En este caso seleccionamos Edif 200[*.EDN]de la lista de formatos, y pulsamos el botn Abrir. Con ello se crear un fichero connombre nand.alb que es una representacin de la netlist en el formato EDIF 200.Este archivo es el que utilizaremos como entrada a otros mdulos.

  • 8/3/2019 Manual Practicas Digitales Excelente

    20/107

    Prcticas de Sistemas Digitales

    10

    Figura 1-12 Ventana para exportar una netlist en formato EDIF 200.

    Ya hemos terminado todo el trabajo a realizar en el editor de esquemas, por lo queregresaremos al gestor de proyectos seleccionando File Exit. Hasta ahora hemoscreado un esquema de un circuito, pero no hemos especificado todava que eseesquema forma parte del proyecto actual. Para especificarlo seleccionamosDocument Add, con lo que aparece la ventana de la Figura 1-13. Pulsamosentonces sobre el fichero nand.sch y luego en el botn Abrir.

    Figura 1-13 Ventana para aadir un fichero de esquema al gestor de proyectos.

    Paso 4. Simulacin funcional del diseo

    Una vez finalizada la captura del esquemtico pasamos al proceso de simulacin. Lasimulacin del circuito sirve para comprobar el funcionamiento del mismo.

    Para iniciar el simulador picamos directamente en el botn simulation en laventana del gestor de proyectos. Aparece entonces la ventana de simulacin lgicafuncional y una ventana vaca de visualizacin de seales, tal como se muestra en laFigura 1-14.

  • 8/3/2019 Manual Practicas Digitales Excelente

    21/107

    Prctica 1: Introduccin a las herramientas de diseo

    11

    Simular un circuito consiste en aplicar valores a las entradas del circuito y visualizarqu valor toma la salida. Para ellos tenemos que poder ver de alguna manera las

    entradas del circuito (y poder cambiarles su valor) y tambin la salida.Lo primero que hacemos es aadir las entradas y salidas de nuestro circuito a laventana de visualizacin de seales para poder ver qu va ocurriendo en el circuito.Para hacer esto seleccionamos Signal Add Signals. Entonces aparecer la ventanaque permite elegir las entradas a visualizar, tal como muestra la Figura 1-15.Pinchamos la entrada X y luego pulsamos el botn Add, y repetimos estos dos pasos

    para la entrada Y y la salida Z. Las seales que ya han sido puestas en la ventana devisualizacin de seales aparecen marcadas en la ventana para aadir seales. Hemosterminado de aadir terminales as que pulsamos en el botn Close para cerrar estaventana.

    Figura 1-15 Aadiendo seales a la ventana de visualizacin.

    Ahora las tres seales X, Y y Z pueden verse en la ventana de visualizacin deseales, aunque todava no ocurre nada con ellas.

    Para realizar la simulacin aplicamos estmulos a las seales de entrada. Para aadirun estmulo seleccionamos Signal Add Stimulators y aparecer la ventana deseleccin de estmulos de la Figura 1-16. En esta ventana existen varios botones.

    Nosotros slo usaremos por ahora el contador binario de 16 bits etiquetado BC.

    Durante una simulacin, los 2 bits menos significativos (los que estn situados ms ala derecha) de este contador siguen de manera cclica la secuencia 00, 01, 10 y 11.

    Figura 1-14 Ventanas del simulador lgico funcional y visualizacin de seal.

  • 8/3/2019 Manual Practicas Digitales Excelente

    22/107

    Prcticas de Sistemas Digitales

    12

    Estas son todas las combinaciones que se pueden producir en las entradas de lapuerta NAND: que las dos entradas estn a 0, que las dos estn a 1, o que slo una delas dos est a 1. Bastar entonces con asignar cada uno de estos bits a cada una de lasentradas del circuito.

    Figura 1-16 Ventana de seleccin de estmulos.

    Asociaremos a la entrada X de nuestro circuito el estmulo correspondiente al bit 0

    del contador binario, para ello pulsamos en la entrada X para seleccionarla y luego enel botn circular de color amarillo correspondiente al bit 0. Repetimos este paso conla entrada Y y el bit 1 del contador. El nombre del estmulo asociado a cada entradaaparece a la derecha del nombre de la entrada. Una vez hecho esto, cerramos laventana de seleccin de estmulos pulsando el botn Close.

    Antes de comenzar la simulacin tenemos que fijar los parmetros de simulacin.Existen varios parmetros. De entre todos ellos los ms significativos son el perododel contador (que fija la velocidad a la que van cambiando las seales de entrada) yla precisin de la simulacin. Seleccionamos Options Preferences y fijamos losvalores de los campos de acuerdo con los valores mostrados en la Figura 1-17. Los

    valores diferentes a los mostrados por defecto son el perodo del contador, B0Period, que lo pondremos a 20 ns, y la desactivacin de la opcin TransportDelay. Esto ltimo se hace para indicar al simulador que estamos realizando unasimulacin lgica y que no tenga en cuenta los detalles de implementacin fsica delcircuito. Pulsamos entonces en el botn de OKpara hacer efectivos estos parmetrosde simulacin.

    Figura 1-17 Ventana para fijar los parmetros de simulacin.

    Para comenzar la simulacin pulsamos en el botn . Despus de varios segundos,el resultado de la simulacin aparece en la ventana de visualizacin de seales, talcomo se muestra en la Figura 1-18. Es posible que el resultado no se veacorrectamente y que se tenga que aumentar o disminuir el factor de escala de

  • 8/3/2019 Manual Practicas Digitales Excelente

    23/107

    Prctica 1: Introduccin a las herramientas de diseo

    13

    visualizacin, usando los botones y . A pesar de que se vea bien, usen estosbotones y vean qu efecto producen en la ventana de visualizacin de seales.

    Figura 1-18 Resultado de la simulacin

    En esta ventana vemos las seales de entrada del circuito dibujadas en negro, y laseal de salida dibujada en azul. Vemos la entrada X asociada al bit 0 (B0) delcontador y la entrada Y asociada al bit 1 (B1) del contador. El valor 0 en la entradase representa con la lnea de entrada por debajo de la lnea punteada. El valor 1 serepresenta con la lnea de entrada por encima de la lnea punteada. Esto se muestrade esta manera porque es as como ocurre en la implementacin fsica del circuito.Los circuitos digitales funcionan con tensin elctrica en las entradas, de forma quelos valores 0 y 1 indican la ausencia o presencia de tensin elctrica en la entrada. Un0 indica que no hay voltaje (por ejemplo, 0 voltios), y un 1 indica que hay voltaje

    (por ejemplo, 5 voltios).La simulacin comienza en tiempo 0 ns. En ese instante las dos entradas tienen valor0, y la salida tiene valor 1. Luego cambia la entrada X a valor 1 y la salida siguesiendo 1. A continuacin cambian ambas entradas y la salida sigue siendo 1. Porltimo, cuando ambas entradas valen 1 la salida pasa a ser 0. Esto define un ciclocompleto. A continuacin vuelven a repetirse cclicamente los valores de lasentradas, con lo cual la salida vuelve a tomar tambin cclicamente los mismosvalores.

    Finalmente guardamos el resultado de la simulacin seleccionando File SaveSimulation State y tras guardar la simulacin en el archivo nand.des, hemos

    terminado la prctica por lo que abandonamos el programa de simulacinseleccionando File Exit, y salimos tambin del gestor de proyectos seleccionandoFile Exit.

  • 8/3/2019 Manual Practicas Digitales Excelente

    24/107

    Prcticas de Sistemas Digitales

    14

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)

    1. Qu objetivo te parece el ms importante de la prctica?

    2. Qu es una puerta lgica?

    3. Dibuja el smbolo grfico correspondiente a la puerta lgica NANDsuponiendo que tiene dos entradas.

    4. Qu circuito vamos a disear en esta prctica? Cul es su tabla de verdad?

    5. Qu significa capturar el esquema del diseo?

    6. Para qu sirve simular el comportamiento del circuito?

    Cuestionario de laboratorio (a rellenar durante la sesin delaboratorio)

    1. Cmo se comprueba si un diseo esquemtico tiene errores?

    2. Qu es una netlist?

    3. Cul es el resultado final del diseo esquemtico?

    4. Cmo se aaden las terminales de entrada y salida a la simulacin?

    5. Cmo se conectan estmulos a los terminales de entrada?

    6. Tiene sentido conectar un estmulo a un terminal de salida? Por qu?

    7. Cules son los parmetros ms significativos en la simulacin y para qu seutilizan?

  • 8/3/2019 Manual Practicas Digitales Excelente

    25/107

    15

    2. Prctica 2: Circuitos combinacionales

    ndice

    Introduccin 15

    Objetivos 15

    Desarrollo de la prctica 16

    Sumador binario de un bit 16

    Realizacin prctica 17

    Realizacin de un sumador binario de un bit 17

    Realizacin de un sumador binario de 2 bits 20

    Realizacin de un sumador binario de 8 bits 25

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio) 29

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) 29

    Introduccin

    Los circuitos combinacionales son aquellos circuitos digitales en los cuales los

    valores de la salida en un instante cualquiera nicamente dependen de los valores delas entradas en ese instante, sin importar cuales han sido las entradas en los instantesde tiempos anteriores.

    En esta segunda prctica capturaremos mediante el editor de esquemas la estructurade un circuito digital combinacional sencillo y simularemos su comportamiento. A

    posteriori, lo extenderemos aumentando su complejidad.

    Objetivos

    De manera general, los objetivos de esta segunda prctica son los siguientes:

    1. Estudio de los circuitos combinacionales.

    2. Adquisicin de destreza en la captura de diseos esquemticos complejos.

    3. Profundizacin en las posibilidades avanzadas de las herramientas de diseo.

    4. Manejo de vectores de prueba complejos.

    5. Ilustrar la necesidad del diseo jerrquico y de otras tcnicas de captura deesquemas.

    En esta prctica comenzaremos realizando la captura y simulacin de un circuitocombinacional correspondiente a un sumador binario de 1 bit. Este esquema loverificaremos mediante la herramienta de simulacin. En un segundo paso

    extenderemos el sumador binario de un nico bit para que sea posible la suma denmeros de dos bits, y finalmente extenderemos el sumador a 8 bits. Este circuito

  • 8/3/2019 Manual Practicas Digitales Excelente

    26/107

    Prcticas de Sistemas Digitales

    16

    final usar aproximadamente 100 puertas lgicas y 150 conexiones, requiriendo delalumno destreza a la hora de la captura del esquema.

    Por otra parte un sumador binario de 8 bits tiene 16 entradas y 9 salidas, dando untotal de 25 seales a visualizar. Para facilitar su visualizacin es necesario ahondaren las posibilidades de representacin que ofrece la herramienta.

    Tambin puesto que para la suma de dos nmeros binarios de 8 bits existen en total65536 posibilidades diferentes en las entradas, tambin notaremos la necesidad deutilizar estrategias para asignar los estmulos a las seales de entrada, ms all de lasimple asignacin de entradas a estmulos mostrada en la prctica anterior.

    Finalmente veremos lo inadecuado de utilizar este mtodo de diseo si queremosescalar el sumador hasta 64 bits. A pesar de que el escalado del circuito es muy fcilde manera conceptual, usar la simple replicacin nos lleva a una forma de trabajarmuy engorrosa por el tedio que supone trabajar con circuitos muy voluminosos. Conello introduciremos la necesidad del diseo jerrquico y de otras herramientas decaptura.

    Desarrollo de la prctica

    Sumador binario de un bitEl diseo a realizar en esta prctica es el circuito combinacional correspondiente a unsumador completo de un bit y su expansin a 2 y 8 bits.

    Un sumador binario de un bit es un circuito combinacional con tres entradas y dossalidas. Los nombres de las tres entradas son: INPUT0 e INPUT1, que correspondena los bits a sumar, y CARRY_INPUT, que es el bit de acarreo. Los nombres de las

    salidas son SUM y CARRY_OUTPUT, siendo SUM el resultado de la suma binariay CARRY_OUPUT el acarreo de salida.

    Entradas del circuito Salidas del circuito

    INPUT0 INPUT1 CARRY_INPUT SUM CARRY_OUTPUT

    0 0 0 0 0

    0 0 1 1 0

    0 1 0 1 0

    0 1 1 0 1

    1 0 0 1 01 0 1 0 1

    1 1 0 0 1

    1 1 1 1

    Tabla 2-1 Tabla de verdad correspondiente a un sumador binario de un 1 bit.

    El funcionamiento de este circuito puede describirse usando una tabla de verdad. Unatabla de verdad es una representacin tabular de las entradas y las salidas del circuito,en la cual cada fila de la tabla posee una de las posibles combinaciones de entrada

    del circuito y el valor de las salidas correspondiente a esas entradas. La Tabla 2-1 esla tabla de verdad para el circuito sumador binario. En ella se ve, por ejemplo, que

  • 8/3/2019 Manual Practicas Digitales Excelente

    27/107

    Prctica 2: Circuitos combinacionales

    17

    para la combinacin de entrada correspondiente a INPUT0 = 1, INPUT1 = 0,CARRY_INPUT = 1, la combinacin de salida es SUM = 0 y CARRY_OUPUT = 1.

    Mediante tcnicas basadas en el lgebra de Boole es posible obtener unarepresentacin equivalente del comportamiento del circuito mediante ecuacionesalgebraicas que relacionan las salidas del circuito con sus entradas. En el caso de unsumador binario de un bit estas ecuaciones son las siguientes:

    INPUTCARRYINPUTINPUTSUM _10 =

    )10(*_10_ INPUTINPUTINPUTCARRYINPUTINPUTOUTCARRY +=

    En las ecuaciones anteriores los smbolos matemticos , * y + correspondenrespectivamente a las operaciones lgicas de XOR, AND y OR, que como vimos enla primera prctica son algunas de las funciones lgicas bsicas (puertas lgicas), yque tienen asociadas unos smbolos grficos que posibilitan la representacinesquemtica de las ecuaciones anteriores. As, a las ecuaciones anteriores lescorresponde el esquema de la Figura 2-1.

    Figura 2-1 Representacin esquemtica de un sumador binario de 1 bit.

    Realizacin prcticaLlegados a este punto es de vital importancia recordar lo aprendido en la prcticaanterior, ya que los primeros pasos a realizar (para iniciar la herramienta, crear el

    proyecto, capturar el esquema, ) son los que vimos all. Dado que no es precisomemorizar cada detalle, es un buen consejo tener a mano el guin de la primera

    prctica.

    La realizacin prctica consta de tres pasos, en el primero realizaremos un sumadorbinario de un bit y simularemos su comportamiento. En el segundo realizaremos unsumador binario de dos bits y en el tercero un sumador binario de ocho bits.

    Realizacin de un sumador binario de un bit

    Primero, creamos un proyecto cuyo nombre sea ADD1_95, rellenando los campospara la creacin de un nuevo proyecto tal y como se muestra en la Figura 2-2. En elcampo directorio debes hacer referencia a tu directorio personal de trabajo.

  • 8/3/2019 Manual Practicas Digitales Excelente

    28/107

    Prcticas de Sistemas Digitales

    18

    Figura 2-2 Iniciacin del proyecto de un sumador binario de 1 bit.

    A continuacin iniciamos la herramienta grfica para la captura de esquemticos ycapturamos el diseo de la Figura 2-3. Este esquema no es igual que el esquema de laFigura 2-1, pero la funcionalidad es exactamente la misma.

    Figura 2-3 Esquema para el sumador binario de un bit.

    Cabe resaltar que en este esquema hay dos smbolos que no corresponden a puertaslgicas, cuyos nombres son IBUF y OBUF, y que estn situados a continuacin delos terminales de entrada y antes de los terminales de salida. Estos smboloscorresponden a buffers de entrada y salida e indican a la herramienta que las sealesconectados a ellos correspondern con entradas y salidas de un chip FPGA.

    Guardamos el esquema con el nombre ADD1.SCH. Para ello utilizamos la opcinFileSave As y rellenamos los campos de la ventana con los valores indicados en laFigura 2-4. Finalmente picamos en el botn Aceptar.

  • 8/3/2019 Manual Practicas Digitales Excelente

    29/107

    Prctica 2: Circuitos combinacionales

    19

    Figura 2-4 Ventana para guardar el esquema con otro nombre.

    Una vez que hemos finalizado el esquema generamos una netlist usando la opcinOptionsCreate Netlist... y la exportamos en el formato EDIF 200 usando laopcin del men principal OptionsExport Netlist... Antes de exportar la netlist

    podemos comprobar que todo es correcto seleccionando OptionsIntegrity Test.

    Finalmente abandonamos el editor de esquemas con FileExit.Ahora debemos comprobar que el sumador funciona correctamente. Picamos en el

    botn , en la ventana del gestor de proyectos para iniciar el simulador. Una vezen l, usamos SignalAdd Signals... para aadir las entradas y salidas en la ventanade visualizacin de seales. Luego, seleccionando SignalAdd Stimulators...conectamos las entradas a los tres bits inferiores del contador binario (Bc0, Bc1,

    Bc2). Finalmente, picamos en el botn en la barra de herramientas del simuladorlgico y aparecern las seales de entrada y salida de una manera similar a lamostrada en la Figura 2-5. Usamos los botones y as como los

    desplazadores horizontales y verticales en la ventana de visualizacin de seales paraobtener una buena imagen de las seales.

    Figura 2-5 Simulacin del sumador binario de un bit.

    Ahora hemos de comprobar que el resultado de la simulacin coincide con el delsumador binario de un bit, usando para ello la tabla de verdad de la Tabla 1. Si no esas, revisamos el diseo esquemtico en busca del error y volvemos a realizar lasimulacin. Cuando el resultado de la simulacin sea correcto guardamos el estado

    de la simulacin seleccionando FileSave Simulation State y cerramos laherramienta de simulacin con FileExit.

  • 8/3/2019 Manual Practicas Digitales Excelente

    30/107

    Prcticas de Sistemas Digitales

    20

    Realizacin de un sumador binario de 2 bits

    Llegados a este punto vamos a construir un sumador binario de dos bits.Tericamente a partir de un sumador binario de un bit es posible construir unsumador binario de dos bits nicamente encadenando dos de ellos. Encadenarsignifica conectar las salida CARRY_OUPUT del sumador binario del bit menossignificativo a la entrada CARRY_INPUT del segundo sumador.

    Comenzamos este segundo paso creando un proyecto de las misma caractersticasque el ADD1_95, pero con nombre ADD2_95. Una vez creado vamos a aprovecharel diseo esquemtico anterior y as evitaremos una nueva captura desde el principiodel diseo. Seleccionamos DocumentAdd... y buscamos el fichero esquemticoanterior en el proyecto ADD1_95, tal como se muestra en la Figura 2-6.

    Figura 2-6 Ventana para aadir el esquema add1.SCH del proyecto Add1_95 al

    proyecto Add2_95.

    Iniciamos el editor de esquemas, usando el botn , o bien en la ventana principaldel gestor de proyectos, seleccionando ToolsDesign Entry Schematic Editor.Para mayor claridad guardamos el esquema con el nombre ADD2.SCH indicandocon este nombre que el esquema corresponde a un sumador de dos bits. Para elloseleccionamos File->Save As... y en el campo del nombre del archivo escribimosADD2.SCH.

    Un sumador binario de dos bits tiene la misma estructura que un sumador binario deun bit, replicada dos veces.

    Para copiar esta estructura colocamos primero el editor de esquemticos en el modo

    de seleccin, con la opcin del men principal ModeSelect and Drag.Seleccionamos entonces todo el diseo. Marcamos un recuadro con el ratnalrededor del esquema, picando primero con el botn izquierdo en la esquinasuperior izquierda de un rea imaginaria que vaya a contener todo el dibujo ymoviendo el ratn hasta la esquina inferior derecha de esa rea. Si lo hemos hecho

    bien tendremos que ver todos los componentes del esquema seleccionados en colorrojo. A continuacin copiamos en el portapapeles el esquema usando en la barra delmen principal la opcin EditCopy y luego lo recuperamos del portapapeles conla opcin EditPaste. Aparecer entonces un recuadro que contiene todo el diseoen su interior, tal y como se muestra en la Figura 2-7. Movemos el recuadro debajode los componentes que ya tenemos situados, de manera que no se solapen entre s, ylo situamos definitivamente picando con el botn izquierdo. Si lo hemos hecho mal,

  • 8/3/2019 Manual Practicas Digitales Excelente

    31/107

    Prctica 2: Circuitos combinacionales

    21

    todava tenemos una oportunidad de deshacer los cambios seleccionando en el menEditUndo.

    Figura 2-7 Editor de esquemas tras la operacin de pegado.

    Hemos de fijarnos en que los dos bloques de diseo son exactamente iguales. Tantoes as que hasta los nombres de las entradas y las salidas son iguales. Obviamente,los nombres de las salidas no deben coincidir si corresponden a diferentes salidas.Por ello procederemos a renombrar todas las entradas y las salidas. Para el bloquesumador del bit menos significativo utilizaremos para las entradas los nombres X0,Y0 y CI0, y para las salidas los nombres S0, CO0. La manera de cambiar el nombreasociado a un terminal es picar dos veces rpidamente sobre el terminal. Entonces laherramienta abrir el cuadro de dilogo correspondiente al terminal, segn muestra laFigura 2-8, y en el campo correspondiente al tipo de terminal escribiremos el nuevonombre del terminal.

    Figura 2-8 Ventana para cambiar el nombre a los terminales de entrada y

    salida.

    Cambiamos el nombre de los terminales para el bloque sumador correspondiente alsegundo bit, pasando a llamarse ahora X1, Y1, CI1, S1 y CO1. El resultado final detodo este cambio de nombres es un esquema equivalente al de la Figura 2-9.

  • 8/3/2019 Manual Practicas Digitales Excelente

    32/107

    Prcticas de Sistemas Digitales

    22

    Figura 2-9 Esquema tras haber cambiado los nombres de los terminales

    Algunos terminales en el esquema del sumador binario de dos bits son diferentes alos terminales en el sumador binario de un bit. En concreto tenemos que realizar unencadenamiento de los acarreos entre las etapas, es decir, tenemos que unir la sealCO0 con CI1, y estas seales quedarn como seales internas al diseo. Esto quieredecir que desde un punto de vista externo carecen de significado. Por ello, hemos de

    eliminarlos. Para borrar cualquier componente primero lo seleccionamos con el ratn picando con el botn izquierdo y luego pulsamos la tecla Suprimir. Hacemos esteproceso para borrar el OBUF asociado al terminal CO0, el propio terminal CO0, elIBUF asociado al terminal CI1 y el terminal CI1.

    Conectamos entonces la salida y la entrada de las puertas lgicas donde antes estabanconectados los terminales CO0 y CI1. El esquema final debe ser equivalente al de laFigura 2-10.

  • 8/3/2019 Manual Practicas Digitales Excelente

    33/107

    Prctica 2: Circuitos combinacionales

    23

    Figura 2-10 Esquema final del sumador binario de dos bits.

    Creamos ahora una netlist usando OptionsCreate Netlist... y la exportamos en elformato EDIF 200 usando la opcin del men principal OptionsExport Netlist...Antes de exportar la netlist comprobamos que todo es correcto conOptionsIntegrity Test. Finalmente abandonamos el editor de esquemas conFileExit.

    Ahora debemos comprobar que el sumador funciona correctamente. Picamos en el

    botn de la ventana del gestor de proyectos para iniciar el simulador. Una vezen l, usamos SignalAdd Signals... para aadir las entradas y salidas en la ventanade visualizacin de seales. Aadimos las seales a visualizar en el siguiente orden:en primer lugar CI0, despus las correspondientes al nmero X (el nmero formadoal concatenar las seales X1 y X0), luego las correspondientes al nmero Y (elnmero formado al concatenar las seales Y1 e Y0), y finalmente el acarreo de salidaCO1.

    Luego, con SignalAdd Stimulators... conectamos CI0 al estmulo 0. Slo

    tenemos que pulsar el botn cero en la ventana para aadir estmulos. Asociamos X0,X1, Y0 e Y1 respectivamente con las entradas a los cuatro bits inferiores delcontador binario (Bc0, Bc1, Bc2 y Bc3). Finalmente, picamos al menos dos veces en

    el botn de la barra de herramientas del simulador lgico y aparecern las sealesde entrada y salida de una manera similar a la Figura 2-11. Usando los botones y

    , as como los desplazadores horizontales y verticales en la ventana devisualizacin de seales obtendremos una buena imagen de las seales.

  • 8/3/2019 Manual Practicas Digitales Excelente

    34/107

    Prcticas de Sistemas Digitales

    24

    Figura 2-11 Resultado de la simulacin del sumador binario de dos bits.

    La comprobacin de que la captura del esquemtico ha sido correcta en este caso noes sencilla, ya que no tenemos una tabla de verdad para l que nos permita hacerlo deforma fcil. Tendramos que obtener una tabla de verdad con cuatro entradas, y paracada una de esas posibles 16 combinaciones de entrada comprobar si sus salidas sonlas adecuadas. Por supuesto que este forma de verificacin es inviable si lossumadores son de ocho bits, ya que implicara 256x256 combinaciones de entradadiferentes. Para resolver estas dificultades la herramienta permite agrupar las seales.Una agrupacin de seales recibe el nombre de BUS.

    Vamos a organizar las seales en buses, uno para la seal de entrada X, otro para laentrada Y y un tercero para la salida. Seleccionamos X0, y despus, picando con elratn sobre el nombre de la seal X1, a la vez que mantienes pulsada la tecla shift (latecla para escribir con letras maysculas) ambas seales, la X0 y X1, deben aparecerseleccionadas con una franja azul. En el men principal de la herramienta de

    simulacin seleccionamos la opcin SignalBusCombine y ya hemos agrupadolas seales X0 y X1 en un bus. Repetimos este proceso para formar otros buses conlas otras entradas Y0 e Y1 y con las seales de salida S0, S1 y CO1, ver la Figura2-12.

    Figura 2-12 Ventana de visualizacin de las seales tras definir los buses para

    las entradas y las salidas.

    Es posible cambiar el nombre de los buses simplemente seleccionando el nombre del bus al cual queremos cambiar el nombre. Luego seleccionamos SignalBusBusName... y escribimos el nuevo nombre. Tambin es posible cambiar el formato de

    representacin de los valores en los buses a binario, octal, decimal o hexadecimal.Para cambiar un valor, por ejemplo a binario, primero seleccionamos el bus y luego

  • 8/3/2019 Manual Practicas Digitales Excelente

    35/107

    Prctica 2: Circuitos combinacionales

    25

    usamos la opcin SignalBusBinary. En la Figura 2-13 se muestra el resultadode cambiar los nombres a los buses y mostrar el valor en cada instante de simulacinen binario.

    Figura 2-13 Visualizacin de las seales organizadas en buses y representadas

    en binario.

    Una vez hemos llegado hasta aqu comprobamos que el resultado de la simulacincoincide con lo esperado de un sumador binario de 2 bits. Si no es as, revisamos eldiseo esquemtico en busca del error y volvemos a realizar la simulacin. Cuandoel resultado de la simulacin sea el correcto guardamos el estado de la simulacincon FileSave Simulation State y cerramos la herramienta de simulacin conFileExit.

    Realizacin de un sumador binario de 8 bits

    Ahora vamos a capturar el esquema de un sumador binario de ocho bits y

    posteriormente lo vamos a simular. Los pasos son similares a los dados en losdiseos de los sumadores de un bit y de dos bits.

    Creamos un proyecto con nombre ADD8_95 con las mismas caractersticas de losanteriores. Aadimos el esquema ADD2.SCH al proyecto. Iniciamos el editor deesquemtico y en primer lugar guardamos el nuevo diseo con el nombreADD8.SCH. Seleccionamos todos los componentes del esquema y los copiamos enel portapapeles, los recuperamos y los situamos para obtener los bloques necesarios

    para un sumador binario de 4 bits. Repetimos estos pasos para conseguir los bloquesde 6 y 8 bits, tal como muestra la Figura 2-14.

  • 8/3/2019 Manual Practicas Digitales Excelente

    36/107

    Prcticas de Sistemas Digitales

    26

    Figura 2-14 Ejemplo de situacin de los sumadores de 2 bits para disear un

    sumador de 8 bits.

    Renombramos cada uno de los terminales de entrada con los nombres X0..X7,Y0..Y7, el terminal de salida tambin lo renombramos con S0..S7 y al acarreo de laltima etapa CO7. Borramos los terminales y los buffers asociados con los acarreosintermedios y propagamos el acarreo entre los diferentes bloques. El esquema sersimilar al mostrado en la Figura 2-15. En este esquema el orden entre los bloquesviene dado por la numeracin de arriba abajo y luego de izquierda a derecha.Creamos la netlist y la exportamos con formato EDIF200.

  • 8/3/2019 Manual Practicas Digitales Excelente

    37/107

    Prctica 2: Circuitos combinacionales

    27

    Figura 2-15 Esquema final del sumador binario de 8 bits.

    A continuacin iniciamos el simulador. Aadimos las seales por este orden, CI0,X0...X7, Y0...Y7, S0..S7 y CO7. Asociamos el estmulo 0 con CI0, X0 con Bc0, X1con Bc1, y as sucesivamente hasta X7 con Bc7. Tambin asociamos Y0 con Bc8,Y1 con Bc9,, y finalmente Y7 con BcF. Agrupamos las seales X0 ...X7 paraformar el bus X, las seales Y0...Y7 para formar el bus Y, y las seales S0...S7 yCO7 para formar el bus SUM. Cambiamos el modo de visualizacin de los buses adecimal.

    Para visualizar los resultados de esta simulacin tenemos que realizar una simulacinde bastante tiempo, pues hemos de dar tiempo a que se presenten todascombinaciones en las entradas. Para ello seleccionamos en el men OptionsStartLong Simulation. En la ventana de dilogo seleccionamos un minuto, tal comomuestra la Figura 2-16; este es el tiempo que el simulador estar calculando valores,no el tiempo de simulacin. El resultado de la simulacin debe ser similar almostrado en la Figura 2-17.

    Figura 2-16 Ventana para fijar el tiempo de simulacin.

    Si el resultado es correcto, guardamos los resultados, pero si no es as habr quecomprobar el diseo y volver a realizar la simulacin.

  • 8/3/2019 Manual Practicas Digitales Excelente

    38/107

    Prcticas de Sistemas Digitales

    28

    Figura 2-17 Resultado de la simulacin del sumador binario de 8 bits.

  • 8/3/2019 Manual Practicas Digitales Excelente

    39/107

    Prctica 2: Circuitos combinacionales

    29

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio)

    1. Cul es la tabla de verdad de un sumador binario de dos bits?

    2. Qu significa encadenar los sumadores binarios de un bit para construirsumadores de ms bits?

    3. Por qu no es interesante desde el punto de vista de la simulacin visualizarlos acarreos intermedios?

    4. Qu es el tiempo de simulacin?

    5. Cmo influir el periodo de la seal Bc0 del contador binario con el tiempode simulacin?

    6. Qu es un bus?

    7. Por qu el valor de CI0 es 0 en todas las simulaciones excepto en la delsumador binario de un bit?

    8. Por qu no hemos fijado el valor de CO7?9. Cul es la tcnica descrita en el guin de la prctica para reutilizar los

    diseos?

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio)

    1. Cuntos periodos de la seal Bc0 son necesarios para comprobar todos losposibles valores de las entradas en el sumador binario de 8 bits?

    2. Por qu incluimos el bit de acarreo de salida como un bit ms en el bus desalida? Qu ocurrira si no lo incluysemos?

    3. Cul ha sido la caracterstica de visualizacin que nos ha permitido trabajarcon las 18 seales del sumador binario de 8 bits?

    4. Crees que utilizando las mismas tcnicas podramos construir sumadores de16, 32, 64 bits o incluso de ms bits?

    5. Qu modificacin deberamos aadir al sumador binario de 8 bits para quefuera un sumador en complemento a dos?

    6. Por qu ha sido necesario hacer simulaciones fijando el tiempo que elsimulador estar calculando valores?

  • 8/3/2019 Manual Practicas Digitales Excelente

    40/107

  • 8/3/2019 Manual Practicas Digitales Excelente

    41/107

    31

    3. Prctica 3:Diseo modular y jerrquico

    ndice

    Introduccin 31

    Objetivos 33

    Desarrollo de la prctica 33

    ALU de 4 bits 34

    Realizacin prctica 37

    Realizacin de un mdulo sumador de 1 bit 37

    Realizacin del ampliador aritmtico de 1 bit 39

    Realizacin del ampliador lgico de 1 bit 41

    Realizacin de la ALU de 4 bits 42

    Simulacin de la ALU de 4 bits 45

    Realizacin de la ALU de 32 bits 48

    Anexo 49

    Autocuestionario (a rellenar ANTES de la sesin de laboratorio) 52

    Cuestionario de laboratorio (a rellenar durante la sesin de laboratorio) 52

    Introduccin

    El diseo de determinados circuitos digitales por mtodos puramente formales, talescomo la especificacin de su funcionamiento mediante una tabla de verdad y su

    posterior simplificacin empieza a ser inviable a medida que aumenta el nmero deentradas del circuito. Por ejemplo, la especificacin de la tabla de verdad para unsumador binario de 8 bits implicara especificar, para cada una de las 2 8 x 28 = 65536combinaciones de entrada, los correspondientes valores de las salidas, lo cual hace

    impracticable la construccin de dicha tabla de verdad.La solucin para la construccin de tales circuitos est en la capacidad humana dedescomponer un problema en problemas ms simples y luego combinar lassoluciones de los problemas ms simples para obtener la solucin del problemaoriginal.

    Para abordar el diseo del circuito sumador binario de 8 bits, la solucin fueconsiderarlo como cuatro sumadores de dos bits y estos a su vez formados porsumadores de un bit. El resultado es un diseo jerrquico por niveles, tal y como semuestra en la Figura 3-1.

  • 8/3/2019 Manual Practicas Digitales Excelente

    42/107

    Prcticas de Sistemas Digitales

    32

    Figura 3-1 Diseo jerrquico de un sumador binario de 8 bits.

    En el nivel ms bajo en complejidad de la jerarqua est el diseo con puertas lgicaspara construir el sumador binario de un bit. En el nivel ms alto est el sumadorbinario de 8 bits. Este proceso podra continuar hasta construir un mdulo sumadorde 32 64 bits que pudiera utilizarse en el diseo de un procesador. Intentar capturarel diseo de un sumador de 32 64 bits mediante las tcnicas de copiar y pegardescritas en la prctica anterior, nos conducira a un diseo con un nmero masivo de

    puertas lgicas y conexiones, en el cual la probabilidad de cometer un error seramuy alta.

    Para prevenir errores sera de gran ayuda poder ocultar los detalles deimplementacin, definiendo mdulos funcionales de los diseos ya capturados y

    comprobados. Los mdulos funcionales pasaran a ser componentes de la bibliotecade smbolos de diseo, que podramos utilizar de manera similar a las puertaslgicas, pero con una funcionalidad mucho mayor. Posteriormente, podramos definirnuevos mdulos con los ya construidos, dando lugar a un diseo jerrquico.

    Esta metodologa de diseo tiene como principales ventajas:

    1. Facilita la reutilizacin del diseo. Un mdulo bien diseado puede utilizarseen muchos proyectos con el consiguiente ahorro de trabajo.

    2. Ocultacin de informacin. Encapsular un diseo en un mdulo, ocultando aldiseador los detalles de implementacin, facilita el manejo del mismo.nicamente es necesario conocer la relacin entre las entradas y salidas del

    circuito.

  • 8/3/2019 Manual Practicas Digitales Excelente

    43/107

    Prctica 3:Diseo modular y jerrquico

    33

    3. Copia. Construir un circuito copiando muchas veces un mdulo funcional quenicamente muestra informacin de las entradas y salidas es mucho ms fcilque replicar otro que contiene todos los detalles acerca de las puertas y lasconexiones que lo implementan.

    4. Comprobacin. La comprobacin de un nico y gran circuito es mucho msdifcil que comprobar un circuito compuesto por mdulos que han sidocomprobados individualmente. En este ltimo caso, los errores msfrecuentes se encuentran en las interfaces entre los mdulos.

    5. Diseo en equipo. Un diseo modular permite el trabajo en equipo. Ladefinicin exacta de las interfaces entre mdulos posibilita el trabajo en

    paralelo de varios diseadores.

    Objetivos

    De manera general, los objetivos de esta tercera prctica son los siguientes:

    1. Aprendizaje de las tcnicas de diseo modular y jerrquico.2. Utilizacin del editor esquemtico para la definicin de mdulos funcionales

    y captura de esquemas jerrquicos.

    3. Diseo de una unidad aritmtico lgica compleja.

    4. Manejo de mltiples esquemas.

    5. Uso de las capacidades de la herramienta para el manejo de buses.

    6. Simulacin de circuitos complejos.

    Desarrollo de la prcticaEn esta tercera prctica vamos a construir una unidad aritmtica lgica (ALU,Arithmetic-Logic Unit) de nmeros de 32 bits codificados en complemento a dos o

    binario, utilizando tcnicas de diseo modular y jerrquico. La ALU debe ser capazde realizar operaciones aritmticas de suma, resta, incremento, decremento, yoperaciones lgicas de AND, OR, identidad y complemento entre las entradas.Puesto que las entradas en las operaciones aritmticas estn tambin codificadas encomplemento a dos, la ALU debe tener una salida para indicar la situacin dedesbordamiento. La Figura 3-2 representa el smbolo grfico de la ALU de 32 bits.Las seales M, S1 y S0 sirven para seleccionar la operacin que la ALU deberealizar con los operandos A y B de 32 bits. F son los 32 bits del resultado. La seal

    CO es el acarreo de salida para las operaciones binarias. Finalmente, la sealdesbordamiento indica esta situacin en el caso de operaciones de sumas y restas connmeros representados en complemento a dos.

  • 8/3/2019 Manual Practicas Digitales Excelente

    44/107

    Prcticas de Sistemas Digitales

    34

    F

    32

    1 Desbordamiento

    A

    M1

    S11

    S01

    32

    B

    32

    CO

    1 Unidad aritmtico lgica

    Figura 3-2 Smbolo grfico de una ALU de 32 bits.

    En las prcticas 1 y 2 el diseo siempre ha sido propuesto en el propio guin de la prctica, siendo el principal trabajo a realizar la captura y simulacin del mismo.

    Esto era as por la falta de conocimientos tericos previos, que imposibilitaban lapropia labor de diseo, y tambin porque el principal objetivo de las mismas era elaprendizaje de la herramienta. En esta prctica la situacin cambia, y al final de lamisma se deja parte del diseo a la propia creatividad de cada uno.

    En primer lugar implementaremos una ALU de 4 bits, y posteriormenterealizararemos las modificaciones necesarias para escalar el diseo a 32 bits.

    ALU de 4 bitsComo todas las operaciones aritmticas estn basadas en la suma, se puede disearuna ALU simplemente modificando las entradas de un sumador de acarreo

    propagado. La lgica de modificacin utilizada en las operaciones aritmticas sedenomina a veces ampliador aritmtico (AE, Arithmetic Extender), y la lgica demodificacin utilizada en las operaciones lgicas se denomina ampliador lgico(LE, Logic Extender). Cada uno o ambos ampliadores se conectan a la entrada delsumador, como se indica por las lneas discontinuas de la Figura 3-3. Ahoramostraremos como disear estos ampliadores de uno en uno.

    A0 B0

    C0X0 Y0

    1 bit

    LE

    AE

    F0

    A1 B1

    C1X1 Y1

    1 bit

    LE

    AE

    F1

    A2 B2

    C2X2 Y2

    1 bit

    LE

    AE

    F2

    A3 B3

    C3X3 Y3

    1 bit

    LE

    AE

    F3

    C4

    Figura 3-3 Sumador de 4 bits con ampliadores aritmticos (AE) y lgicos (LE).

    Como la ALU en cuestin realiza cuatro operaciones aritmticas y cuatrooperaciones lgicas, es necesario introducir una variable de control de modo, M, que

  • 8/3/2019 Manual Practicas Digitales Excelente

    45/107

    Prctica 3:Diseo modular y jerrquico

    35

    seleccionar operaciones aritmticas o lgicas de manera tal que siempre que M=1,la ALU realice operaciones aritmticas y cuando M=0 realice operaciones lgicas.Tambin es necesario utilizar dos variables de seleccin, S1 y S0, que habilitarn laseleccin de las cuatro operaciones aritmticas o de las cuatro operaciones lgicas.Los valores asignados a S1 y S0, para cada operacin aritmtica, se resumen en la

    Tabla 3-1.M S1 S0 Funcin F X Y C0

    1 0 0 Decremento A-1 A Todosunos

    0

    1 0 1 Suma A+B A B 0

    1 1 0 Resta A+B+1 A B 1

    1 1 1 Incremento A A Todosceros

    1

    Tabla 3-1 Tabla funcional para las operaciones aritmticas.

    Como se observa, la tabla tambin muestra el valor de la salida F de la ALU, ascomo los valores de las entradas del sumador X, Y y C0. Obsrvese que, de acuerdocon esta tabla, la entrada X del sumador requiere siempre el valor de A, mientras quela entrada Y puede disponer de todos unos, B, B o todos ceros. Estos valores para laentrada Y sern generados por el AE, cuya tabla de verdad se muestra en la Tabla3-2.

    M S1 S0 Bi Yi

    1 0 0 0 1

    1 0 0 1 1

    1 0 1 0 0

    1 0 1 1 1

    1 1 0 0 1

    1 1 0 1 0

    1 1 1 0 0

    1 1 1 1 0

    0 x x x 0Tabla 3-2 Tabla de verdad para la entrada Yi al sumador.

    Esta tabla se ha obtenido a partir de la Tabla 3-1 simplemente expandiendo lacolumna Y en las columnas Bi e Yi, indicando cual es el valor de cada Yi en funcinde M, S1, S0 y tambin del correspondiente valor de Bi. A partir de esta tabla puedeobtenerse la expresin booleana para Yi.:

    Yi = MS1Bi + MS0 Bi

    Finalmente, el circuito lgico de este AE se muestra en la Figura 3-4. La Figura 3-27,que se aade como anexo, es este mismo esquema a mayor tamao.

  • 8/3/2019 Manual Practicas Digitales Excelente

    46/107

    Prcticas de Sistemas Digitales

    36

    Figura 3-4 Esquema lgico del AE.

    A partir de la Tabla 3-1 obtenemos la ecuacin lgica para el bit de acarreo inicial:

    C0 = MS1Esta ecuacin indica que el acarreo inicial toma el valor lgico 1, si y slo si, laoperacin es aritmtica y, resta o incrementa.

    Una vez descrito el procedimiento de diseo de un AE, se puede realizar de igualmanera el diseo de un LE, tal y como se define en la Tabla 3-3. En esta tabla puedeverse que las entradas Y y C0 siempre estn al valor 0 para operaciones lgicas,mientras que las entradas X requieren diferentes expresiones booleanas para cada unade estas operaciones.

    M S1 S0 Funcin F X Y C0

    0 0 0 Complemento A A 0 00 0 1 AND A AND B A AND B 0 0

    0 1 0 Identidad A A 0 0

    0 1 1 OR A OR B A OR B 0 0

    Tabla 3-3 Tabla funcional del LE.

    Basndose en esta tabla funcional, se puede desarrollar la tabla de verdad para el LE,que se muestra en la Tabla 3-4. A partir de esta tabla de verdad puede obtenerse lasiguiente expresin boolena para describir algebraicamente el LE:

    M S1 S0 Xi0 0 0 Ai

    0 0 1 Ai Bi

    0 1 0 Ai

    0 1 1 Ai+Bi

    1 X X Ai

    Tabla 3-4 Tabla de verdad del LE.

    Xi = MS1S0Ai + MS1S0Bi + S0AiBi + S1Ai + MAi

  • 8/3/2019 Manual Practicas Digitales Excelente

    47/107

    Prctica 3:Diseo modular y jerrquico

    37

    Una vez obtenida esta expresin se procede a la construccin del circuito lgico delLE, mostrado en la Figura 3-5. En la Figura 3-28 est este mismo esquema a mayortamao.

    Figura 3-5 Esquema lgico del LE.

    Hasta ahora, se han obtenido los circuitos lgicos para el AE y el LE, y la siguientetarea es conectarlos con un sumador para formar una unidad aritmtico lgicacompleta, como la ALU de cuatro bits mostrada en la Figura 3-3. Obsrvese que, enla ALU, las operaciones lgicas se realizan en el ampliador lgico y los sumadoresde un bit se utilizan para pasar los resultados del LE sin cambiarlos. En otras

    palabras, los sumadores de un bit se utilizan como conexiones con retardo fijo.

    Obsrvese tambin que el acarreo de salida del bit ms significativo representa unacarreo en el caso de aritmtica sin signo y que la puerta XOR de los acarreos desalida de los dos bits ms significativos se obtiene si ha habido desbordamiento en elcaso de aritmtica en complemento a 2.

    Realizacin prcticaEn primer lugar disearemos la ALU de 4 bits. Los pasos a realizar para completar eldiseo estn completamente definidos en este guin de prctica y son construir unmdulo sumador de 1 bit, un AE y un LE de 1 bit y combinar los mdulos paraconstruir la ALU de 4 bits. Finalmente construiremos la ALU de 32 bits.

    Realizacin de un mdulo sumador de 1 bit

    Figura 3-6 Inicializacin del proyecto para la ALU de 4 bits.

  • 8/3/2019 Manual Practicas Digitales Excelente

    48/107

    Prcticas de Sistemas Digitales

    38

    Inicia la herramienta Xilinx. Luego crea un proyecto de nombre ALU4_95 tal ycomo indica la Figura 3-6. En el campo directorio debes hacer referencia a tudirectorio personal de trabajo.

    Luego, usa la opcin de la barra de men en la ventana del gestor de proyectosDocumentAdd y aade el esquema C:\TEMP\CCUENCA\ADD1.SCH de la

    prctica anterior al proyecto actual, segn se muestra en la Figura 3-7. Con todaseguridad que tienes que cambiar el directorio C:\TEMP\CCUENCA por el nombrede tu directorio de trabajo personal.

    Figura 3-7 Ventana para aadir el esquema del sumador binario de 1 bit al

    proyecto ALU4_95.

    Pica dos veces en el nombre del esquema para abrirlo. Una vez que est abierto elesquema realiza los siguientes cambios:

    1. Pica dos veces sobre el terminal INPUT0. Cuando aparezca la ventana paralos terminales de entrada y salida, Figura 3-8, cambia el nombre del terminalde INPUT0 a A. De la misma manera cambia INPUT1 por B,CARRY_INPUT por CIN y CARRY_OUTPUT por COUT.

    2. Realiza una conexin directa entre los terminales de entrada y la salida de losIBUF, y entre los terminales de salida y la salida de los OBUF.

    3. Elimina los buffers IBUF y los buffer OBUF.

    Figura 3-8 Ventana para los terminales de entrada y salida.

    Una vez que has hecho todo esto, el esquema del sumador binario debe ser similar alde la Figura 3-9.

  • 8/3/2019 Manual Practicas Digitales Excelente

    49/107

    Prctica 3:Diseo modular y jerrquico

    39

    Figura 3-9 Sumador binario de 1 bit, modificado para encapsularlo en unmdulo funcional.

    Ahora tenemos el esquema preparado para encapsularlo en un mdulo funcional.Para crear el smbolo, seleccionamos HierarchyCreate Macro Symbol fromCurrent Sheet en el men principal del editor de esquemticos. Aparece la ventanade creacin de smbolos, Figura 3-10. Escribe como nombre del smboloMY_ADD1, y en el campo comentario la frase Mi sumador de 1 bit, luego pica el

    botn de OK. La herramienta nos informar, mediante un mensaje, que MY_ADD1ha sido aadido a la biblioteca de componentes y nos preguntar tambin siqueremos editarlo. A esta pregunta contestaremos picando el botn de No.

    Figura 3-10 Ventana para la creacin de smbolos.

    Realizacin del ampliador aritmtico de 1 bit

    En este punto, debemos tener el editor de esquemticos sin ningn esquema.Seleccionamos FileNew Sheet en el men del editor de esquemticos para obtenerun esquema en blanco donde poder trabajar. Aparecer una hoja en blanco con elnombre ALU4_951. En este esquema vamos a capturar el diseo lgico de laampliacin aritmtica. En primer lugar seleccionamos FileSave As para cambiar elnombre del esquema a AE, segn se muestra en la Figura 3-11.

  • 8/3/2019 Manual Practicas Digitales Excelente

    50/107

    Prcticas de Sistemas Digitales

    40

    Figura 3-11 Ventana para guardar el esquema con el nombre AE.

    A continuacin captura el diseo de la AE, tal y como se especifica en la Figura3-12.

    Figura 3-12 Esquema lgico del AE.

    En el esquema de la Figura 3-12 puedes ver que la orientacin de las puertas lgicasno es la habitual, sino que las puertas tienen una rotacin de 90 a la derecha. Paraconseguir la rotacin de un smbolo a la derecha puedes utilizar la combinacin deteclas Control+R (la tecla Control y la tecla R pulsada a la vez), para rotar a laizquierda Control+L, y para conseguir la imagen especular del smbolo puedes usarControl+M.

    Una vez que finalizamos, salvamos el esquema con FileSave. Luego usamos losmens OptionsCreate Netlist, OptionsIntegrity Test y OptionsExportNetlist... para crear, comprobar y exportar la netlist en formato EDIF200.

    Cerramos el editor de esquemticos y simulamos el circuito. El resultado de lasimulacin se muestra en la Figura 3-13. A continuacin crearemos un mdulo coneste esquema, seleccionamos en la barra de men HierarchyCreate MacroSymbol from Current Sheet. En el campo nombre escribimos MY_AE, y en elcampo comentario Ampliador aritmtico, picamos en el botn de OK ycontestamos que No a la pregunta de si queremos editar el smbolo.

  • 8/3/2019 Manual Practicas Digitales Excelente

    51/107

    Prctica 3:Diseo modular y jerrquico

    41

    Figura 3-13 Simulacin del AE.

    Realizacin del ampliador lgico de 1 bit

    En este punto, debemos tener otra vez el editor de esquemticos sin ningn esquema.Seleccionamos FileNew Sheet en el men del editor de esquemticos para obtenerun esquema en blanco donde poder trabajar. Aparecer una hoja en blanco con el

    nombre ALU4_952. En primer lugar seleccionamos FileSave As para cambiarnombre del esquema a LE, y a continuacin capturaremos el diseo del LE, segn semuestra en la Figura 3-14.

    Figura 3-14 Esquema lgico del LE

    Una vez que finalizamos, salvamos el esquema con FileSave. Luego usamos losmens OptionsCreate Netlist, OptionsIntegrity Tests y OptionsExportNetlist... para crear, comprobar y exportar la netlist en formato EDIF200. Hechoesto, simulamos el circuito y comprobamos que funciona correctamente, segnaparece en la Figura 3-15.

  • 8/3/2019 Manual Practicas Digitales Excelente

    52/107

    Prcticas de Sistemas Digitales

    42

    Figura 3-15 Simulacin del LE.

    Realizacin de la ALU de 4 bits

    Llegados a este punto hemos capturado el diseo de tres mdulos: el sumador binariode un bit, el ampliador aritmtico y el ampliador lgico. Y ahora es el momento de

    unir todos los mdulos para construir la ALU de cuatro bits. Para ello seleccionamosFileNew Sheet en el editor de esquemticos, aparecer una hoja en blanco con elnombre ALU4_953 y cambiamos el nombre al esquema seleccionando FileSaveAs... En el campo nombre de archivo escribimos ALU4 y picamos en el botn decontinuar. Para aadir los smbolos de los mdulos definidos anteriormenteselecciona ModeSimbols en el editor de esquemticos. Aparece la ventana desmbolos, y en la parte superior puedes encontrar los mdulos MY_ADD1, MY_AEy MY_LE, segn se muestra en la Figura 3-16.

    Figura 3-16 Ventana de smbolos.

    Sita 4 smbolos de cada uno de los mdulos MY_ADD1, MY_AE y MY_LE,

    conecta los acarreos de las etapas intermedias para crear la cadena de acarreos,tambin los terminales de salida X de los LE con los terminales de entrada A delsumador binario de 1 bit, finalmente los terminales Y de salida de los AE con losterminales de entrada B del sumador binario de 1 bit, tal y como aparecen en laFigura 3-17.

  • 8/3/2019 Manual Practicas Digitales Excelente

    53/107

    Prctica 3:Diseo modular y jerrquico

    43

    Figura 3-17 Esquema premilinar de la ALU de 4 bits.

    A continuacin dibujaremos dos buses de entrada y uno de salida, tal y como semuestra en la Figura 3-18. Para ello selecciona en el men principal ModeDrawBuses. Pica desde una posicin prxima al LE ms a la izquierda y traza un bus hastauna posicin cercana al LE ms a la derecha, Figura 3-18. Para terminar el trazadodel bus pica dos veces. Entonces aparece la ventana de edicin de bus, Figura 3-19.En el campo nombre escribe A; en el campo marca de terminacinseleccionaINPUT y en el campo rango de lneas introduce los valores 3 y 0, para indicar untotal de 4 lneas.

    Figura 3-18 Esquema con los buses A, B y F definidos.

    A continuacin creamos otro mdulo con este esquema, seleccionando en la barra demen HierarchyCreate Macro Symbol from Current Sheet . En el camponombre escribimos MY_LE, y en el campo comentario Ampliador lgico. Picamosen el botn de OK y contestamos que No a la pregunta de si queremos editar elsmbolo.

  • 8/3/2019 Manual Practicas Digitales Excelente

    54/107

    Prcticas de Sistemas Digitales

    44

    Figura 3-19 Ventana de edicin de buses.

    Ahora tenemos que conectar los buses a las entradas de los ampliadores lgicos yaritmticos y a las salidas de los sumadores. Selecciona en el men principal Mode->Draw Bus Taps. Pica el cursor sobre el bus A, y a continuacin sobre la entradaetiquetada con el nombre A del ampliador lgico aparecer una lnea etiquetada conel nombre A3 y que representa la conexin entre la lnea A3 del bus A y la entrada Adel ampliador lgico. Pica sobre la siguiente para crear la conexin entre la lnea A2del bus y la entrada A del siguiente ampliador lgico. Repite para crear las

    conexiones A1 y A0. Para terminar pulsa la tecla ESC.Si cometes un error, puedes pulsar dos veces en el nombre de la conexin al bus, porejemplo A2, y luego cambiar el nombre de la conexin en la ventana que aparece

    para tal efecto.

    Repite el proceso anteriormente descrito para establecer las conexiones al bus deentrada B. En este caso las conexiones hay que establecerlas dos veces puesto que laslneas correspondientes al bus B se conectan a ambos ampliadores. Finalmenteconecta las salidas de los sumadores al bus de salida F. El resultado debe ser similaral de Figura 3-20.

    Figura 3-20 Esquema de la ALU de 4 bits con los buses conectados.

    A continuacin definimos los terminales de entrada M, S1 y S0 y los conectamos alas entradas de todos los ampliadores. Para terminar aadimos la lgica necesaria

    para calcular el acarreo inicial y la seal de desbordamiento, tal como muestra laFigura 3-21. En el esquema la seal de desbordamiento y CO4 corresponden aterminales de salida.

  • 8/3/2019 Manual Practicas Digitales Excelente

    55/107

    Prctica 3:Diseo modular y jerrquico

    45

    Figura 3-21 Lgica para el clculo del acarreo inicial y la seal de

    desbordamiento.

    El esquema final debe ser similar al de Figura 3-22. En la Figura 3-29, que se aadecomo anexo, est este mismo esquema a mayor escala.

    Figura 3-22 Esquema final de la ALU de 4 bits.

    Simulacin de la ALU de 4 bits

    Una vez capturado el esquemtico realizamos la simulacin del circuito. Aadimosal simulador los terminales de entrada y salida por este orden: los buses de entrada Ay B, las seales de control S0, S1 y M, el bus de salida F, el acarreo final y el bit dedesbordamiento.

    Para asociar estmulos a los buses es necesario deshacer los buses. Pica sobre el busA y a continuacin selecciona SignalBusFlatten en la barra de men. De igualmanera deshaz tambin el bus B.

    A continuacin realiza la siguiente asignacin de estmulos: A3 con el bit Bc3 delcontador, A2 con el bit Bc2, A1 con el Bc1 y finalmente A0 con el Bc0. Para el busB, B3 con el bit Bc7 del contador, B2 con el bit Bc6, B1 con el Bc5 y finalmente B0

    con el Bc4.

  • 8/3/2019 Manual Practicas Digitales Excelente

    56/107

    Prcticas de Sistemas Digitales

    46

    A S0 le asignas Bc8, a S1 le asignas Bc9 y a M le asignas BcA. As acabamos laasignacin de estmulos a los terminales de entrada.

    Una vez asignados los estmulos, vuelve a agrupar los buses A y B. Tambin defineun bus con las seales de control S0, S1 y M. Para facilitar la interpretacin de losresultados, cambia el formato de visuali