Introducción al CAD-EDA. Evolución del diseño electrónico Modelado de sistemas Lenguajes de descripción de hardware Metodologías y flujos de diseño

Documentos relacionados
Introducción TEMA 1 TECNOLOGÍA DE LOS CI. ME Tema 1 Lección 1 Aspectos generales sobre diseño microelectrónico 1

Objetivos. Instituto Tecnológico de Costa Rica Escuela de Ingeniería Electrónica I SEMESTRE Contenido del Curso EL FLUJO DE DISEÑO O DIGITAL

VHDL. Lenguaje de descripción hardware Introducción e historia

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

IEE 2712 Sistemas Digitales

ABSTRACCIONES DE UN SISTEMA DIGITAL

Laboratorio de Diseño de Sistemas Digitales

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Breve Curso de VHDL. M. C. Felipe Santiago Espinosa. Profesor Investigador UTM

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. Introducción. Fabricantes. Elevada complejidad. Facilitar tareas de diseño

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

XVI. utilizarlos de la forma más eficiente posible en el diseño de sistemas digitales.

Metodologías de diseño de hardware

M. C. Felipe Santiago Espinosa

Distinguir correctamente las ventajas y desventajas de la lógica cableada y de la lógica programada con PLC.

BLOQUE 2 (PARTE 1) DEFINICIÓN Y CLASIFICACIÓN

Principios de Computadoras II

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

Diseño de Sistemas Digitales Utilizando FPGA

TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS

CAPITULO I INTRODUCCIÓN. Diseño Digital

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

FICHA PÚBLICA DEL PROYECTO

Capítulo 1: Diseño Estructurado:

SISTEMAS DE DETECCIÓN DE INTRUSOS EN LA PLATAFORMA NETFPGA USANDO RECONOCIMIENTO DE EXPRESIONES REGULARES.

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software

Tema V Generación de Código

Dispositivos Lógicos Programables

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

Unidad I: Organización del Computador. Ing. Marglorie Colina

Requerimientos de Software

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

TEMA 7: INGENIERIA DEL SOFTWARE.

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

TEMA I INTRODUCCIÓN A LA MICROELECTRÓNICA

Electrónica Digital II

Metodología para diseñar un Contador de Centenas utilizando Alliance CAD

Lógica Programable -Introducción - Introducción n a los Sistemas Lógicos y Digitales 2008

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

CAPITULO 1 INTRODUCCION AL PROYECTO

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

1. Computadores y programación

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Filtrado de imágenes usando hardware dedicado

Índice. Segundo cuatrimestre Fundamentos de los Computadores. Tema 1: conceptos generales sobre sistemas digitales. FC_2P Tema 1 ISI - ESCET - URJC 1

Metodología de diseño de Sistemas de Control

Creación y Mantenimiento de Componentes Software en Sistemas de Planificación de Recursos Empresariales y de Gestión de...

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Introducción a los Sistemas Digitales. Tema 1

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

CIRCUITO 1: CIRCUITO RC

AUTOMATIZACIÓN INDUSTRIAL

Grado en Ingeniería Informática. Plan de proyecto. Desarrollo de Sistemas de Información Corporativos. Departamento de Informática

Tema: Microprocesadores

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

NECESIDAD DE VERIFICACIÓN Y PRUEBAS A PCB S

Cap. 1. Introducción a la Arquitectura de Dispositivos Móviles

Departamento Ingeniería en Sistemas de Información

Ingeniería a de Software CC51A

PROGRAMA DE LA ASIGNATURA: SISTEMAS ELECTRÓNICOS DIGITALES

FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).

Diseño de una calculadora

Capítulo III: MARCO METODOLÓGICO

Alternativas de implementación: Estilos

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

Capacitación adquirida por el alumno al finalizar este modulo

Guía del Curso Técnico en Mantenimiento de CRM: Recursos Empresariales y de Gestión de Relaciones con Clientes

Tebis es proceso. Tebis versión

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

ASIGNATURA: SISTEMAS DE CONTROL CÓDIGO: Teórico #4 Cursada 2015

Resultado de Aprendizaje:

Diseño de Circuitos Integrados I. página >>1. Universitat Autònoma de Barcelona Curso académico Elena Valderrama. Ingeniería Informática

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

Instituto Schneider Electric de Formación

INNOVACIÓN : CAMBIO Y CREACIÓN

VHDL y el método de diseño basado en descripción y síntesis. RESUMEN.

UNIVERSIDAD RICARDO PALMA


Introducción 7. Introducción

CURSO BÁSICO DE SOLIDWORKS

METODOLOGIAS DE DISEÑO PARA COMPUTACIÓN RECONFIGURABLE.

Introducción a la arquitectura de computadores

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

ENTORNO DE SIMULACIÓN Y CONTROL DE UN ROBOT VELOCISTA

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES

ENeldiseño de circuitos integrados de aplicación específica

FICHA PÚBLICA DEL PROYECTO

Desarrollo y Construcción de Prototipos Electrónicos

Diseño y desarrollo de un módulo de conexión a CANopen de un sensor comercial fuerza/par

1.1. Introducción. Definiciones

PR1: Programación I 6 Fb Sistemas Lógicos 6 Obligatoria IC: Introducción a los computadores 6 Fb Administración de

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

SISTEMAS ELECTRÓNICOS DIGITALES

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Transcripción:

Introducción al CAD-EDA Evolución del diseño electrónico Modelado de sistemas Lenguajes de descripción de hardware Metodologías y flujos de diseño

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 70: Tecnologías más usadas: CI digitales: NMOS CI analógicos: bipolar CI componentes estándar diseñados e implementados en las fábricas. Diseño altamente manual, concentrado en niveles eléctricos (conexiones y caracterísicas a nivel de transistor) y topográficos (layouts) Herramienta CAD: SPICE. Memorias DRAM de 1 Kbit (1970). µp 4004 (PMOS) de 4 bits (1971). Finales de la década: memorias de 16 Kbits y procesadores de 16 bits (8086). Estos avances facilitan la aparición de nuevas plataformas Hw. Nacimiento de los miniordenadores; fin de los mainframes.

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 80: Tecnologías más usadas: CI digitales: CMOS CI analógicos y mixtos: bipolar A finales de la década: BiCMOS, facilita el desarrollo de circuitos mixtos A/D Desfase entre tecnología y diseño. La escasez de herramientas y metodologías de diseño dificultan y encarecen la fabricación de CI complejos. CI siguen desarrollando componentes estándar de mayor complejidad. Aparecen los CI que pueden ser diseñados por los ingenieros de la aplicación.

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 80: Cronológicamente: Full-custom. El diseñador acomete los niveles eléctricos y geométricos. Grandes volúmenes o/y proyectos con grandes restricciones (area, tamaño, consumo...) Matrices de puertas predifundidas (semi-custom/gate arrays). Estructura regular de dispositivos básicos (transistores) prefabricada, personalizable mediante un conexionado específico. Diseño a base de biblioteca de celdas. Celdas estándar precaracterizadas (semi-custom/estándar-cells). No existe estructura fija prefabricada. Se cuenta con bibliotecas de celdas y módulos precaracterizados y específicos para cada tecnología. Bastante libertad de diseño pero el desarrollo exige un proceso de fabricación completo. Lógica programable (FPGA, CPLD). Dispositivos totalmente fabricados y verificados, personalizables desde el exterior mediante técnicas de programación (RAM, fusibles...). Diseño basado en bibliotecas y mecanismos específicos de mapeado de funciones. La implementación tan solo requiere de una fase de programación que puede realizar el propio diseñador. ASIC (Application Specific Integrated Circuits)

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 80: Herramientas CAD: Nivel físico: Diseño eléctrico y geométrico de celdas y bloques básicos mediante técnicas de diseño a medida. Procesos de ubicación y conexionado (place & route) de celdas y bloques para generar la topografía del circuito a partir de su esquema de componentes y conexionado. Procesos de verificación eléctrica y geométrica presentes en ambos contextos. Nivel de puertas (estructural: componentes y conexiones): captura de esquemas, simulación funcional y de faltas, análisis de tiempos, generación de estructuras y vectores de test, etc. La herramientas CAD forman entornos integrados que comparten una base de datos y un interfaz único. Se empiezan a desarrollar métodos y herramientas para abordar el diseño a nivel funcional. En 1987 nace el VHDL cuya implantación definitiva tendrá lugar en la década siguiente

Nivel funcional Diseño a nivel arquitectural estructural Diseño a nivel físico Fabricación test y producción Iteraciones de corrección, retroanotación y validación Requisitos, restricciones y especificaciones funcionales Captura de diseño (esquemático) Simulaciones (pre/post-diseño físico): funcional-lógica, temporal, fallos Ubicación y conexionado (layout) Verificación y análisis Fabricación Test de prototipos Producción Biblioteca de celdas Estímulos de simulaciones + Vectores de test Flujo genérico de diseño ascendente de circuitos semicustom ASIC y FPGA Diseño físico distinto en ASIC y FPGA, Los FPGA no necesitan test estructural

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 90: Tecnologías utilizadas: CMOS 75% de mercado. Bipolares/ECL 15% BiCMOS crece hasta un 5% NMOS, TTL, AsGa 5% Nuevas tecnologías de encapsulado: módulos multichip (MCM multichip modules): Chips en forma de dado sobre diversos tipos de sustratos en los que previamente se habrán implementado las conexiones entre los distintos chips. Técnica que aumenta las prestaciones (consumo, velocidad) y reduce el tamaño de los sistemas electrónicos. Avances en tecnologías submicrónicas (procesos CMOS capaces de albergar millones de transistores en pocos mm 2 ). Posibilidad de incluir sistemas completos en un chip de silicio (SoC, systems on chip;sos systems on silicon). El cuello de botella está más en el diseño que en la tecnología. Los diseños complejos se basan en macro bloques funcionales (CPU, DSP, microcontrolador...) desarrollados a nivel Sw (ejem. Código VHDL sintetizable) u optimizados a nivel Hw (layout o topografías específicas). Aumento del diseño A/D (BiCMOS). Avances en diseños A/D/P. Los ASIC (custom y semicustom) pierden relevancia frente a las enormes prestaciones y complejidad de los dispositivos programables. Solo se utilizan en producciones elevadas o con requisitos muy restrictivos.

EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 90: Metodologías: Implantación progresiva de lenguajes de descripción de software (Verilog y VHDL) que junto con herramientas de simulación y síntesis promueven metodologías de diseño descendente (top-down). El esfuerzo del diseño se concentra en el nivel funcional arquitectural diseños independientes de la tecnología. Simulación mixta multinivel (funcional, RT y lógica). Síntesis: comportamental en fase de desarrollo. RT, lógica y física conocida y utilizada. Globalización del diseño electrónico ha permitido la evolución y especialización del CAD genérico en EDA que a su vez desarrolla la ingeniería concurrente: simultanear las diferentes fases del desarrollo de un diseño, de forma que los resultados de algunas de ellas puedan influir en pasos previos. Toda esta evolución ha sido posible gracias al enorme desarrollo de las plataformas Hw/Sw, que son elemento donde se ha cimentado la evolución del diseño electrónico.

MODELADO DE SISTEMAS El modelo es la representación de un sistema, en el que se representa la información con un grado de abstracción determinado: comportamiento, entrada/salida, estructura, etc. El modelado es útil en diversas fases del diseño de sistemas digitales: Se puede utilizar un modelo para especificar sin ambigüedad los requerimientos que ha de cumplir un circuito digital a diseñar. Para mostrar el funcionamiento de un diseño. Para verificar el correcto funcionamiento de un diseño mediante simulación. Utilización de procedimientos de síntesis automática de circuitos a través de modelos.

DOMINIOS Y NIVELES DE ABSTRACCIÓN EN EL MODELADO DE SISTEMAS DIAGRAMA DE GAJSKI-KUHN ESTRUCTURAL FUNCIONAL Procesador memoria Transferencia de registros Puertas lógicas transistores Algortimos Lenguaje de transferencia de registros Ecuaciones lógicas Ecuaciones diferenciales Trazado (Layout) Grupo de bloques GEOMÉTRICO Plano base Particiones físicas - + ABSTRACCIÓN

MODELADO CON HDL: NIVELES DE ABSTRACCIÓN Y ESTILOS DESCRIPTIVOS. Nivel de abstracción: grado de detalle de una descripción HDL respecto a la implementación física. PRECISIÓN TEMPORAL Relaciones causales sin planificación temporal Acciones agrupadas en distintos estados sincronizadas por un reloj Retrasos de componentes y conexiones Funcional o comportamental: Sistema: relación entre las entradas y salidas sin hacer referencia a la implementación. Descripciones al estilo de Sw de alto nivel, que reflejan la funcionalidad de los módulos (algorítmicas) Arquitectural o de transferencia de registros (RT). División en bloques funcionales, con planificación en el tiempo de las acciones a desarrollar (ciclos de reloj). Descripciones basadas en ecuaciones y expresiones que reflejan el flujo de datos y las dependencias entre datos y operaciones. Lógico o de puertas. Componentes del circuito expresados en términos de ecuaciones lógicas o puertas y elementos de una biblioteca. Descripciones estructurales: se especifican componentes, conexiones y puertos de E/S Abstractos y def. usuario Enteros Bits TIPOS DE DATOS

LENGUAJES DE DESCRIPCIÓN DE HARDWARE. Lenguajes de alto nivel con sintaxis similar a los lenguajes de alto nivel (C, ADA, PASCAL) con una semántica y sintaxis orientada al modelado y descripción de circuitos electrónicos. Los HDL permiten descripciones de circuitos con alto nivel de abstracción e independientes de la implementación tecnológica final, que puede ser detallada en distintas fases del diseño hasta llegar a la implementación física dependiente de la tecnología. En la actualidad se utilizan fundamentalmente VHDL, Verilog y SystemC. Otro HDL, el UDI/L se utiliza exclusivamente en Japón. VHDL (Very High Speed Integrated Circuit Hardware Description Language). Nace como proyecto del Departamento de Defensa (DoD) de EEUU (año 82) para disponer de una herramienta estándar, independiente para la especificación (modelado y/o descripción) y documentación de los sistemas electrónicos. El IEEE lo adopta y estandariza. Verilog: Sw de la firma Gateway y posteriormente de Cadence. Estándar industrial hasta que apareció el VHDL como estándar IEEE. En 1990 Cadence lo hace público y el IEEE lo estandariza en 1995. SystemC: es una extensión del C++, que utiliza unas bibliotecas de clase para describir y simular circuitos digitales. Se publicó en 1.999.

VENTAJAS DE USAR HDL Interpretable por personas: Modelado intercambiable de diseños, documentación de proyectos, mantenimiento de diseños etc. por máquinas: Simulación, síntesis y verificación. Disponibilidad pública: definidos, documentados y mantenidos por instituciones como IEEE. Descripciones con múltiples niveles de abstracción. Utilizar un solo lenguaje a lo largo de todo el proceso de diseño (modelado, simulación, verificación, etc.) reduce el número de herramientas y formatos a utilizar. Al ser lenguajes estandarizados proporcionan portabilidad de los modelos para simulaciones. No tanto en síntesis pues no está totalmente estandarizada por el IEEE. Reutilización del código en diseños sobre distintas tecnologías (CMOS, BiCMOS; etc) o implementaciones(asic, FPGA, CPLD,..)

METODOLOGÍAS Y FLUJOS DE DISEÑO Diseño Botton-up: En la descripción del diseño se empieza por los componentes (pueden pertenecer a una librería) más pequeños del sistema. Se agrupan estos componentes forman o bloques de mayor complejidad y así sucesivamente. Ineficiente para diseños complejos Dependiente de la tecnología Especicicación funcional Proceso manual Descomposición descendente Arquitectura Proceso automático Composición de mayor complejidad Composición ascendente Composición de mayor complejidad Bloques y módulos básicos Biblioteca de celdas

METODOLOGÍAS Y FLUJOS DE DISEÑO Diseño Top-down: Concepción del sistema a nivel funcional. Incluyendo la descripción y simulación de especificaciones. Se suceden sucesivas etapas de descomposición en susbsistemas y bloques hasta llegar a una descripción RT que sea sintetizable. Descripciones independientes de la tecnología: aumenta la reutilización del diseño.

METODOLOGÍAS Y FLUJOS DE DISEÑO Diseño: especificaciones funcionales en HDL Refinamiento gradual en HDL HDL: simulación y análisis Diseño: modelo HDL a nivel arquitectural-rt Síntesis RT-lógica Diseño: lista de componentes e interconexiones (Netlist) Diseño físico: ubicación y conexionado Layout (en función de la implementación)