empleo de pld’s

23
INSTITUTO TECNOLÓGICO DE TIJUANA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA CARRERA: INGENIERÍA ELECTRONICA MATERIA: DISEÑO DIGITAL UNIDAD 1: ALGEBRA BOOLEANA, COMPUERTAS Y FAMILIAS LOGICAS PRACTICA 3 EMPLEO DE PLD’S ELABORADO POR: SAUL VICENTE PEREYRA CEBRERO PROFESOR: MAE. JORGE CARLOS RIOS 23 DE FEBRERO DEL 2015 TIJUANA, B.C., MÉXICO

Upload: saul-pereyra

Post on 07-Nov-2015

26 views

Category:

Documents


3 download

DESCRIPTION

El nombre de Dispositivos lógicos Programables o PLD (Programmable Logic Device) es una acepción genérica establecida para cualquier sistema digital cuyo funcionamiento está determinado por el usuario, después que dicho dispositivo fuera fabricado. Al referirnos a usuario, generalmente nos dirigimos a un profesional del diseño lógico, aunque pudiera ser realmente el cliente final. Al hablar aquí de circuitos digitales en forma general, nos referimos a todos los sistemas digitales incluyendo por supuesto a los combinacionales y secuenciales. Actualmente se los utiliza para realizar todo tipo de circuitos digitales, desde los más sencillos a los más complejos; que en el pasado se realizaba con lógica cableada a través del uso de una gran cantidad de elementos lógicos convencionales SSI o MSI; utilizados en forma discreta. Pero la diferencia fundamental es que estos dispositivos están armónicamente estructurados, tanto en su hardware como en las herramientas de software utilizadas para el diseño lógico.

TRANSCRIPT

  • INSTITUTO TECNOLGICO DE

    TIJUANA

    DEPARTAMENTO DE INGENIERAELCTRICA Y ELECTRNICA

    CARRERA:INGENIERA ELECTRONICA

    MATERIA:DISEO DIGITAL

    UNIDAD 1:ALGEBRA BOOLEANA, COMPUERTAS Y FAMILIAS

    LOGICAS

    PRACTICA 3 EMPLEO DE PLDS

    ELABORADO POR:SAUL VICENTE PEREYRA CEBRERO

    PROFESOR:MAE. JORGE CARLOS RIOS

    23 DE FEBRERO DEL 2015 TIJUANA, B.C., MXICO

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 2

    1 Introduccin

    El nombre de Dispositivos lgicos Programables o PLD (Programmable Logic Device) es unaacepcin genrica establecida para cualquier sistema digital cuyo funcionamiento estdeterminado por el usuario, despus que dicho dispositivo fuera fabricado. Al referirnos ausuario, generalmente nos dirigimos a un profesional del diseo lgico, aunque pudiera serrealmente el cliente final. Al hablar aqu de circuitos digitales en forma general, nos referimosa todos los sistemas digitales incluyendo por supuesto a los combinacionales y secuenciales.

    Actualmente se los utiliza para realizar todo tipo de circuitos digitales, desde los ms sencillosa los ms complejos; que en el pasado se realizaba con lgica cableada a travs del uso deuna gran cantidad de elementos lgicos convencionales SSI o MSI; utilizados en formadiscreta. Pero la diferencia fundamental es que estos dispositivos estn armnicamenteestructurados, tanto en su hardware como en las herramientas de software utilizadas para eldiseo lgico.

    2 Objetivos (competencia)

    Aprender a utilizar los PLDs en la implementacin de funciones lgicas.

    3 Fundamento terico

    1. Redes Lgicas Programables, PAL (Programmable Array Logic) o PLA(Programmable Logic Array). Se las puede dividir en tres grandes subfamilias, segn eltipo de matriz programable que incluya en su estructura lgica:

    a) Matriz Y programable matriz O programable: PLA.b) Matriz Y fija matriz O programable: PROMc) Matriz Y programable matriz Y fija: PAL propiamente dichas, y que

    segn el tipo de dispositivo lgico que incluya en su estructura interna,pueden ser:

    PAL combinacionales o PAL simples. PAL secuenciales o FPLS.

    desde el punto de vista de la tecnologa de programacin, se las divide en dos tipos:

    a) PAL Bipolares.b) PAL CMOS.

    2. EPLD (Erasable Programmable Logic Device) Son circuitos lgicos

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 3

    programables elctricamente y borrables con luz ultravioleta, que permitendesarrollar un diseo, borrando y regrabando hasta sacarle todos los problemaslgicos o elctricos. Tenemos las siguientes familias:

    EPLD Simples o clsicas: Familia de serie EPXXXX. EPLD Complejas o CPLD (Complex Programmable Logic Device): Familia MAX o de la serie EPMXXXX. Mltiple Array matriz. Familia FLEX o Flexible Lgic Element Matrix. Familia APEX o Advanced Programmable Element Matrix.

    EPLD Especficas: Familia de serie EPB Familia de serie EPS

    3. GAL (Generic Array Logic) Son equivalente a las memorias EEPROM, es decir quepermiten ser borradas y grabadas elctricamente. Se pueden establecer la siguientessubfamilias:

    a) Tipo PAL: Matriz Y / Macrocelda programable de salida: Borrables y Programables fuera del circuito. Borrables y Programables en circuito.

    b) TIPO FPLA: Matriz Y / Matriz O / Macrocelda programable de salida. Se introduceun nuevo concepto ms general de redes/macroceldas programables.

    4. ASIC: Son circuitos digitales completos, de uso directo por los diseadores, sinnecesidad de programacin posterior. Aparecieron al mismo tiempo que las PAL, perocomo son programables por mscaras en fbrica slo se aplica a grandesproducciones en serie, pues su costo es elevado y su amortizacin se justifica solo enesos casos.

    5. LCA (Logic Cell Array) FPGA (Field Programmable Gate Array) red de celdaslgicas. Podemos decir que es un producto similar a las ASIC, pero programables porel usuario. Se caracteriza por poseer una gran cantidad de bloques funcionalesbsicos, que en el estadio de diseo e implementacin el usuario interconecta paraobtener las funciones lgicas deseadas.

    6. FPGA de antifusibles: se trata de redes de compuertas lgicas muy similares a lasLCA, pero con una tcnica de programacin de las uniones totalmente diferentes, cuyadenominacin es la que identifica a estos circuitos, es decir antifusibles.

    4 MaterialesEquipo necesario / Material de apoyo

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 4

    1 GAL22V10D 25LP 1 DIP5SWITCH 5 LEDS (Diferentes colores) 5 RESISTENCIAS 1K 5 RESISTENCIAS 330 1 Fuente de alimentacin

    5 Desarrollo de la practica

    1. Para la ley distributiva: X + YZ = (X + Y)(X + Z) y la ley DMorgan para tres variablesrealice su demostracin obteniendo la tabla de verdad:

    Fig. 1 E1 Ley Distributiva

    Fig. 2 E1 Ley D'Morgan

    2. Dada la funcin 1, implemntela y:

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 5

    a. Obtenga su tabla de la verdad para todas las combinaciones posibles a laentrada.

    b. Por medio del algebra de Boole simplifique la funcin.

    Funcin 1 X(A,B,C,D) = A'BC' + A'B'C'D + B'C'D

    Fig. 3 E2 Simplificado

    3. Realice un anlisis por tabla de verdad antes y despus de simplificar Z e implementela funcin Z simplificada.

    Z= (AB+C) (BD+CE) + (AB+C)

    Fig. 4 E3 Simplificado

    4. Resolver el problema siguiente y obtener la funcin de salida. Implementarlofsicamente usando el nmero mnimo de compuertas (para los sensores haga unasimulacin fsica utilizando interruptores en lugar de sensores).

    ProblemaEn una planta qumica existen cuatro tanques que contienen lquidos que estn siendocalentados. Se usan sensores de nivel de lquido para detectar cundo en los tanques A y B elnivel sube por encima de un nivel mximo prefijado, sensores de temperatura en los tanques Cy D que detectan cundo la temperatura en esos tanques est por arriba de un lmite.

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 6

    Supngase que las salidas de los sensores de nivel lquido A y B estn bajas cuando el nivel essatisfactorio y altas cuando llegan al nivel mximo. Las salidas de los sensores C y D son bajascuando la temperatura es satisfactoria y altas en caso contrario.

    Disear un circuito lgico que detecte cundo el nivel en el tanque A o en el B es alto y almismo tiempo la temperatura en cualquiera de los tanques C o D es alta (este no es un casoreal, solo sirve como ejemplo).

    Fig. 5 E4 Problema

    5. Por medio de la utilizacin de un PLD (GAL) desarrolle el contenido de laprctica #2 (pasos 1 a 4).

    Fig. 6 Circuito implementado

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 7

    Fig. 7 Cdigo compilar en el PLD (GAL)7 Pasos para programa el PLD (GAL) y simulacin

    Wincupl

    Paso 1 Ejecutamos el programa wincupl y procedemos con la configuracininicial.

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 8

    Fig. 8 Inicializacin de un nuevo proyecto

    Fig. 9 Detalles del proyecto

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 9

    Fig. 10 Total de entradas utilizadas en el PLD (GAL)

    Fig. 11 Total de salidas utilizadas en el PLD (GAL)

    En la venta PINNODES podemos dejarlo en 0, no se estarn utilizando de momento para estaimplementacin.

    Fig. 12 Nodos utilizados en el PLD (GAL)

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 10

    Paso 2 Hoja de trabajo y escritura de cdigo

    Fig. 13 Hoja de trabajo despus de configurarla

    Operador AND OR NOTNomenclatura en

    wincupl & # !

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 11

    Fig. 14 Cdigo a compilar

    Paso 3 Configuracin para compilar y complicacinUna vez terminado de escribir el cdigo vamos a Options>Devices y buscamosnuestro PLD (GAL).

    Fig. 15 Seleccin de dispositivo

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 12

    A continuacin seleccionamos Options>Compiler y verficamos la configuracin.

    Fig. 16 Archivo de salida

    Fig. 17 Minimizacin

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 13

    Fig. 18 Optimizacin

    Fig. 19 Opciones generales

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 14

    Fig. 20 Localizacin de Librera

    Despus de verificar nuestra configuracin procedemos a compilar Run>DeviceDependent Compile, si no hemos guardado nos saldr una ventana preguntandosi queremos guardar el presente proyecto.

    Fig. 21 Guardar el proyecto

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 15

    Fig. 22 Resultado de compilacin

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 16

    Paso 4 Verifcamos que nuestro archivo .jed se halla creado (es el queposteriomente subirememos al GAL)

    Fig. 23 Archivo .jed en C:\Wincupl\WinCupl

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 17

    MiniPro Programmer

    Paso 1 Ejecutamos en MiniPro Programmer por medio del cualprocederemos a cargar nuestro PLD (GAL) con nuestro cdigo ya escritopreviamente.

    Para seleccionar nuestro dispositivo pinchamos en Select IC

    Fig. 24 Venta inicial de MiniPro programmer

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 18

    Paso 2 Seleccionamos nuestro dispositivo segn nuestras necesidades.

    Fig. 25 Seleccin del dispositivo a programar

    Paso 3 Buscamos el archivo .jed creado anteriormente en wincupl

    Fig. 26 Seleccin del archivo correspondiente con el cdigo previamente hecho

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 19

    Paso 4 Procedemos a programa el chip (PLD)

    Fig. 27 Ventana de programacin del chip

    Se utiliza un programador universal TL866CS USB (instalar drivers) el cual seconecta a la computadora para que MiniPro Programmer pueda cargar nuestroPLD con el cdigo escrito por nosotros.

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 20

    Fig. 28 TL866CS USB

    Simulacin de PLD (GAL) con Proteus

    Paso 1 Ejecutamos el programa Proteus en el cual haremos nuestrocircuito a presentar fsicamente.

    Pinchamos 2 veces cobre nuestro GAL22v10

    Fig. 29 Circuito a presentar fisicamente

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 21

    Paso 2 Editamos las parte de JEDEC Fuse Map File seleccionando nuestroarchivo creado en wincupl.

    Fig. 30 Editor del componente

    Fig. 31 Seleccin del archivo .jed 'C:\Wincupl\WinCupl'

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 22

    Paso 3 Una vez seleccionado nuestro archivo solo queda seleccionar ok y corrernuestra simulacin Debug>Start VSM Debugging>Run Simulation (nobreakpoints)

    8 Resultados y comentarios (individuales)

    Saul V. Pereyra C.

    Notablemente la utilizacin de PLDs puede facilitar las cosa, sicomparamos los materiales utilizados en la prctica numero 2podemos darnos cuenta que en esta prctica se logr ahorrarmucho, sin duda los PLD son quizs un poco ms tediosos yaque se tienen que programar pero al momento de hacer elpresupuesto son ms amigables y ocupan menos espacio.

    9 Anexos (Glosario)

    1. Hoja de datos para Gal 22v10

  • INSTITUTO TECNOLOGICO DE TIJUANA

    I N S T I T U T O T E C N O L O G I C O D E T I J U A N A Pgina 23

    2. Al programar en Wincupl hay que tomar en cuenta que entre cada funcin desalida se tiene que dejar una lnea en blanco (ENTER) para que al momento decompilar no salga el mensaje Fatal errorProgram aborted!

    10 Referencias / Bibliografa / Cibergrafia

    1. SHANHAI (). TL866CS USB. [INTERNET] Disponible en: http://www.amazon.com/High-speed-TL866CS-Universal-Programmer-Programming/dp/B00AWJ7SA4/ref=pd_sbs_indust_5?ie=UTF8&refRID=14RHBGWDQFZ5QFP914PE. [Ultimo Acceso 02-Marzo-2015].

    2. Rafael Lpez (). Dispositivos Lgicos Programables. [INTERNET] Disponible en:http://www.uhu.es/rafael.lopezahumada/Cursos_anteriores/fund97_98/plds.pdf. [Ultimo Acceso 01-Marzo-15].

    3. Jos Moran (e.g. 2011). Dispositivos Lgicos Programables. [INTERNET] Disponible en:http://proton.ucting.udg.mx/tutorial/MAN_PLD/MAN_PLD.pdf. [Ultimo Acceso 01-Marzo-15 ].

    4. Francisco Torres (e.g. 2011). Dispositivos Lgicos Programables. [INTERNET] Disponible en:http://serdis.dis.ulpgc.es/~itis-dl/Teoria%20VHDL/mas%20cosas/II_DISPOSITIVOS_LOGICOS_PROGRAMABLES.pdf. [UltimoAcceso 02-Marzo-2015].