Upload
alfonso-torres-nunes-curto
View
35
Download
4
Embed Size (px)
Citation preview
11
IntroducciónIntroducción El incremento de uso de los Dispositivos Lógicos El incremento de uso de los Dispositivos Lógicos
Programables es parecido al de los Programables es parecido al de los Microprocesadores hace unos años.Microprocesadores hace unos años.
La realidad de diseño lógico actual es:La realidad de diseño lógico actual es: Tiempo de desarrollo cortosTiempo de desarrollo cortos Complejidad crecienteComplejidad creciente Búsquedas de costos cada vez menoresBúsquedas de costos cada vez menores
Las exigencias que se plantean:Las exigencias que se plantean: ConfiabilidadConfiabilidad TesteabilidadTesteabilidad
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
22
Las exigencias del DiseñoLas exigencias del Diseño Tiempos de desarrollo cada vez más cortos.Tiempos de desarrollo cada vez más cortos.
Especificaciones variables o aun indefinidas en el Especificaciones variables o aun indefinidas en el momento de desarrollo.momento de desarrollo.
Necesidad de adaptabilidad a nuevas exigencias Necesidad de adaptabilidad a nuevas exigencias o especificaciones.o especificaciones.
Circuitos cada vez mas baratos y más complejos.Circuitos cada vez mas baratos y más complejos.
““““““
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
33
Beneficios del uso de los PLDsBeneficios del uso de los PLDs
Fácil adaptabilidad a cambios de diseño.Fácil adaptabilidad a cambios de diseño.• Aumento de la vida comercial útil del productoAumento de la vida comercial útil del producto
Mayor performance.Mayor performance.• Más rápido, más pequeño, más confiable, más Más rápido, más pequeño, más confiable, más
fácil de armar.fácil de armar.
Mejora en cuanto al aprovechamiento de los Mejora en cuanto al aprovechamiento de los recursos de ingenieríarecursos de ingeniería• Menor costo de desarrolloMenor costo de desarrollo
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
44
Beneficios del uso de los PLDsBeneficios del uso de los PLDs
Los PLDs al tener fusibles de seguridad impiden la Los PLDs al tener fusibles de seguridad impiden la lectura de los programas, protegiendo los diseños lectura de los programas, protegiendo los diseños frente a las copias de los piratas tecnológicos.frente a las copias de los piratas tecnológicos.
La lógica programable se acomoda especialmente La lógica programable se acomoda especialmente a los países en desarrollo como el nuestro, pora los países en desarrollo como el nuestro, por• La baja inversión inicial del prototipoLa baja inversión inicial del prototipo• La posibilidad de fabricar series reducidasLa posibilidad de fabricar series reducidas• La reducción de la diversidad de componentes La reducción de la diversidad de componentes
en Stock.en Stock.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
55
DISPOITIVOS LOGICOS DISPOITIVOS LOGICOS PROGRAMABLESPROGRAMABLES
Definición: Definición:
Los PLDs, son pequeños ASICSLos PLDs, son pequeños ASICS
(Circuitos integrados de Aplicación Especifica), (Circuitos integrados de Aplicación Especifica), configurables por el usuario.configurables por el usuario.
Son capaces de realizar una determinada función Son capaces de realizar una determinada función de tipo combinacional o secuencial.de tipo combinacional o secuencial.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
66
Clasificación de los PLDsClasificación de los PLDs
DISPOSITIVOS LOGICOS PROGRAMABLES
PLDs
PLA(Fusibles)
PAL(Fusibles)
FPGASCPLDs
GAL, CMOS, PAL(Borrable eléctricamente)
EPLDs(Borrable eléctricamente)
LCA(FPGA-Tablas)
FPGA(de antifusibles)
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
77
Esquema Esquema simplificado simplificado de un PLDde un PLD
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
88
CARACTERISTICAS GENERALES DE LOS CARACTERISTICAS GENERALES DE LOS PLDsPLDs
En la fabricación de PLDs se utiliza tecnología bipolar En la fabricación de PLDs se utiliza tecnología bipolar TTL o ECL y tecnología CMOS.TTL o ECL y tecnología CMOS.
Los dispositivos bipolares son más rápidos y Los dispositivos bipolares son más rápidos y consumen más que los dispositivos CMOS. consumen más que los dispositivos CMOS.
Actualmente los PLDs bipolares presentan retardos de Actualmente los PLDs bipolares presentan retardos de propagación inferiores a 7 nsg y los consumos típicos propagación inferiores a 7 nsg y los consumos típicos rondan los 100-200 mA para un chip con 20-24 rondan los 100-200 mA para un chip con 20-24 patillas. patillas.
Mientras los PLDs bipolares sólo pueden programarse Mientras los PLDs bipolares sólo pueden programarse una vez, la mayoría de los PLDs CMOS son una vez, la mayoría de los PLDs CMOS son reprogramables y permiten una fácil verificación por reprogramables y permiten una fácil verificación por parte del usuario.parte del usuario.
A los PLDs CMOS borrables por radiación ultravioleta A los PLDs CMOS borrables por radiación ultravioleta se les denomina EPLD y a los borrables eléctricamente se les denomina EPLD y a los borrables eléctricamente se los conoce por EEPLD. se los conoce por EEPLD.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
99
CARACTERISTICAS GENERALES DE LOS CARACTERISTICAS GENERALES DE LOS PLDsPLDs
Si consultamos las hojas de datos de una PALCE16V8H-20, Si consultamos las hojas de datos de una PALCE16V8H-20, encontramos claves que permiten extraer valiosa encontramos claves que permiten extraer valiosa información del nombre del dispositivo. información del nombre del dispositivo.
PALPAL Programamble Array LogicProgramamble Array LogicCECE C-MOS Electrically ErasableC-MOS Electrically Erasable16V816V8 16 entradas a la matriz de puertas AND y 8 16 entradas a la matriz de puertas AND y 8
salidassalidasHH Half Power ( ICC = 90 mA)Half Power ( ICC = 90 mA)2020 Tiempo de propagación (20 mSeg)Tiempo de propagación (20 mSeg)
También existen:También existen:PALCE16V8Q PALCE16V8Q (Quarter Power Icc (Quarter Power Icc = 55 mA) = 55 mA) PALCE16V8Z PALCE16V8Z (Zero Power) (Zero Power) con un bajísimo consumo con un bajísimo consumo estático de potencia. ( < 10mA)estático de potencia. ( < 10mA)
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1010
Clases de PLDsClases de PLDs
1. PLA (Programable Logic Array)1. PLA (Programable Logic Array)
Es un PLD formado por una matriz AND y OR Es un PLD formado por una matriz AND y OR
programablesprogramables..
Matriz AND
Programable
Matriz OR
Programable
Entradas Salidas
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1111
Clases de PLDsClases de PLDs
Variables de Entradas
Salidas Programadas
Estructura Interna del PLA
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1212
Clases de PLDsClases de PLDs
Ejemplo 1Ejemplo 1• Implementar con un PLA las siguientes Implementar con un PLA las siguientes
funciones lógicas:funciones lógicas: F1 (A,B,C,D,E) = A´B´D´+ B´C D´ + A´B C D E´F1 (A,B,C,D,E) = A´B´D´+ B´C D´ + A´B C D E´ F2 (A,B,C,D,E) = A´B E + B´C D E F2 (A,B,C,D,E) = A´B E + B´C D E F3 (A,B,C,D,E) = A´B´D´+ B´C´D´E + A´B C DF3 (A,B,C,D,E) = A´B´D´+ B´C´D´E + A´B C D
Solución:Solución:Se tiene 5 variables, entonces el PLA debe tener 5 Se tiene 5 variables, entonces el PLA debe tener 5
entradas.entradas.Se van a generar 7 términos productos únicos.Se van a generar 7 términos productos únicos.Como hay 3 funciones se debe tener 3 términos OR.Como hay 3 funciones se debe tener 3 términos OR.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1313
Clases de PLDs - PLAClases de PLDs - PLA
Entradas
Salidas
Representación
de un PLA del
Ejemplo 1
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1414
Clases de PLDs - PALClases de PLDs - PAL
2. PAL (Programable Array Logic)2. PAL (Programable Array Logic)Es un PLD formado por una matriz AND Es un PLD formado por una matriz AND programable y una OR fija con una lógica de programable y una OR fija con una lógica de salida.salida.
Matriz AND
Programable
Matriz OR
FIJA
Entradas
Salidas
Lógica de Salida
Lógica de Salida
Lógica de Salida
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1515
Clases de PLDs - PALClases de PLDs - PALEstructura Interna del PAL
Salidas
Entradas
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1616
Clases de PLDs - PALClases de PLDs - PAL
Ejemplo 2:Ejemplo 2: Diseñar un PAL que realice las siguientes dos Diseñar un PAL que realice las siguientes dos
funciones lógicas y muestre las conexiones funciones lógicas y muestre las conexiones internas.internas.F1 (A,B,C,D) = F1 (A,B,C,D) = ΣΣ (0,1,3,7,13,15) (0,1,3,7,13,15)F2 (A,B,C,D) = F2 (A,B,C,D) = ΣΣ (0,2,4,5,8,10) (0,2,4,5,8,10)
SoluciónSolución::Simplificando las funciones lógicas tenemos:Simplificando las funciones lógicas tenemos:F1 = A´B´C´+ A´C D + A B DF1 = A´B´C´+ A´C D + A B DF2 = B´D´+ A´B C´ F2 = B´D´+ A´B C´
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1717
Clases de PLDs - PALClases de PLDs - PALRepresentación de un PAL del Ejemplo 2
Salidas
Entradas
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1818
Estructura de un PAL16L8Estructura de un PAL16L8
Fusibles de Programación
Líneas d
e e
ntra
da
Realimentación
Suma de hasta 7 términos productos
1er fusibleTermino producto para control
de salida
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
1919
Estructura de un PAL16R8Estructura de un PAL16R8
Fusibles de Programación
Líneas d
e e
ntra
da
1er fusible
Realimentación desde los registros
Salidas de los registros a
travez de un tri-state
Un único clock general
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2020
Clases de PLDs -GALClases de PLDs -GAL 3. GAL( Generic Logic Array)3. GAL( Generic Logic Array)
Al igual que la Pal, tiene una matriz AND Al igual que la Pal, tiene una matriz AND programable y una matriz OR fija, con una salida programable y una matriz OR fija, con una salida lógica programable.lógica programable.Las principales diferencias entre los GALs y los Las principales diferencias entre los GALs y los PALs son:PALs son:
• Es repogramable porque usa tecnología EEs repogramable porque usa tecnología E22CMOS CMOS (Electrically Erasable CMOS) en lugar de tecnología (Electrically Erasable CMOS) en lugar de tecnología bipolar y fusibles.bipolar y fusibles.
• Las salidas tienen unas macroceladas lógicas Las salidas tienen unas macroceladas lógicas (OLMC) que están formadas por unos circuitos lógicos (OLMC) que están formadas por unos circuitos lógicos que pueden programarse como lógica combinacional o que pueden programarse como lógica combinacional o lógica secuencial.lógica secuencial.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2121
Clases de PLDs -GALClases de PLDs -GAL
Ejemplo 3:Ejemplo 3:
Diseñar un GAL que realice las siguientes tres funciones Diseñar un GAL que realice las siguientes tres funciones lógicas y muestre las conexiones internas.lógicas y muestre las conexiones internas.F1 (A,B,C,D) = F1 (A,B,C,D) = ΣΣ (0,2,7,10) + d(12,15) (0,2,7,10) + d(12,15)F2 (A,B,C,D) = F2 (A,B,C,D) = ΣΣ (2,4,5)+ d(6,7,8,10) (2,4,5)+ d(6,7,8,10)F3 (A,B,C,D) = F3 (A,B,C,D) = ΣΣ (2,7,8) + d(0,5,13)(2,7,8) + d(0,5,13)
SoluciónSolución::Simplificando las funciones lógicas tenemos:Simplificando las funciones lógicas tenemos:F1 = A´B´D´+ B´C D´+ A´B C DF1 = A´B´D´+ B´C D´+ A´B C DF2 = A´B + B´C D´F2 = A´B + B´C D´F3 = A´B´D´+ B´C´D´+ A´B C DF3 = A´B´D´+ B´C´D´+ A´B C D
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2222
Implementación del ejemplo 3Implementación del ejemplo 3
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2323
Características de la GAL 22V10Características de la GAL 22V10
Diagrama en bloques con los pines de entrada/salida de la GAL 22V10
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2424
Características de la GAL 22V10Características de la GAL 22V10
Representación de una OLMC ( OUTPUT LOGIC MACRO CELL)
MUX de Salida
MUX de Realimentación Fusibles
Activación de Salida
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2525
Características de la GAL 22V10Características de la GAL 22V10
Matriz Programable de 132*44 terminos producto
17 entradas dedicadas
Puede ser usada como entrada de clock o de datos 10 Macroceldas
10 entradas/salidas
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2626
Clases de PLDs -GALClases de PLDs -GAL
Matriz Programable ALTERA EPLD
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2727
Características de la GAL 22V10Características de la GAL 22V10
Tiene 12 entradas dedicadas y 10 E/STiene 12 entradas dedicadas y 10 E/S
Dispone de 10 macroceldas, de las cuales:Dispone de 10 macroceldas, de las cuales:• Dos tienen 8 operaciones producto (número de líneas de Dos tienen 8 operaciones producto (número de líneas de
la matriz AND a la puerta OR)la matriz AND a la puerta OR)• Dos tienen 10 operaciones producto. Otras dos doce, Dos tienen 10 operaciones producto. Otras dos doce,
otras dos catorce, y otras dos dieciséis.otras dos catorce, y otras dos dieciséis.• Cada OLMC puede programarse para que el nivel activo Cada OLMC puede programarse para que el nivel activo
de salida sea de salida sea alto o bajoalto o bajo y también, pueden programarse y también, pueden programarse como entradas.como entradas.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2828
Características de la GAL 22V10Características de la GAL 22V10
Cada OLMC puede configurarse como entrada o Cada OLMC puede configurarse como entrada o salida combinacional, o como salida secuencial. salida combinacional, o como salida secuencial. La configuración se establece automáticamente La configuración se establece automáticamente mediante programación.mediante programación.
Las cuatro configuraciones de las macroceldas Las cuatro configuraciones de las macroceldas lógicas programables son:lógicas programables son:• Modo Combinacional con salida activa a nivel bajoModo Combinacional con salida activa a nivel bajo• Modo Combinacional con salida activa a nivel altoModo Combinacional con salida activa a nivel alto• Modo Secuencial con salida activa a nivel bajoModo Secuencial con salida activa a nivel bajo• Modo secuencial con salida activa a nivel altoModo secuencial con salida activa a nivel alto
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
2929
SOFTWARE PARA DISEÑO DE PLDsSOFTWARE PARA DISEÑO DE PLDs Para programar PLDs hay herramientas Para programar PLDs hay herramientas
específicas y herramientas universales. Las específicas y herramientas universales. Las herramientas específicas las suministran los herramientas específicas las suministran los propios fabricantes de PLDs, que se preocupan de propios fabricantes de PLDs, que se preocupan de actualizadas rápidamente para soportar a los actualizadas rápidamente para soportar a los nuevos dispositivos fabricados.nuevos dispositivos fabricados.
Algunas de las compañías más conocidas que Algunas de las compañías más conocidas que
ofrecen software de programación de PLDs son:ofrecen software de programación de PLDs son:
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3030
SOFTWARE PARA DISEÑO DE PLDsSOFTWARE PARA DISEÑO DE PLDs Altera CorporationAltera Corporation Suministra los paquetes de Suministra los paquetes de
software A + PLUS para trabajar con las familias de software A + PLUS para trabajar con las familias de dispositivos EP300..EP1800, MAX + PLUS para la dispositivos EP300..EP1800, MAX + PLUS para la familia MAX de arquitectura modular y SAM + PLUS familia MAX de arquitectura modular y SAM + PLUS para los usuarios del secuenciador SAM de Altera.para los usuarios del secuenciador SAM de Altera.
AMD AMD (Advanced Micro Devices)(Advanced Micro Devices) Se trata de un Se trata de un fabricante de microprocesadores que ofrece una fabricante de microprocesadores que ofrece una herramienta llamada PALASM para programar sus herramienta llamada PALASM para programar sus PALs. El ensamblador PALASM, junto con la abundante PALs. El ensamblador PALASM, junto con la abundante documentación de diseño ofrecida por MMI, fueron en documentación de diseño ofrecida por MMI, fueron en gran parte responsables de la rápida aceptación (que gran parte responsables de la rápida aceptación (que todavía perdura) de las PALs de MMI todavía perdura) de las PALs de MMI
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3131
SOFTWARE PARA DISEÑO DE PLDsSOFTWARE PARA DISEÑO DE PLDs National SemiconductorNational Semiconductor“ Distribuye el software “ Distribuye el software
PLAN PLAN (Programmable Logic Analysis) (Programmable Logic Analysis) para soportar a para soportar a sus PLDs. Admite más formas de entrada que sus PLDs. Admite más formas de entrada que PALASM y no necesita que se especifique el PALASM y no necesita que se especifique el dispositivo. De hecho, un programa de PLAN es capaz dispositivo. De hecho, un programa de PLAN es capaz de seleccionar el dispositivo adecuado y realizar la de seleccionar el dispositivo adecuado y realizar la asignación de patillas.asignación de patillas.
OrCAD SystemsOrCAD Systems Corporation. Corporation. Dispone de un Dispone de un compilador universal de lógica programable compilador universal de lógica programable OrCAD/PLD que acepta ecuaciones, ecuaciones OrCAD/PLD que acepta ecuaciones, ecuaciones indexadas, mapas numéricos, esquemas, máquinas de indexadas, mapas numéricos, esquemas, máquinas de estados, tablas de verdad y estados, tablas de verdad y streams. streams. Le acompaña un Le acompaña un simulador funcional que genera automáticamente los simulador funcional que genera automáticamente los vectores de testvectores de test. .. .
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3232
SOFTWARE PARA DISEÑO DE PLDsSOFTWARE PARA DISEÑO DE PLDs Philips-Signetics. Philips-Signetics. Es un fabricante de circuitos Es un fabricante de circuitos
integrados con una gran oferta en dispositivos FPLA. integrados con una gran oferta en dispositivos FPLA.
Posee un software específico para sus PLDs llamado Posee un software específico para sus PLDs llamado AMAZE AMAZE (Automated Map And Zap Equations) (Automated Map And Zap Equations) que que acepta ecuaciones, tablas de estados y esquemas acepta ecuaciones, tablas de estados y esquemas capturados con OrCAD/SDT o con FutureNet. capturados con OrCAD/SDT o con FutureNet.
AMAZE está formado por cinco módulos, entre los que AMAZE está formado por cinco módulos, entre los que se encuentra un simulador funcional y temporal que se encuentra un simulador funcional y temporal que genera automáticamente los vectores de test. genera automáticamente los vectores de test. También También dispone de un software destinado a sus dispone de un software destinado a sus dispositivos dispositivos más avanzados, los más avanzados, los Programmable Macro Programmable Macro Logic Logic o PML o PML llamado SNAP llamado SNAP (Syntesis, Netlist, Analysis (Syntesis, Netlist, Analysis And And Programming).Programming).
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3333
PROCESO DE DESARROLLO DE PLDsPROCESO DE DESARROLLO DE PLDs
DiseñoDiseño Es la etapa en la que se concibe y describe la Es la etapa en la que se concibe y describe la
función lógica o los datos que se almacenarán en función lógica o los datos que se almacenarán en el PLD. el PLD.
El diseño se realiza utilizando un editor de textos El diseño se realiza utilizando un editor de textos o uno un software de captura de esquemas. Mediante software de captura de esquemas. Mediante el editor de textos, la lógica puede expresarse en el editor de textos, la lógica puede expresarse en forma de tablas de verdad, ecuaciones de alto forma de tablas de verdad, ecuaciones de alto nivel, máquinas de estados, etc.nivel, máquinas de estados, etc.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3434
PROCESO DE DESARROLLO DE PLDsPROCESO DE DESARROLLO DE PLDs
Ciclo de compilación y verificación lógicaCiclo de compilación y verificación lógica..
En este ciclo tiene lugar la simplificación de las formas de En este ciclo tiene lugar la simplificación de las formas de entrada definidas en la etapa de diseño o se señalan los fallos entrada definidas en la etapa de diseño o se señalan los fallos de sintaxis detectados. de sintaxis detectados.
Si en la etapa de diseño se especifica un determinado PLD, se Si en la etapa de diseño se especifica un determinado PLD, se genera un fichero en formato JEDEC que contiene información genera un fichero en formato JEDEC que contiene información sobre el estado en que deben quedar los fusibles del PLD sobre el estado en que deben quedar los fusibles del PLD elegido. elegido.
El fichero en formato JEDEC servirá para la programación El fichero en formato JEDEC servirá para la programación posterior del chip en un equipo comercial. Si en la etapa de posterior del chip en un equipo comercial. Si en la etapa de diseño en lugar de una PAL o FPLA se especifica una PROM, la diseño en lugar de una PAL o FPLA se especifica una PROM, la mayoría de los compiladores de PLDs generan un fichero mayoría de los compiladores de PLDs generan un fichero ASCII con un formato diferente al JEDEC.ASCII con un formato diferente al JEDEC.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3535
PROCESO DE DESARROLLO DE PLDsPROCESO DE DESARROLLO DE PLDs
Programación Programación Para transportar la salida del compilador Para transportar la salida del compilador
contenida en el fichero JEDEC al chip, se utiliza un contenida en el fichero JEDEC al chip, se utiliza un programador de PLDs. programador de PLDs.
La mayoría de los equipos de programación La mayoría de los equipos de programación verifican el estado de los fusibles para asegurarse verifican el estado de los fusibles para asegurarse
de que la programación ha sido correcta.de que la programación ha sido correcta.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3636
PROCESO DE DESARROLLO DE PLDsPROCESO DE DESARROLLO DE PLDs
Verificación del dispositivoVerificación del dispositivo Consiste en aplicar físicamente los vectores de Consiste en aplicar físicamente los vectores de
test al dispositivo programado y comparar la test al dispositivo programado y comparar la salida real con la salida esperada. Este paso se salida real con la salida esperada. Este paso se realiza en el programador de PLDs, realiza en el programador de PLDs, inmediatamente después de la programación. inmediatamente después de la programación.
Es importante que los vectores de test hayan sido Es importante que los vectores de test hayan sido diseñados de forma que pongan a prueba la diseñados de forma que pongan a prueba la totalidad de los nodo s internos del PLD, de esta totalidad de los nodo s internos del PLD, de esta forma se evita que puedan utilizarse PLD forma se evita que puedan utilizarse PLD defectuosos que resultarían más difíciles de defectuosos que resultarían más difíciles de detectar una vez montados en placas de circuito detectar una vez montados en placas de circuito impreso.impreso.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3737
Programación de los PLDsProgramación de los PLDs
Para poder programar estos PLDs, son Para poder programar estos PLDs, son necesarios los siguientes componentes:necesarios los siguientes componentes:
• Computador que cumpla los requerimientos del Computador que cumpla los requerimientos del Compilador.Compilador.
• Editor de texto (Edit, Word Pad, etc)Editor de texto (Edit, Word Pad, etc)• Compilador de PLDs:Compilador de PLDs:
( Orcad-PLD, CUPL, Altera)( Orcad-PLD, CUPL, Altera)• Programador Universal de Circuitos Integrados.Programador Universal de Circuitos Integrados.
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica
3838
EJEMPLO CON EL COMPILADOR OrCAD/PLDEJEMPLO CON EL COMPILADOR OrCAD/PLD
EJEMPLO DE PUERTAS BASICASEJEMPLO DE PUERTAS BASICAS|PAL12H6|PAL12H6|in: (A, B, C, D, E, F, G), out:Y[1..6]|in: (A, B, C, D, E, F, G), out:Y[1..6]
|Y1 = A & B |Y1 = A & B |AND |AND|Y2 = C # D|Y2 = C # D |OR |OR|Y3 = B ## F |XOR|Y3 = B ## F |XOR|Y4 = G‘|Y4 = G‘ |NOT |NOT|Y5 = (B & C)|Y5 = (B & C)‘ |NAND‘ |NAND|Y6 = (E # F)|Y6 = (E # F)‘ |NOR‘ |NOR|Vectors:|Vectors:| {| {| | display A, B, C, “ A & B = “ Y1, “ (B & C)display A, B, C, “ A & B = “ Y1, “ (B & C)‘ = ‘ = “, Y5“, Y5|test A,B,C|test A,B,C|end|end|}|}
Ing. RAUL HINOJOSA SANCHEZ
Sistemas Digitales
Universidad Nacional San Luís Gonzaga de ICA Esc. de Ingeniería Electrónica