empleo de pld’s
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].