Proyecto de Ingeniería de Computadores

Usted está aquí

Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería de Computadores)
Requisitos
  • Precorrequisito: AC2
  • Precorrequisito: DSBM
  • Precorrequisito: SO2
Departamento
DAC;ESAII
Aquesta assignatura és impartida pel departament d'ESAII i el departament d'AC en quadrimestres alterns. El projecte a realitzar (i les seves tasques associades) és una mica diferent en funció del quadrimestre.

El quadrimestre de tardor (Q1) és impartit pel departament d'ESAII i el projecte consistirà en la obtenció d'un prototip en funcionament d'un disseny basat en sistemes encastats que haurà de complir amb unes especificacions marcades a principi del curs.

El quadrimestre de primavera (Q2) és impartit pel departament d'AC i el projecte consistirà en implementar completament un processador senzill en un dispositiu programable i programar un petit nucli de Sistema Operatiu.

Profesores

Responsable

  • Antonio Benito Martínez Velasco ( )

Otros

  • Carlos Morata Núñez ( )
  • Josep-Llorenç Cruz Diaz ( )

Competencias

Competencias Transversales

Trabajo en equipo

  • G5 [Avaluable] - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
    • G5.3 - Identificar los papeles, habilitados y carencias de los diferentes miembros del grupo. Proponer mejoras en la estructura del grupo. Interactuar con eficacia y de forma profesional. Negociar y gestionar conflictos en el grupo. Reconocer y dar soporte o asumir el papel de líder en el grupo de trabajo. Evaluar y presentar los resultados del trabajo de grupo. Representar al grupo en negociaciones con terceros. Capacidad de colaborar en un entorno multidisciplinar. Conocer y saber aplicar las técnicas para promover la creatividad.

Espíritu emprendedor e innovador

  • G1 [Avaluable] - Conocer y comprender la organización de una empresa y las ciencias que rigen su actividad; capacidad de comprender las reglas laborales y las relaciones entre la planificación, las estrategias industriales y comerciales, la calidad y el beneficio. Desarrollar la creatividad, el espíritu emprendedor y la tendencia a la innovación.
    • G1.3 - Ser resolutivo. Utilizar conocimientos y habilidades estratégicas para la creación y gestión de proyectos, aplicar soluciones sistémicas a problemas complejos, y diseñar y gestionar la innovación en la organización. Demostrar flexibilidad y profesionalidad en el desarrollo de su trabajo.

Comunicación eficaz oral y escrita

  • G4 [Avaluable] - Comunicar de forma oral y escrita con otras personas conocimientos, procedimientos, resultados e ideas. Participar en debates sobre temas propios de la actividad del ingeniero técnico en informática.
    • G4.3 - Comunicarse de manera clara y eficiente en presentaciones orales y escritas sobre temas complejos, adaptándose a la situación, al tipo de público y a los objetivos de la comunicación utilizando las estrategias y los medios adecuados. Analizar, valorar y responder adecuadamente a las preguntas del auditorio.

Competencias Técnicas

Competencias técnicas comunes

  • CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
    • CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
  • CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
    • CT7.1 - Demostrar conocimiento de las métricas de calidad y saber utilizarlas.
  • CT8 - Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha, su mejora continua y valorando su impacto económico y social
    • CT8.7 - Controlar versiones y configuraciones del proyecto.

Competencias Técnicas de cada especialidad

Especialidad ingeniería de computadores

  • CEC1 - Diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesadores y sistemas de comunicaciones.
    • CEC1.1 - Diseñar un sistema basado en microprocesador/microcontrolador.
  • CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.
    • CEC2.1 - Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
    • CEC2.2 - Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
    • CEC2.3 - Desarrollar y analizar software para sistemas basados en microprocesadores y sus interfícies con usuarios y otros dispositivos.
  • CEC3 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.
    • CEC3.2 - Desarrollar procesadores específicos y sistemas empotrados; desarrollar y optimizar el software de estos sistemas. 

Objetivos

  1. Nombrar i definir els conceptes bàsics en la gestió de projectes
    Competencias relacionadas: G1.3, G4.3, G5.3,
  2. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Especificar els objectius d'un sistema encastat
    Competencias relacionadas: G1.3, G5.3, CT6.2,
  3. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Descriure el hardware d'un sistema enquestat a partir de les especificacions
    Competencias relacionadas: CEC2.1, G5.3, CEC1.1, CT6.2, CT8.7,
  4. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Obtenir el disseny hardware a partir de l'esquema de blocs
    Competencias relacionadas: CEC2.1, CEC3.2, G5.3, CEC1.1, CT6.2,
  5. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Implementar el hardware d'un sistema encastat
    Competencias relacionadas: CEC2.1, CEC3.2, CEC1.1,
  6. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Obtenir el disseny software d'un sistema enquestat a partir de les especificacions
    Competencias relacionadas: CEC2.3, CEC3.2, G5.3, CEC1.1, CT8.7,
  7. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Implementar el software d'un sistema encastat
    Competencias relacionadas: G1.3, CEC2.3, CEC3.2, G5.3, CEC1.1, CEC2.2,
  8. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Integrar el disseny hardware i software en un prototipus
    Competencias relacionadas: CEC2.1, CEC3.2, G5.3, CT8.7,
  9. (Q2 – Projecte d'implementació d'un processador) Usar correctament el llenguatge de descripció del hardware (VHDL) i dissenyar sistemes digitals utilitzant un llenguatge de descripció del hardware.
    Competencias relacionadas: CEC1.1, CEC2.2,
  10. (Q2 – Projecte d'implementació d'un processador) Usar les eines i programar les plaques de desenvolupament per a una FPGA.
    Competencias relacionadas: CEC1.1, CEC2.2,
    Subcompetences:
    • Fer servir correctament eines de simulació.
  11. (Q2 – Projecte d'implementació d'un processador) Comprendre i posar en pràctica la microarquitectura d'un processador a nivell bàsic i avançat.
    Competencias relacionadas: CEC2.1, CEC1.1, CT6.2,
    Subcompetences:
    • Entendre alguna de les restriccions tecnològiques en la implementació d'un processador.
  12. (Q2 – Projecte d'implementació d'un processador) Implementar un processador senzill (reduït) unicicle.
    Competencias relacionadas: G5.3, CEC1.1, CT6.2, CEC2.2,
    Subcompetences:
    • Dissenyar una unitat de control d'un processador.
    • Dissenyar els blocs bàsics (banc de registres i ALU) d'un processador.
    • Dissenyar una memòria (ROM/RAM) en una FPGA.
    • Interpretar correctament l'esquema electrònic d'un circuit.
    • Fer servir correctament eines de depuració.
    • Dissenyar un sistema d'arrancada per a un processador.
  13. (Q2 – Projecte d'implementació d'un processador) Implementar un processador multicicle.
    Competencias relacionadas: G5.3, CEC1.1, CT6.2, CT8.7, CEC2.2,
    Subcompetences:
    • Dibuixar i interpretar correctament els diagrames de temps dels senyals d'un circuit.
    • Dissenyar un controlador de memòria per a l'ús de memòries externes a la FPGA.
    • Crear diferents senyals de rellotge per a el funcionament dels diferents components del computador.
  14. (Q2 – Projecte d'implementació d'un processador) Implementar un processador amb característiques avançades.
    Competencias relacionadas: CT7.1, CT6.2,
    Subcompetences:
    • Crear un SoC (System on Chip) afegint els controladors de pantalla VGA y teclat PS/2 al processador.
    • Afegir suport a interrupcions i excepcions.
    • Afegir un suport bàsic per part del processador per als sistemes operatius actuals (gestió de memòria virtual i execució d'instruccions de forma privilegiada).
    • Avaluar el consum i el rendiment del processador implementat.
  15. (Q2 – Projecte d'implementació d'un processador) Presentar i defensar alternatives de disseny hardware per a diferents components del processador.
    Competencias relacionadas: G1.3, G4.3, CT6.2,
  16. (Q2 – Projecte d'implementació d'un processador) Implementar un petit nucli de Sistema Operatiu per al processador dissenyat.
    Competencias relacionadas: CEC2.3, CEC3.2, CEC2.2,

Contenidos

  1. Introducció.
    Una breu presentació de l'assignatura. Una introducció a la gestió de projectes. En el Q1 una introducció al disseny basat en sistemes encastats i en el Q2 una introducció al dispositius programables (FPGA) i als llenguatges de descripció de hardware
  2. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Desenvolupament d'un projecte de sistema encastat
    Etapes de desenvolupament i planificació d'un sistema encastat.
    Eines de desenvolupament. Repercussions sòcio-ambientals del projecte. Memòria i plec de condicions.
  3. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Descripció hardware dels sistemes encastats
    Tècniques i eines de descripció del hardware d'un sistema encastat. Diagrames de blocs. Esquemes elèctrics. Sistemes de captura d'esquemes
  4. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Implementació hardware dels sistemes encastats
    Mètodes i eines per a l'obtenció d'un prototipus a partir del disseny
  5. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Disseny de sistemes autònoms low cost low power
    Es presenten les alternatives de disseny per tal d'obtenir sistemes de baix consum i baix cost
  6. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Descripció software dels sistemes encastats
    Tècniques i eines de descripció del software d'un sistema encastat. Diagrames de flux, diagrames d'estats, disseny basat en models. Idoneïtat segons l'aplicació.
  7. (Q1 – Projecte de disseny i implementació d'un sistema encastat) Implementació software dels sistema encastats
    Depuració i prova del firmware dels sistemes encastats
  8. (Q2 – Projecte d'implementació d'un processador) Eines de desenvolupament d'FPGA.
    Eines per a la descripció y programació de hardware sobre FPGA. Simuladors y depuradors (debuggers) de circuits. Descripció de la placa de proves. Implementació d'alguns blocs bàsics (multiplexors, sumadors, rellotges) en una placa de proves.
  9. (Q2 – Projecte d'implementació d'un processador) Llenguatges de descripció de hardware.
    Repàs dels conceptes bàsics de VHDL y ampliació dels coneixements en llenguatges de descripció del hardware.
  10. (Q2 – Projecte d'implementació d'un processador) Descripció del processador.
    Repàs d'alguns de des coneixements y tècniques adquirits prèviament en el disseny de computadors. Mostar el repertori d'instruccions i el disseny de blocs hardware del processador a implementar.
  11. (Q2 – Projecte d'implementació d'un processador) Implementació bàsica del processador.
    Implementació d'un processador bàsic (banc de registres i ALU simple) unicicle. Implementació d'una memòria en una FPGA.
  12. (Q2 – Projecte d'implementació d'un processador) Implementació del processador complert.
    Implementació d'un processador segmentat multicicle. Implementació d'un controlador de memòria que gestioni memòries ROM i RAM externes a la FPGA. Implementació més complerta d'una ALU i de les instruccions de salt. Implementació d'un controlador dels sistemes d'entrada/sortida. Afegir suport a interrupcions i excepcions. Afegir un suport bàsic per part del processador per als sistemes operatius actuals (gestió de memòria virtual i execució d'instruccions de forma privilegiada).

Actividades

Actividad Acto evaluativo


Introducció

  • (Q1) – Projecte de disseny i implementació d'un sistema encastat

    Presentació de l'assignatura. Introducció a la gestió de projectes. Introducció al disseny basat en sistemes encastats.

  • (Q2) – Projecte d'implementació d'un processador

    Presentació de l'assignatura. Introducció a la gestió de projectes. Introducció al dispositius programables (FPGA) i als llenguatges de descripció de hardware.
    Objetivos: 1
    Contenidos:

  • Teoría
    0h
    Problemas
    0h
    Laboratorio
    2h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Fase inicial del projecte

  • (Q1) – Projecte de disseny i implementació d'un sistema encastat

    Especificacions i objectius del projecte. Obtenir unes especificacions dels sistema a partir de les alternatives donades pel professor. Definició dels blocs de tasques de desenvolupament i distribució en els diferents grups de laboratori. Diagrama de Gannt del projecte. Diagrama de blocs del sistema complint amb les especificacions. Generar un primer esquema del Hardware de la placa base del sistema.

  • (Q2) – Projecte d'implementació d'un processador

    Aprendre conceptes de VHDL. Pautes del disseny de blocs tipus sumadors, comptadors, registres.
    Objetivos: 9 10 2 3 4
    Contenidos:

  • Teoría
    0h
    Problemas
    0h
    Laboratorio
    6h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    6h

    Fase intermèdia del projecte

  • (Q1) – Projecte de disseny i implementació d'un sistema encastat

    Obtenció de la placa base prototip del sistema. Implementació del software del sistema. Obtenir el firmware de control dels diferents dispositius externs (perifèrics, interfícies ,sensors i actuadors). Posada en funcionament de la placa base i dels dispositius externs.

  • (Q2) – Projecte d'implementació d'un processador

    Primer implementar un processador unicicle senzill tipus RISC. Aquest processador estarà format nomes per dos blocs (Banc de Registres i ALU) i una petita lògica de control. Aquest processador serà la base per més endavant desenvolupar-ne un més complert. Seguidament implementar un processador multicicle. Recordar el concepte de fases d'execució. A més a més el processador gestionarà una memòria RAM externa per a les dades i una memòria Flash amb el programa a executar.
    Objetivos: 11 12 13 4 5 6
    Contenidos:

  • Teoría
    0h
    Problemas
    0h
    Laboratorio
    20h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    26h

    Fase avançada del projecte

  • (Q1) – Projecte de disseny i implementació d'un sistema encastat

    Integració hardware de tots els dispositius externs a la placa base. Integració del firmware de control dels dispositius externs a la placa base.

  • (Q2) – Projecte d'implementació d'un processador

    Connectar dispositius d'entrada/sortida més complexos. Implementar sistemes i estructures avançades en un processador. Afegir suport a interrupcions i excepcions. Afegir un suport bàsic per part del processador per als sistemes operatius actuals (gestió de memòria virtual i execució d'instruccions de forma privilegiada). Inicialització del sistema operatiu. Anàlisi de recursos.
    Objetivos: 13 14 5 7 8
    Contenidos:

  • Teoría
    0h
    Problemas
    0h
    Laboratorio
    20h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    26h

    Fase final del projecte

  • (Q1) – Projecte de disseny i implementació d'un sistema encastat

    Verificar que les prestacions i el funcionament del sistema integrat compleixen les especificacions i objectius marcats inicialment. Correcció i ajust de les desviacions.

  • (Q2) – Projecte d'implementació d'un processador

    Proposar e implementar millores en les capacitats del processadors, en l'arquitectura del processador, en els dispositius d'entrada/sortida o en el sistema operatiu del projecte realitzat.
    Objetivos: 15 5 7 8 16
    Contenidos:

  • Teoría
    0h
    Problemas
    0h
    Laboratorio
    12h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    18h

    Presentació oral del treball de recerca i avaluació de competències transversals.


    Objetivos: 15
    Semana: 15
    Tipo: entrega
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    3h
    Aprendizaje autónomo
    8h

    Entrega de la pràctica (documentació i codi) i entrevista del projecte



    Semana: 15
    Tipo: entrega
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    3h
    Aprendizaje autónomo
    0h

    Metodología docente

    L'assignatura només tindrà classes de laboratori. Al inici de cada sessió de laboratori es farà una breu explicació teòrica, d'uns 20 minuts de durada. Aquesta explicació teòrica serà per recordar els conceptes apresos en assignatures anteriors i per presentar en detall la tasca a realitzar en la sessió de laboratori.
    Les classes de laboratori seran setmanals.

    Durant el quadrimestre de tardor (Q1) es dissenyarà i es construirà el prototipus del sistema encastat, que es detallarà a les explicacions teòriques, amb l'ajuda d'un entorn de desenvolupament de microcontroladors i les tècniques d'implementació de prototipus.

    Durant el quadrimestre de primavera (Q2) al laboratori s'implementarà en una placa de desenvolupament de FPGA el processador mostrat a les explicacions teòriques, fent servir eines de desenvolupament professionals.

    Totes aquesta implementacions i dissenys es realitzaran en grups de 2 persones.

    Método de evaluación

    (Q1) – Projecte de disseny i implementació d'un sistema encastat

    La nota final (NF) estarà formada per la suma de tres components:

    NF = 20% NP1 + 40% NP2 + 40% NP3
    · La nota NP1 correspon a les tasques realitzades durant la fase d'especificació del projecte (fase inicial del projecte)
    · La nota NP2 correspon a la avaluació de la implementació i integració del hardware i del software del sistema (fases intermèdia i avançada del projecte).
    · La nota NP3 correspon als resultats obtinguts comparant les especificacions i objectius marcats al principi de curs (fase final del projecte).

    Les notes de les competències transversals s'obtindran de la següent manera:
    Emprenedoria i innovació: es tindrà en compte la iniciativa en trobar solucions innovadores així com la seva originalitat

    Treball en equip: es tindrà en compte el treball de coordinació del propi grup de treball així com la coordinació entre els diferents grups a l'hora de prendre decisions de disseny i implementació comunes al projecte

    Comunicació eficaç oral i escrita: s'avaluarà la memòria del projecte així com la seva presentació oral. Es presentarà oralment fora d'hores de classe al final del curs (en hores d'activitats dirigides).



    (Q2) – Projecte d'implementació d'un processador

    La nota final (NF) estarà formada per la suma de tres components:

    NF = 5% NP1 + 75% NP2 + 20% NP3
    · La nota NP1 correspon a les tasques realitzades durant la fase d'aprenentatge de les eines i tècniques (fase inicial del projecte).
    · La nota NP2 correspon a la implementació del processador (fases intermèdia i avançada del projecte).
    · La nota NP3 correspon a la proposta e implementació de millores en el processador (fase final del projecte).

    Cadascuna de les notes NP2 i NP3 s'obtindran a partir de l'entrega i comprovació del funcionament de tot el disseny implementat i de l'entrega d'un informe sobre el projecte realitzat.

    Les notes de les competències transversals d'emprenedoria i innovació, i de treball en equip s'obtindran a partir de les propostes presentades en la fase avançada del projecte i dels resultats obtinguts.

    Les notes de la competència transversal comunicació eficaç oral i escrita s'obtindran mitjançant la preparació d'un treball escrit relacionat amb el temari del curs i d'una breu presentació oral. El treball es presentarà oralment fora d'hores de classe al final del curs (en hores d'activitats dirigides).

    La qualificació de les competències transversals: Tindran valors A, B, C o D (on A correspon a un nivell excel·lent, B correspon a un nivell desitjat, C correspon a un nivell suficient i D correspon a un nivell no superat).

    Bibliografía

    Básica:

    Complementaria:

    Web links

    Capacidades previas

    L'estudiant ha de tenir les capacitats tècniques que li atorguen les assignatures cursades prèviament a més d'un nivell d'anglès suficient per a llegir i entendre una documentació tècnica.

    Coneixements de programació en llenguatge màquina i en codi assemblador.
    Conèixer el funcionament de les diferents portes lògiques i blocs combinacionals o seqüencials.
    Saber analitzar i sintetitzar circuits lògics.
    Saber el funcionament d'un computador a nivell de components i interconnexions.
    Conèixer el funcionament, els elements principals i l'estructura d'un processador.
    Coneixements de Sistemes Operatius a nivell de desenvolupador.
    Coneixements sobre l'arquitectura i funcionament els microcontroladors
    Saber configurar perifèrics integrats als microcontroladors
    Saber interconnectar els microcontroladors a perifèrics externs
    Coneixements del disseny de sistemes encastats (S.E)
    Aspectes Hardware i software dels SE
    Saber utilitzar les eines pel desenvolupament de S.E


    Adenda

    Contenidos

    Els continguts no han variat.

    Metodología docente

    Aquest quadrimestre esta previst que totes les clases seran presencials. La metodologia no ha canviat.

    Método de evaluación

    No ha canviat.

    Plan de contingencia

    En el cas que les classes no puguin ser presencials, està previst que els alumnes puguin endur-se a casa els materials i eines necessaris per continuar el projecte. Tot el programari necessari per desenvolupar el projecte és de lliure distribució. El professor continuarà pautant i donant suport remotament als alumnes.