Dispositivos Lgicos Programables PLDs Cristian Sisterna Universidad Nacional
Dispositivos Lógicos Programables (PLDs) Cristian Sisterna Universidad Nacional de San Juan ARGENTINA
Evolución de los PLDs C. Sisterna DSDA 2
Familia de PLDs • Dispositivos Programables Simples (SPLD) • Dispositivos Programmables Complejos (CPLD) • Arreglo de Compuertas Programables en Campo (Field Programmable Gate Arrays, FPGAs) C. Sisterna DSDA 3
Familia de PLDs C. Sisterna DSDA 4
Programmable Logic Array (PLA) “m” salidas “n” entradas “p” términos producto C. Sisterna DSDA 5
PLA Representación compacta C. Sisterna PLA 4 x 3 programado DSDA 6
GAL C. Sisterna DSDA 7
Field Programmable Gate Arrays
Celda de Configuración del FPGA Elemento básico no-lógico Determina la configuración de cada elemento lógico Determina la configuración de los elementos de ruteo e interconexiones C. Sisterna DSDA 9
Celdas de Configuración del FPGA Tipos de Celdas SRAM Anti-Fuse Flash y SRAM C. Sisterna DSDA 10
Celda de Configuración SRAM La configuración de los elementos lógicos y los de ruteo e interconexión son almacenados en celdas SRAMs Ventajas: Proceso de fabricación estándar Costos muy bajos Proceso súper-comprobado Alto rendimiento Infinitamente reprogramable Programable en circuito (In System Programable) Rápida y fácil actualización C. Sisterna DSDA 11
Celda de Configuración SRAM Desventajas: Celda volátil Simple glitch en Vcc desconfigura el FPGA Retardos en ruteo largos debido al retardo de la celda SRAM Necesidad de una memoria de configuración externa Tiempo de configuración lento ~500 ms Inseguridad debido a la conexión FPGA-Memoria de configuración que puede ser ‘leída’ C. Sisterna DSDA 12
Celda de Configuración Anti-Fuse La configuración de los elementos lógicos y los de ruteo e interconexión son almacenados en celdas Anti-Fuse (ACTEL) C. Sisterna DSDA 13
Celda de Configuración Anti-Fuse Ventajas: No es volátil Retardos de conexiones de ruteo son pequeños No sensibles a bombardeo de partículas iónicas Muy usados en sistemas espaciales C. Sisterna DSDA 14
Celda de Configuración Anti-Fuse Desventajas: Proceso de fabricación específico Costos elevados One-Time-Programmable (OTP) Proceso de verificacion muy largo y riguroso Proceso muy caro No sensibles a bombardeo de partículas iónicas Muy usados en sistemas espaciales C. Sisterna DSDA 15
Celda de Configuración Flash La configuración de los elementos lógicos y los de ruteo e interconexión son almacenados en celdas Flash C. Sisterna DSDA 16
Celda de Configuración Flash Ventajas: No es volátil Retardos de conexiones de ruteo son pequeños Sensibilidad baja a bombardeo de partículas iónicas Usados en sistemas espaciales C. Sisterna DSDA 17
Celda de Configuración Flash Desventajas: FPGA es bastante caro Proceso se esta haciendo mas común últimamente Proceso de reconfiguración bastante largo (~3 -5 seg) C. Sisterna DSDA 18
Celda de Configuración Flash-SRAM Las celdas Flash se usan para guardar los datos de configuración del FPGA Las celdas SRAM para la configuración de los elementos lógicos y los de ruteo e interconexión Cuando de alimenta el FPGA, las celdas SRAM se configuran en forma casi instantanea desde las celdas Flash. C. Sisterna DSDA 19
Celda de Configuración Flash-SRAM Ventajas: Prácticamente ‘no es volátil’ Tiempo de configuración es bastante bajo (~<1 ms) Se pueden configurar solo las celdas SRAM Durante el proceso de debug o prototipo No se necesita una memoria de configuración externa Menos espacio en el PCB Sistema no vulnerable – Sistema seguro C. Sisterna DSDA 20
Celda de Configuración Flash-SRAM Desventajas: FPGA es caro Proceso se esta haciendo mas común últimamente C. Sisterna DSDA 21
CYCLONE IV FPGA C. Sisterna DSDA 22
Cyclone IV – General View C. Sisterna DSDA 23
Cyclone FPGA Familiy �Cyclone IV devices are targeted to highvolume, cost-sensitive applications, enabling system designers to meet increasing bandwidth requirements while lowering costs Built on an optimized low-power process, the Cyclone IV device family offers the following two variants: � Cyclone IV E—lowest power, high functionality with the lowest cost C. Sisterna DSDA 24
Cyclone IV E Family C. Sisterna DSDA 25
Cyclone Core Fabric �Logic Elements: 4 -input look up tables �M 9 K Memory Blocks: 9 Kbits of embedded SRAM �Embedded Multiplier: 18 x 18 or two 9 x 9 multipliers in a single block C. Sisterna DSDA 26
LOGIC ELEMENT C. Sisterna DSDA 27
Logic Elements (LE) Each LE has the following features: � A four-input look-up table (LUT), which can implement any function of four variables � A programmable register � A carry chain connection � A register chain connection � The ability to drive the following interconnects: ◦ Local ◦ Row ◦ Column ◦ Register chain ◦ Direct link C. Sisterna DSDA 28
Logic Element C. Sisterna DSDA 29
Tabla de Búsqueda–Look-up Table (LUT) FPGA Lógica Programable 30
Logic Array Block �Logic array blocks (LABs) contain groups of LEs �Each LAB consists of the following features: ◦ ◦ ◦ 16 LEs LAB control signals LE carry chains Register chains Local interconnect C. Sisterna DSDA 31
LAB Structure C. Sisterna DSDA 32
FPGA ROUTING C. Sisterna DSDA 33
FPGA: Interconnect - Routing C. Sisterna DSDA 34
FPGA: Interconnect - Routing Transistor de Paso Y 0 Y M PIP C. Sisterna DSDA 35
FPGA: Interconnect - Routing C. Sisterna DSDA 36
FPGA: Interconnect - Routing C. Sisterna DSDA 37
FPGA: Interconnect - Routing C. Sisterna DSDA 38
IMPLEMENTATION OF MEMORY IN FPGA C. Sisterna DSDA 39
Memory RAM ROM Memory Single port Dual port Memory With asynchronous read FPGA With synchronous read Lógica Programable 40
Memory Distributed (MLUT-based) Block RAM-based (BRAM-based) Memory Inferred Instantiated Manually FPGA Lógica Programable Using Core Generator 41
Embedded Multitplier �Each embedded multiplier consists of the following elements: ◦ Multiplier stage ◦ Input and output registers ◦ Input and output interfaces C. Sisterna DSDA 42
Embedded Multiplier C. Sisterna DSDA 43
INPUT/OUTPUT FEATURES C. Sisterna DSDA 44
Cyclone IV I/O Elements SDR Mode C. Sisterna DSDA 45
Cyclone I/O Features �Cyclone device I/O supports: ◦ ◦ ◦ ◦ Programmable bus hold Programmable pull-up resistors Programmable delay Programmable drive strength Programmable slew rate control Hot socketing Calibrated on-chip series termination or dirves impedance matching ◦ Cyclone GX offers high-speed transceiver I/Os C. Sisterna DSDA 46
I/O Standards C. Sisterna DSDA 47
I/O Standards C. Sisterna DSDA 48
I/O Banks C. Sisterna DSDA 49
I/O LVDS Implementation C. Sisterna DSDA 50
FPGA CONFIGURATION C. Sisterna DSDA 51
Active Serial Configuration C. Sisterna DSDA 52
Pasive Serial Configuration C. Sisterna DSDA 53
PS Configuration with a Micro C. Sisterna DSDA 54
JTAG Configuration C. Sisterna DSDA 55
Active Parallel Configuration C. Sisterna DSDA 56
- Slides: 56