DIGITALES II Ing. Hugo Fdo. Velasco Peña Profesor Estudiante Auxiliar Universidad Nacional de Colombia http://www.docentes.unal.edu.co/hfvelascop Introducción Este curso se centra en el diseño de sistemas digitales. Mas exactamente pretende mostrar algunas de las técnicas de diseño que son empleadas para la solución de algoritmos que son susceptibles de ser resueltos por medio de sistemas digitales. SISTEMAS DIGITALES Un Sistema digital es cualquier dispositivo destinado a la generación, transmisión, procesamiento o almacenamiento de señales digitales. El sistema digital mas conocido es el computador. El cual ha tenido en las ultimas décadas un papel primordial en el desarrollo tecnológico. COMPUTADOR DIGITAL Unidad de Control Procesador o Unidad Aritmética Almacenador o Unidad de Memoria Dispositivo de E/S y Control Cada una de las partes es un sistema digital ALGORITMOS Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. Cada una de las partes de un sistema o de un computador digital realiza un proceso que puede ser descrito como un algoritmo. El estudio de cómo implementar un algoritmo en un sistema digital , de manera optima, es el objetivo de este curso. OBJETIVOS Diseño e implementación de sistemas digitales complejos, utilizando Lenguajes de Descripción de Hardware. Estudio del lenguaje de descripción de Hardware VHDL. Fomentar los métodos de diseño sobre circuitos electrónicos programables. Estudio de la arquitectura de un procesador. Proporcionar los conocimientos para comprender las arquitecturas CISC y RISC, y detectar sus ventajas y aplicaciones. Desarrollar fundamentos teóricos que permitan abordar la teoría y práctica del procesamiento digital. FPGA Field Programmable Gate Array. Tambien llamadas LCA (Logic Cell Array). Introducidas por Xilinx en 1985. TIPOS DE ARQUITECTURA MATRIZ SIMETRICA Xilinx TIPOS DE ARQUITECTURA BASADA EN CANALES ACTEL Altera TIPOS DE ARQUITECTURA PLD JERARQUICO Altera CPLDs de Xilinx TIPOS DE ARQUITECTURA MAR DE PUERTAS ORCA TECNOLOGIAS DE PROGRAMACION TECNOLOGIAS DE PROGRAMACION FPGAs basadas en SRAM Xilinx, Inc. Altera Corp. Atmel Lattice Semiconductor FPGAs basadas en Flash & antifuse Actel Corp. Quick Logic Corp. CPLD (ARQUITECTURA) CPLD (BLOQUE LOGICO) FPGA (XILINX SPARTAN-3) IOB CLB DE UNA XILINX SPARTAN3 CLB DE UNA XILINX SPARTAN3 BLOQUES DE MEMORIA MULTIPLICADORES INTERCONEXIONES INTERCONEXIONES PROGRAMACION FOOTPRINT FPGA CYCLONE II DE ALTERA FPGA CYCLONE II DE ALTERA FPGA CYCLONE II DE ALTERA FPGA CYCLONE II DE ALTERA CPLD (CARACTERISTICAS MAX7000B DE ALTERA) FPGA (CARACTERISTICAS SPARTAN3 DE XILINX) FPGA (CARACTERISTICAS VIRTEX-E DE XILINX) EJEMPLO 2 Four-input function generators (Look Up Tables) 1 Three-input function 2 Registers: - Pos. or Neg. edgetrig. Synchronous and asynchr. Set/Reset Possible functions: any fct of 5 var. two fcts of 4 var. + one fct of 3 var. some fct of 9 var. EJEMPLO Implement the following functions on a single CLB of the XC4000 FPGA X = A’B’ (C + D) Y = AK + BK + C’D’K + AEJL Use look up table F to implement X Use look up table G for AEJL Use F, G and H for Y: Y = K(A+B + C’D’) + AEJL = KX’ + AEJL= KF’+G EJEMPLO EJEMPLO