Síntesis de Sistemas Digitales: VHDL, componentes virtuales, dispositivos programables
Profesores:
- Jean Pierre Deschamps
Profesor Titular en el Departamento de Ingeniería Electrónica, Eléctrica y Automática de la Universidad Rovira i Virgili (Tarragona), Área de Tecnología Electrónica.
Jean Pierre Deschamps received an MS degree in electrical engineering from the University of Louvain, Belgium, in 1967, the PhD in computer science from the Autonomous University of Barcelona, Spain, in 1983, and a PhD degree in electrical engineering from the Polytechnic School of Lausanne, Switzerland, in 1984. He worked in several companies and universities. He is currently a professor at the University Rovira i Virgili, Tarragona, Spain. His research interests include ASIC and FPGA design, digital arithmetic and cryptography. He is the author of seven books and about a hundred international papers.
- Gustavo Sutter
Universidad Autónoma de Madrid (UAM), Escuela Politécnica Superior. Profesor Ayudante Doctor LOU dedicación exclusiva.
Gustavo Sutter received an MS degree in Computer Science from State University UNCPBA of Tandil (Buenos Aires) Argentina, and a PhD degree from the Autonomous University of Madrid, Spain. He has been a professor at the UNCPBA Argentina and is currently a professor at the Autonomous University of Madrid Spain. His research interests includes ASIC and FPGA design, digital arithmetic, and development of embedded systems. He is the author of one book and about 35 international papers and communications.
Turno:
Doble: Mañana y tarde (9 a 12 hs y 14 a 17 hs). Duración 30 horas. Proyecto final.
Requisitos:
Conocimientos de circuitos digitales, arquitectura y aritmética de computadoras, programación.
Idioma:
Castellano
Síntesis:
El desarrollo de Sistemas en un Chip (SOC - System On Chip, Embedded System) se basa en el uso de herramientas informáticas de descripción, simulación, síntesis e implementación, y en la disponibilidad de bibliotecas de componentes virtuales (IP - Intellectual Property components). Este curso constituye una introducción al uso de dichos métodos y herramientas de desarrollo. Es un tema multidisciplinario:
- el objetivo final es el desarrollo de sistemas electrónicos;
- el diseño incluye tanto la síntesis de circuitos digitales como la generación de programas, con lo cual se puede hablar de co-diseño hardware - software;
- se usan herramientas informáticas, entre otras lenguajes de descripción del hardware;
- los nuevos componentes virtuales generados durante el desarrollo de un sistema suelen ejecutar funciones complejas, generalmente algoritmos aritméticos.
En conclusión, este curso se dirige a personas interesadas en el diseño de sistemas, tanto desde el mundo de la electrónica como de la informática.
Programa:
I Introduction to embedded systems: 1 Characteristics 2 Generic architecture 3 Main development steps 4 Implementation technologies 5 Development tools
II VHDL 1 Logic signal model 2 Main predefined operations 3 Model types 4 Gate network models 5 Multiplexer models 6 Inferred latches 7 Combinational circuits defined by a table 8 Iterative circuits 9 User defined package 10 Arithmetic circuits 11 Tri-state buffers 12 Flip-flops and registers 13 Counters 14 Finite State Machine 15 Memories 16 Hierarchy 17 Using variables 18 Important concepts
III Programmable devices 1 PLD – Programmable Logic Devices 2 CPLD - Complex Programmable Logic Device 3 FPGA - Field Programmable Gate Array 4 Programming technologies 5 LUT – Look-up tables 6 FPGA cell 7 Examples of FPGAs
IV Virtual processors 1 Example of virtual processor: PicoBlaze 2 Spartan II implementation 3 Architecture 4 Component declaration 5 Instruction set 6 Input – Output operations 7 Assembling a program
V An example 1 Specification 2 Hardware platform 3 Hardware – software partitioning 4 Program generation (software) 5 Program memory model 6 Circuit generation (hardware)
Trabajos prácticos (generación de modelos VHDL, simulación, síntesis):
1 Circuitos aritméticos combinacionales
2 Contadores y registros de desplazamiento
3 Máquina algorítmica (data path + control unit)
4 Co-diseño hardware - software
Calendario (5 días, 6 horas por día):
día 1: Introduction, VHDL: 1 a 8 / tutorial: simulador (ModelSim)
día 2: VHDL: 9 y 10, ejemplos de circuitos combinacionales / trabajo práctico 1
día 3: VHDL:11 a 13, ejemplos de circuitos secuenciales, VHDL: 14 a 18 / trabajo práctico 2
día 4: ejemplos de máquinas algorítmicas (data path + control unit), Programmable devices / trabajo práctico 3, tutorial: herramienta de síntesis (ISE)
día 5: Virtual processors, An example / trabajo práctico 4, presentación del proyecto final
Evaluación final:
después de finalizar el curso, cada estudiante dispondrá de dos meses para la realización de un proyecto final que será enviado a los profesores por correo electrónico.