CAD-MISE10-11

CAD-MISE

HERRAMIENTAS PARA EL DISEÑO ELECTRÓNICO (DASE)

Curso 2010/2011

AVISOS IMPORTANTES

  • Enunciado del ejercicio de Routing disponible.
  • 28-02-2011: Actualizadas las transparencias de partición.
  • 24-02-2011: Habilitado un buzón en la web de moodle para la entrega del ejercicio 1 en formato electrónico
  • 22-02-11: actualizadas las transparencias del tema de Grafos y Algoritmos
  • 25-02-11: Fecha de entrega del primer ejercicio.
  • 14-02-2011: Comienzo de las clases, aula B6.

Denominación: Herramientas para el Diseño Electrónico.
Número de créditos europeos (ECTS): 4
Carácter (obligatorio/optativo): Optativo
Unidad Temporal: 2º semestre
Sistemas de evaluación y calificación: Examen (40% de la nota final) Trabajo final
(30% de la nota final) y ejercicios (30% de la nota final)


Objetivos

Este curso está dedicado a ofrecer una panorámica de las distintas herramientas CAD involucradas en cada una de las fases
del diseño de un sistema VLSI, estudiando los diferentes tipos, algoritmos involucrados, características, etc. Se hará especial 
énfasis en la forma de tratar (algoritmos y
 estructuras de datos) la cantidad de información (funcional y geométrica) que reside 
en un sistema VLSI complejo. No es un curso sobre circuitos, sino sobre cómo representar
 y abordar los problemas inherentes 
a su diseño. Se comenzará tratando problemas clásicos asociados a la fase de diseño físico de
 sistemas VLSI, como son colocación 
y conexionado de bloques. Estos temas introducirán una gran parte de los conceptos usados más tarde al tratar otros
 problemas 
relacionados con el trazado de circuitos integrados, como son edición y verificación de layouts, compactación, estimación de 
área y retardos, etc.
 Posteriormente, se pasará al estudio de otro tipo de herramientas que permiten hoy en día que el diseñador 
trabaje a niveles de abstracción mucho más altos. Este es el caso
 de las herramientas de optimización de lógica, tanto 
combinacional como secuencial. 


Finalmente, se abordará también de forma más descriptiva temática de mayor nivel de abstracción, como es codiseño hardware/software, 
metodologías de diseño System-On-
Chip, especificación y modelado, consideraciones de consumo, arquitecturas destino, particionado, 
generación de interfaces, síntesis de alto nivel, generación de código,
 estimación, cosimulación y verificación.

Programa

1. Introducción. Metodologías de diseño.Transparencias

2. Fundamentos. Teoría de grafos.Transparencias

3. Métodos para optimización combinatoria de propósito general:

  • El recocido simulado. 
  • Otros métodos (búsqueda tabú, programación dinámica, etc.)

4. Partición: Transparencias

  • Introducción al problema.
  • Algoritmos clásicos.
  • Utilización de recocido simulado

5. Colocación de objetos:

  • Colocación de objetos en 0-d: Técnicas matemáticas. Transparencias
  • Colocación de objetos en 1-d: Técnicas basadas en hileras. Transparencias
  • Colocación de objetos en 2-d: Representaciones y algoritmos básicos.

6. Conexionado:Transparencias

  • Terminología. Conceptos básicos y formulación. Tipos de conexionado
  • Conexionado Global: Modelo y representaciones. Grafos de canales. Definición de regiones. Orden de conexionado
  • Conexionado de canal: Modelos. Left-Edge Algorithm. Otros algoritmos

7. Herramientas para diseño Full-custom:

  • Edición de trazado
  • Compactación
  • Verificación de trazado

8. Optimización y síntesis de lógica combinacional:

  • Optimización de lógica de dos niveles.
  • Optimización de lógica multi-nivel

9. Diseño de lógica secuencial: Síntesis de FSM

10. Síntesis de alto nivel. 

  • Tareas de planificación y asignación. 
  • Algoritmos en herramientas CAD. 
  • Síntesis en FPGAs. Estado del arte (herramientas). 
  • Técnicas de estimacion de la síntesis de alto nivel.
11. Codiseño Hardware/Software.
  • Niveles de abstracción. Componentes HW-SW.
  • Comunicaciones HW-SW.
  • Metodología de codiseño e introducción a las tareas de codiseño.
  • Dominios de aplicación.

12. Modelos de Especificación y Lenguajes.
  • Modelos de computación y lenguajes. Propiedades
  • Modelos para sistemas reactivos: FSM y Redes de Petri
  • Modelos para sistemas gobernados por flujo de datos: Dataflow Networks
  • Otros modelos y lenguajes.
  • Formato intermedio, transformaciones de código.

13. Verificación.
  • Simulación a distintos niveles de abstracción.
  • Verificación formal. Circuitos combinacionales y secuenciales.
  • Análisis temporal estático.
14. Técnicas de compilación para arquitecturas reconfigurables
  • Arquitecturas reconfigurables.
  • Flujos de compilación y síntesis.
  • Técnicas de mapeo y optimización.

Profesorado

Imparten la asignatura: 

Ejercicios

  1. Grafos y algoritmos. Enunciado. Fecha de entrega: 25 de Febrero de 2011.
  2. Partición. Enunciado. Fecha de entrega: 11 de Marzo de 2011.
  3. Routing. Enunciado. Fecha de entrega: 8 de Abril de 2011.

Proyecto Final

  1. Enunciado de la primera parte. Colocación puntual.
    • Netlist de circuitos de prueba.

 Circuito    Rejilla
 Example1.net 6x6
 Primary1.net 32x32
 Primary2.net 60x60



Comments