Dispositivos Electrónicos y fotónicos
TEORIA (36 hores)Tema 1. Fonaments d'Electrònica i Física de Semiconductors (6 hores).1.1. Teoria de bandes i estructura cristal·lina.1.2. Materials semiconductors: propietats òptiques i elèctriques.1.3. La unió PN.Tema 2. Dispositius electrònics (12 hores).2.1. Díodes.2.2. Transistor BJT.2.3. Transistor MOS.Tema 3. Dispositius fotònics (6 hores).4.1. Fotodetectores.4.2. Díode LED i làser.4.3. Dispositius òptics integrats.Tema 4. Tecnologia microelectrònica (12 hores). 4.1. Creixement cristal·lí i depòsit de capes primes. 4.2. Recobriment d'oblies: oxidació, implantació iònica i difusió.4.3. Litografia òptica.4.4. Definició de patrons per atac químic i plasma.LABORATORI (24 hores)1. Simulació i caracterització del díode (3 hores). 2. Simulació i caracterització transistor BJT (3 hores). 3. Simulació i caracterització del transistor MOSFET (3 hores). 4. Implementació d'un amplificador/commutador (3 hores).5. Caracterització dispositius optoelectrònics (6 hores). 6. Pràctica/demo 1 sala grisa (3 hores). 7. Pràctica/demo 2 sala grisa (3 hores).
Diseño CMOS analógico
TEORIA (30h)1. Introducció al disseny microelectrónico analògic2. Disseny CMOS3. Amplificadors CMOS monoetapa4. Amplificadors CMOS diferencials5. Blocs bàsics de disseny i circuits de condicionament6. Amplificador operacionalLABORATORI (30h)1. Introducció. Caracterització de transistors MOS. 2. Fuentes i espills de corrent3. Amplificadors monoetapa4. Amplificadors diferencials5. Amplificador diferencial. Anàlisi preliminar.6. Anàlisis paramètriques7. Optimització i casos límit ("corners")8. "Layout". Posicionat i interconnexió.9. Verificació del layout. DRC. LVS.10. Extracció de paràmetres. QRC. Xstream.
Disseny CMOS digital
Los contenidos de la teoría se han distribuido en 8 temas y un total de 3 ECTS.TEORIATema 1: El transistor MOS en conmutación.En este tema se estudian las características eléctricas básicas del transistor trabajando en conmutación. Se estudia la puerta básica inversora y Schmitt-Trigger.Tema 2: Puertas básicas CMOS y bloques combinacionales.Puertas NAND, NOR, XOR. Niveles de ruido. Decodificadores, codificadores, multiplexores, comparadores.Tema 3: Circuitos secuenciales CMOS.Latch y flip-flop. Registros de desplazamiento, contadores y otros bloques combinacionales. Máquinas de estados.Tema 4: Temporización.Estudio de los tiempos que intervienen en el camino de datos y en el reloj.Tema 5: Flujo de diseño, descripción y simulación de circuitos.Flujo de diseño. Introducción a los lenguajes de descripción hardware. Introducción a Verilog para modelado y síntesis. Simulación funcional.Tema 6: Síntesis y simulación a nivel de puertas.Herramientas para la síntesis automática. Análisis estático de tiempos. Simulación a nivel de puertas.Tema 7: Implementación.Librería general de celdas estándar. Planificación del chip. Emplazado de componentes. Rutado. Síntesis del árbol del reloj. Herramientas para la implementación automática.Tema 8: Terminación del chip y anillo de entrada/salida.Anillo IO. PADs del fabricante para IO. Aspectos finales en el acabado del chip.LABORATORIOEl laboratorio supone un total de 3 ECTS distribuidos en 10 prácticas de 0,3 ECTS cada una.Práctica 1: El Inversor CMOS.En esta primera sesión se realiza un tutorial para la creación de un inversor CMOS, a partir de transistores de la librería gpdk045. Se realiza el esquema, simulación de transitorios y DC, layout a partir del esquema. Posteriormente se realiza una verificación de las reglas de diseño DRC, comprobación layout vs schematics, extracción de capacidades y resistencias parásitas y simulación post-layout.Práctica 2: Puertas lógicas CMOS.En esta sesión se propone la reali
zación de diversas puertas lógicas básicas CMOS, a partir de transistores de la librería gpdk045 de Cadence. Se realiza el esquema de una puerta NAND CMOS, simulación de transitorios, layout, verificación DRC, comprobación LVS, extracción de capacidades y resistencias parásitas y simulación post-layout. El diseño de resto de puertas, se propone que se realice a partir de lo aprendido con la puerta NAND.Práctica 3: Módulos combinacionales.En esta sesión se propone la realización de módulos combinacionales básicos: multiplexores y sumadores, a partir de transistores. Después se propondrá la ampliación de estos a partir de las de celdas de la librería estándar gsclib045.Práctica 4: Biestables y módulos secuenciales.En esta sesión se propone la realización de un biestable D sensible a flanco, a partir de transistores e inversores de la librería de celdas. Se simula su comportamiento y se muestra una metodología para determinar el tiempo de establecimiento del biestable. Finalmente se propone la creación de un contador asíncrono, con biestables y puertas NOT de librería. En este último diseño, se propone que se cree el layout.Práctica 5: Temporización.En esta quinta sesión se propone la creación de un contador binario módulo 8, basado en biestables D y lógica de excitación, junto con el análisis de su temporización: frecuencia máxima, etc. Para ello se crea un banco de pruebas y así verificar los cálculos teóricos. Finalmente se propone el layout del contador y se realiza una simulación post-layout, mostrando el cambio de la frecuencia de funcionamiento. Adicionalmente se proponen diseños alternativos, como un contador uno-activo, que mejora la frecuencia de funcionamiento.Práctica 6: Descripción y simulación con Verilog.En esta sesión se describe en Verilog un circuito digital simple y se realiza una simulación funcional usando diferentes técnicas y herramientas desde textuales a formas de onda.Práctica 7: Síntesis y simulación a nivel de puertas.En esta sesió
n se sintetiza un circuito descrito en Verilog y se analizan los resultados de temporización estática obtenidos. Se realiza una simulación a nivel de puertas extrayendo las propiedades temporales del circuito sintetizado.Práctica 8: Implementación.En esta sesión se implementa de principio a fin un circuito digital, se analizan los tiempos estáticos obtenidos y se comparan con los de la síntesis. Se analiza el layout y chip generado.Para el desarrollo de las prácticas se precisa de un laboratorio con ordenadores y las herramientas necesarias de Cadence de diseño de circuitos integrados (virtuoso, Layout, Assura, Spectre, Xcelium, Xmsim, Genus, Innovus, etc)
Test y verificación
Bloque I Test (15h)Teoría (6 h)IntroducciónTipos de erroresTipos de testsHardwareInstrumentaciónAnálisis de resultadosPrácticas (9h)1. Latch up en transistores / Caracterización térmica2. Automatización de medidas3. Análisis de datos (R/Matlab)Bloque II Verificación digital (45h)Introducción a Verificación Digital (6 h)Verificación Digital (DV): contexto dentro del flujo de diseño de un chip.Objetivos. Métricas de verificación. Coverage.Metodología de trabajo: vPlan, regresiones, bug reporting y bug tracking. Tests dirigidos, tests randomizados, inyección de errores, stress.Breve introducción a otras disciplinas en DV: verificación formal, emulación, DMS y AMS.Testeando el test.SystemVerilog para DV (9 h)Verilog y SystemVerilog.Interfaces. Conectando DUT y testbench. Glue logic.Tipos de datos. Clases y relación entre las clases, patrones de software.Tareas y funciones.Randomización y constraints. Estrategias de generación de estímulos.Hilos y comunicación entre procesos. Eventos, semáforos, mailboxes.Assertions.Definición de covergroups y coverpoints. Cross coverage. Sampling.Breve introducción a DPI.Ejemplos basados en casos reales.Introducción a UVM (15 h)Conceptos básicos de UVM (Universal Verification Methodology). Qué es una librería, un framework y por qué usarlo. Modularización y reusabilidad.Tipos de componentes: monitor, driver, agente, environment, scoreboard, testcase.Arquitectura del testbench. Interacciones entre los componentes: llamadas y agregación. Transacciones, secuencias y uso de puertos.Representación de registros. RAL.Prácticas (15 h)Práctica 1: vPlan.Verificación de un DUT con SystemVerilog y clases.Familiarización con las principales herramientas: compilador, simulador, visor de gráficas.Práctica 2 (*2 sesiones): verificación de un DUT con UVM.Generación de un testbench con todos los componentes.Generación de testcases dirigidos.Práctica 3: randomización y assertions con UVM.Generación de testcase
s randomizados. Constraints.Regresiones.Práctica 4: Coverage.Creación de covergroups y sampleo.Análisis de métricas.Familiarización con las herramientas de recolección de coverage y análisis de métricas.Consecución de 100% de functional coverage y code coverage.
Sistemas embebidos
TEORIA (30h)Tema 1: Introducció al disseny de sistemes embeguts.Tema 2: Arquitectura dels sistemes embeguts.Tema 3: Comunicació processador amb lògica programable.Tema 4: Creació perifèrics usuari.Tema 5: Entorn de desenvolupament programari. Tema 6: Desenvolupament i depuració programari.Tema 7: Revisió del disseny de sistemes embeguts en temps real.Tema 8: Arquitectura avançada d'un sistema embegut.Tema 9: Depuració del sistema embegut (HW/SW) utilitzant Logic Analyzer.Tema 10: Interfícies de memòria en un sistema embegut.Tema 11: Maneig d'interrupcions en sistemes en temps real.Tema 12: Estudi de baixa latència i alta amplada de banda.Tema 13: Configuració del processador i creació d'un Bootloader del sistema.Tema 14: Estudi del profiling i de l'optimització de rendiment d'un sistema embegut.LABORATORI (30h)Laboratori 1: Dissenye maquinari d'un sistema embegut bàsic.Laboratori 2: Afegint IPs en la lògica programable.Laboratori 3: Creant i afegint perifèrics propis.Laboratori 4: Escrivint aplicacions programari bàsiques.Laboratori 5: Depuració de programari utilitzant SDK.Laboratori 6: Creació d'un sistema embegut complet.Laboratori 7: Depuració programari/maquinari usant Logic Analyzer.Laboratori 8: Estenent l'espai de memòria amb BRAM.Laboratori 9: Accés directe a memòria utilitzant CDMA.Laboratori 10: Creació d'un Bootloader del sistema embegut.Laboratori 11: Profiling i optimització de rendiment en sistemes embeguts.
Prácticas en empresa
Els continguts de la matèria seran diferents depenent de la pràctica concreta que s'haja de dur a terme. A continuació es relacionen de manera genèrica les possibles activitats que poden #realitzardurant les pràctiques externes:- Disseny microelectrónico analògic o mixt- Disseny microelectrónico digital- Test i verificació- Sistemes embeguts. Programari i maquinari- Disseny de layout- Disseny de sistemes electrònics- Processament digital de senyal en sistemes VLSI
Trabajo FIn de Máster
Els continguts del Treball Fi de Màster seran diferents depenent dels objectius concrets del projecte a realitzar. Poden ser objecte de tema de Treball Fi de Màster tots aquells que siguen propis dels estudis del Màster. En particular, es podran projectar tota classe de sistemes i dispositius microelectrónicos per quants procediments permeta realitzar l'enginyeria actual. També podrà ser objecte del Treball Fi de Màster els treballs de recerca i desenvolupament, i el modelatge teòric o numèric dels dispositius, circuits o sistemes microelectrónicos. Es podran considerar així mateix com a temes de Treball Fi de Màster els estudis relacionats amb els continguts de la Titulació i relatius a equips, fàbriques, instal·lacions, serveis o la seua planificació, gestió o explotació. Per tant els continguts de la matèria seran diferents depenent del treball fi de màster concret que s'haja seleccionat per l'alumne.
Seminarios
Encara que la llista de seminaris serà dinàmica, es proposen, en aquesta primera edició, els següents títols: Fully Integrated Frequency Synthesizers: PLLs for Modern Wireless Communications SystemsWiFi7 Physical layer transceiver design. An overviewClock Distribution for Modern RF ICs: an overviewSW/HW codesign: FW architectures and development process during System On Chip designDigital verification: practical use case Business aspects in IC design Verification, Medical applicationsIndustrial applications,Measurements.
Diseño microelectrónico analógico avanzado (A1)
TEORIA (12h)1. Revisión de estructuras básicas de circuitos2. Técnicas de control aplicadas en diseño microelectrónico analógico3. Ruido4. Técnicas de layout5. Ejemplos prácticos de proyectos: referencias de voltaje6. Ejemplos prácticos de proyectos: reguladores de voltajeLABORATORIO (18h)1. Proyecto practico I: Diseño y layout de una referencia de voltaje (parte 1/3)2. Proyecto practico I: Diseño y layout de una referencia de voltaje (parte 2/3)3. Proyecto practico I: Diseño y layout de una referencia de voltaje (parte 3/3)4. Proyecto practico II: Diseño y layout de un regulador de voltaje (parte 1/3)5. Proyecto practico II: Diseño y layout de un regulador de voltaje (parte 2/3)6. Proyecto practico II: Diseño y layout de un regulador de voltaje (parte 3/3)
Diseño de componentes de radiofrecuencia y microondas integrados (A2)
TEORIA (20h)1.Introduction a sistemes de comunicació.2.Components per a desenvolupament de blocs de ràdio freqüència.-Extensió models RF-Mecanismes de degradació i releability-Línies de transmissió integrades-encapsulat-Bobines integrades i extensió de RF de components passius 3. Disseny amplificadors RF.-Introducció paràmetres #S-Criteris estabilitat-Topologies i amplificadors guany programable.4.. Amplificadors de baix soroll-topologies-tècniques cancel·lació soroll5.Amplificadors de Potència-topologies-mecanismes de degradació, SOA i electro migració6.Mescladors:-actius vs passius-tècniques millora linealitat7.Oscil·ladors-oscil·ladors d'anell.-oscil·ladors LC .-Oscil·ladors Colpits .-Oscil·ladors controlats digitalment.LABORATORI (10h)P1. Disseny i simulació línies de transmissió en inductànciesP3. Selecció punt de polarització d'un transistor i Layout P4. Disseny Amplificador baix sorollP5. Disseny i simulació d'un Mesclador.P5. Disseny i Simulació d'un VCO
Diseño de sistemas microelectrónicos (A3)
TEORIATema 1: Circuits de capacitats commutades (4h)Tema 2: Tècniques de compensació d'offset, soroll de baixa freqüència i desapareamiento (4h)Tema 3: Convertidors de Nyquist (4h)Tema 4: Convertidors de sobremuestreo (4h)Tema 5: Sensors de temperatura integrats. (4h) Tema 6: Frontends per a sensors capacitius, resistivos o inductius (4h)LABORATORIPràctica 1: tècniques de simulació de circuits en temps discret (1.5h)Pràctica 2: modelatge de comportament de moduladors sigma-delta (1.5h)Pràctica 3: disseny i simulació de circuits SC per a convertidors Sigma-Delta (1.5h)Pràctica 4: disseny i simulació d'un sensor de temperatura (1.5h)
Diseño microelectrónico digital avanzado (D1)
TEORIA (15h)Disseny Digital amb System Verilog (8h) Codificació de dissenys per a síntesis. (2h) Codificació de Màquines d'Estat Finites. (1h) Generació, processament i distribució de rellotges i resets (1.5h) Sincronització de dades entre dominis de rellotge i dominis de reset (1.5h) Disseny de Baix Consum amb #UPF. Clock Gating, Power Gating, DVFS. (2h) Implementació Digital VLSI (7h) Introducció al Flux d'Implementació Digital (0.5h) Biblioteca de Cel·les Digitals en Processos de Fabricació Avançats (0.5) Definició de Restriccions Temporals (1h) Síntesis (1h) Disseny per a Test (1h) Emplaçament i Rutado (1h) Anàlisi Temporal Estàtica (1h) Anàlisi de Consum (1h)LABORATORI (15h)Projecte practique 1: Disseny RTL (Verilog) (7h) Codificació de dissenys per a síntesis Codificació de Màquines d'Estat Finites Generació, processament i distribució de rellotges i resets Sincronització de dades entre dominis de rellotge i dominis de resetProjecte practique 2: implementació (6h) Síntesi Disseny per a Test Emplaçament i RutadoProjecte practique 3: anàlisi (2h) Anàlisi Temporal Estàtica Anàlisi de Consum
Procesado digital de señal en diseños VLSI (D2)
TEORIA (18h)Tema 1: Introducció a funcions principals d'un sistema de comunicacionsTema 2: Adquisició de dadesTema 3: QuantificacióTema 4: Filtres, interpoladors/diezmadoresTema 5: Modulació/DemodulaciónTema 6: Optimització de Velocitat, Àrea i Consum LABORATORI (12h)Laboratori 1: Arquitectura d'un filtre FIRLaboratori 2: Implementació d'un filtre FIRLaboratori 3: Simulació d'un filtre FIR
Sistemas digitales integrados. MCU embebidos (D3)
TEORÍA (18h)¿ Tema 1: Introducción (2h) - Difrencias entre uC/Cpu/Core - Principales fabricantes de CPU del mercado - Profundizar en la introducción del ARM M4-Cortex como Core de Referencia para el curso¿ Tema 2: Cortex-M4 core (4h) - Características del core - Modelo de memoria - Registros de proposito general - Stacks - Niveles de acceso y modos de programación - Excepciones - Vector table - Fault handling - Instrumentation Trace Macrocell (ITM) - AHB Access Port (AHB-AP) - Bus Matrix¿ Tema 3: Perifericos del ARM M4-Cortex (4h) - Nested Vectored Interrupt Controller (NVIC) - System Controll Block - System timer - Memory Protection Unit (MPU) - Floating-point unit¿ Tema 4: Herramientas para programar un ARM M4-Cortex (3h) - Proceso de compilacion - Toolchain - Makefile - Startup file - Linker script¿ Tema 5: Integración de una CPU en diferentes microcontroladores (2h) - ARM M4 por stm32f4 y texas - ARM M0 por rasberry pico y stm32m0 - Otros ejemplos...¿ Tema 6: Interaccion del ARM M4-Cortex con los masters y esclavos del Stm32F4 (3h) - Arquitectura del sistem de un Stm32F4 - Organizacion de la memoria - Mapa de memoriaLABORATORIO (12h)¿ LAB1: Interacción con los registros de proposito general y de las configuraciones basicas¿ LAB2: Cambios de contexto para Irq y Excepciones Vs Interacción funciones caller/callee ¿ LAB3: Creación de un Scheduler¿ LAB4: Creación Startup file + linker script¿ LAB5: Migrar todo lo realizado hasta ahora a la toolchain creando un makefile¿ LAB6: Analisis de consumo de memoria
Ingeniería de software para sistemas embebidos (S1)
Tema 1: Introducción a los sistemas embebidos (1h)¿ Conceptos básicos de los sistemas embebidos. Características diferenciales¿ Tipos de sistemas embebidos¿ Aplicaciones de los sistemas embebidos¿ Seguridad de los sistemas embebidosTema 2: Lenguajes de programación para sistemas embebidos (1h)¿ Lenguajes de bajo nivel para sistemas embebidos. Ensamblador¿ Lenguajes de alto nivel para sistemas embebidos. C y herramientas de compilación.¿ Lenguajes de scripting útiles¿ Interfaz entre diferentes lenguajes de programaciónTema 3: Arquitecturas SW/HW para sistemas embebidos (1h)¿ CPUs¿ Memorias¿ Hosted/Hostless¿ Flash/Flashless¿ SDK y API de clientes¿ EVKsTema 4: Desarrollo de software para sistemas embebidos (1h)¿ Ciclo de vida del desarrollo de software para sistemas embebidos¿ Metodologías agiles de desarrollo de software para sistemas embebidos¿ Herramientas de desarrollo de software para sistemas embebidosTema 5: Descripción de características deseables del flujo de desarrollo (2h)¿ Reduccion del Time-to-market¿ Definición de requisitoso Funcionaleso Temporaleso Costeo Etc.¿ Arquitectura de Sistema ¿ Co-diseño HW/SW o Plataformas de pruebas HW/SW¿ Simulaciones¿ Emuladores¿ FPGAso Definición de interfaces HW/SWo HW driverso Proceso de `bringup¿¿ Test Driven Development (TDD)¿ Control de versiones (SCM)¿ Gestión de tareas y errores en proyectos (Agile + Jira)¿ Tests de Sistema¿ Sistemas de Integración Continua¿ Test benches ¿ DocumentaciónTema 6: Diseño de software para sistemas embebidos (3h)¿ SW product line: HW and SW configurations¿ Arquitectura SW de capas, componentes e interfaceso Diseño para el re-uso o Capas de abstracción, HAL, OSAL.o Código independiente de aplicacióno Código dependiente de aplicacióno Componentes de terceros y cuestiones legales¿ Diseño para compatibilidad hacia atrás¿ Diseño escalable¿ Uso extensivo de tecnicas de programacion defensiva (assert)o Chequeo de hard/soft deadlineso Cheque
o de problemas con la memoria (overwrites, stack overflows, etc)¿ Sistemas operativos de tiempo real (RTOS)o Configuraciono Threads y prioridadeso Interrupcioneso Timerso Stackso Primitivas de comunicaciono Aplicaciones multiprocesadoro Utilidades de debug y analisis del rendimientoo Problemas recurrentes:¿ Thread preemption¿ Tiempo de respuesta a interrupciones¿ Inversion de prioridades¿ Tipos de Componenteso HOST SW: drivers, apps, libso Firmware: dev, prod, BIST, loadero Herramientas y scriptso Interface públicos / privadosTema 7: Funcionalidades usuales en sistemas embebidos (2h)¿ Configuración especifica del productoo Produccióno Remota¿ SW upgrades¿ SDK para extender/cambiar funcionalidad¿ Flash FS¿ Interfaceso JTAGo UARTo SPIo Consola de debug/operacion¿ Watchdog¿ Herramientas de debug¿ Memoria dinámicaTema 8: Optimización de SW en Sistemas Embebidos (2h)¿ Memoria vs Rendimiento¿ Coste vs Facilidad en el desarrollo¿ Requisitos HW¿ Optimización de Memoriao Compactación de estructuras de datoso Datos en memorias compartidaso Asignación de memoria (linker script)o Reutilización de memoria o Implementación de subsets de librerías (matemáticas, libc¿)¿ Optimización de rendimientoo Aritmética de punto fijoo Uso de ensamblador.o Re-escritura de código para uso de HW específico (DSP)o DMATema 9: Análisis de fallos en Sistemas Embebidos (2h)¿ Requisitos HW¿ JTAG¿ Unit Tests¿ Logs (serial, ethernet, files¿).¿ Debug Buffers¿ CPU Trace buffer¿ Memory dumps¿ Análisis de problemas en tiempo. Profiling¿ Parseo y visualización de datos.¿ Debug en sistemas multiprocesadorLABORATORIO:La duración de cada laboratorio será de 1,5h:Laboratorio 1: Diseño de la arquitectura de un sistema embebido¿ Requisitos¿ Arquitectura y codiseño HW/SW¿ Ventajas y desventajas de las distintas opciones en cuanto a coste, facilidad de desarrollo, rendimiento, etc.Laboratorio 2: Máquina virtualizada para desarrollo ¿ Virtualizac
-Eines de desenvolupament (GNU)-Sistema de control de versions (GIT)-Unit tests (Google Test)-Anàlisi Estàtica de Codi (CppCheck)-Cobertura de testatge (Gcov)-Anàlisi dinàmica de Codi (Valgrind/Electric Fence)Laboratori 3: Implementació de plataforma SW independent de l'aplicació sobre un simulador de RTOSLaboratori 4: Implementació d'utilitats per a debug (I)Laboratori 5: Implementació d'utilitats per a debug (I) Laboratori 6: Implementació de Mock per a simular un HW especifiqueLaboratori 7: Implementació d'una aplicació real estafe exemple sobre la plataforma anterior (I)Laboratori 8: Implementació d'una aplicació real estafe exemple sobre la plataforma anterior (II)Laboratori 9: Debug funcional de l'aplicacióLaboratori 10: Anàlisi de rendiment i ús de memòria
Control de calidad (QA) en sistemas embebidos (S2)
TEORIA (15h)Tema 0: Conceptos de validación y aseguramiento de la calidad (QA)¿ Modelo en V¿ Requisitos¿ Pruebas¿ Depuración y defectos¿ Conceptos de CI y de CD (Continuous Integration & Continuous Delivery)Tema 1: Definición de requisitos¿ Requisitos hardware¿ Requisitos software¿ Requisitos de sistema¿ Herramientas de gestión de requisitosTema 2: Definición de prueba a partir de requisitos¿ Herramientas existentes vs propias¿ Tipos de pruebas (caja negra, caja blanca, funcionales, no funcionales...)¿ Definición de indicadores clave de rendimiento (KPI) a partir de requisitos¿ Definición de criterios de aceptación ¿pass/fail¿Tema 3: Introducción a la validación de sistemas embebidos¿ Validación de sistemas embebidos vs sistemas software:¿ Disponibilidad de recursos ¿ Tiempos de ejecución¿ Posibilidad de automatización¿ Definición de sistema bajo prueba¿ Interacción con el sistema bajo pruebaTema 4: Ejecución y automatización de pruebas¿ Definición de bancos de prueba¿ Pruebas automáticas vs manuales: Por qué automatizar¿ Automatización:¿ Codificación: Control de cambios¿ Instrumentación¿ Ejecución¿ Informes¿ Herramientas:¿ Lenguajes de programación para pruebas automáticos ¿ Herramientas para registrar progreso de pruebas¿ Frameworks de prueba¿ Recolección organizada de datos para informe de defectosTema 5: Defectos¿ Qué es un defecto y cómo identificarlos ¿ Cómo reportar un defecto correctamente¿ Herramientas de informe y trazabilidad de defectos Tema 6: CI para productos embebidos¿ Qué ofrece una herramienta de CI en la validación de productos embebidos:¿ Definición de trabajos fácilmente repetibles¿ Distribución de los trabajos entre hardware disponible¿ Ventajas de tener un CI automatizado:¿ Optimización de tiempo maquina ¿ Distribución de recursos ¿ Informes de resultados automáticos¿ Gestión de bancos de prueba:¿ Coexistencia entre automatización y uso manual de recursos¿ Interacción de los componentes de un
entorno de CI¿ Herramientas habituales de CI:¿ Jenkins, Teamcity, Jira WorkflowTema 7: Obtención y análisis de indicadores clave de rendimiento (KPI)¿ KPI relacionados con el producto:¿ Rendimiento¿ Estabilidad¿ Repetibilidad¿ KPI relacionados con el entorno de CI:¿ Cobertura de requisitos¿ Tiempo entre detección de defecto y el arreglo¿ Uso de recursos¿LABORATORIO (15h)Laboratorio 1: Definir requisitos a partir de una descripción breve de un producto.Laboratorio 2: Definición de pruebas a partir de requisitos. Plan de prueba.Laboratorio 3: Ejecución manual de un plan de prueba. Pruebas exploratorias.Laboratorio 4: Automatización de las pruebas definidas.Laboratorio 5: Identificación y reporte de defectos a partir de los resultados de las pruebas.Laboratorio 6: Creación de un entorno CI completo.Laboratorio 7: Definición de KPI a partir de requisitos y resultados de las pruebas.
Sistemas operativos en tiempo real (S3)
TEORIA (10h)¿ Conceptos generales de arquitectura de computadoreso La arquitectura (ISA: Instruction Set Architecture)¿ Diferencias entre CISC y RISCo La CPU (Unidad Central de Proceso)¿ Unidad de control¿ ALU (Unidad Aritmético-Lógica)¿ Buses¿ Cache de instrucciones¿ Pipelining¿ Registroso Coreso Memoria (ROM, RAM)¿ Memoria cachéo Periféricos de entrada/salida¿ Interrupcioneso Microcontroladores¿ Conceptos generales de softwareo Lenguajes de programación¿ Relación entre juego de instrucciones, código objeto y lenguaje ensambladoro Tipos de archivo ejecutableo Compiladoreso El linker o enlazador¿ Linker scripts y scatter fileso Memoria estática y dinámica¿ El stack y el heapo El cargador de arranque o bootloader¿ Tiempo real y conceptos de RTOSo RTOS vs GPOS¿ Latencyo RTOS vs ¿bare-metal¿ (¿super loop¿)o Kernel / Scheduler¿ preemptive time-slicing¿ cooperative time-slicing¿ Tick, Idle task, Ticless idleo Interrupciones hardware y softwareo Tareas e hilos¿ thread stack¿ prioridadeso Paralelismo y concurrencia¿ Sección Crítica¿ Semáforos, mutex y operaciones atómicas¿ Colas de mensajes o otros mecanismos¿ Condition variables¿ Problemas clásicos¿ productor/consumidor¿ condición de carrera¿ inversión de prioridadeso Procesadores multi-core¿ SMP (Symetric Multi-Processing)¿ AMP (Asymmetric Multi-Processing)o Comunicación entre tareas¿ Análisis de los RTOS más comúnmente usadoso FreeRTOSo MicroC/OS-II (uCOS)o ThreadXo RTEMSo Zephyro VxWorks¿ RTOS en FPGAso Procesadores softcore. Ejemplos¿ Xilinx Microblaze¿ Tensilica Xtensa¿ Implementaciones RISC-V (Mi-V RV32, NEORV32, FEMTORV32)LABORATORIO (20h)Proyecto de un pequeño sistema controlado por RTOS:Control de un ventilador accionado por motor DC (PWM) de forma automática mediante sensor de temperatura y controlable mediante comandos por Ethernet.
Proyecto industrial en microelectrónica
Els continguts del "Projecte Industrial en Microelectrònica" seran diferents depenent dels objectius concrets del projecte a realitzar. Poden ser objecte de tema d'aquells que siguen propis dels estudis del títol. En particular, es podran projectar tota classe de sistemes i dispositius microelectrónicos per quants procediments permeta realitzar l'enginyeria actual. També podrà ser objecte del Projecte Industrial en Microelectrònica els treballs de recerca i desenvolupament, i el modelatge teòric o numèric dels dispositius, circuits o sistemes microelectrónicos. Es podran considerar així mateix els estudis relacionats amb els continguts del títol relatius a equips, fàbriques, instal·lacions, serveis o la seua planificació, gestió o explotació.