Checking date: 17/04/2023

Course: 2023/2024

Digital electronic systems
Bachelor in Industrial Electronics and Automation Engineering (Plan: 444 - Estudio: 223)


Department assigned to the subject: Electronic Technology Department

Type: Electives
ECTS Credits: 6.0 ECTS


Requirements (Subjects that are assumed to be known)
Digital Electronics Microprocessors and Microcontrollers
By the end of this subject, students will be able to have: 1. coherent knowledge of their branch of engineering including some at the forefront of the branch in digital systems and heterogeneous computing; 2. the ability to apply their knowledge and understanding of digital systems to identify, formulate and solve engineering problems using established methods; 3. the ability to apply their knowledge and understanding to develop and realise digital designs to meet defined and specified requirements; 4. an understanding of design methodologies, and an ability to use them. 5. workshop and laboratory skills. 6. the ability to select and use appropriate equipment, tools and methods; 7. the ability to combine theory and practice to solve problems of digital systems; 8. an understanding of applicable techniques and methods in digital electronics, and of their limitations;
Skills and learning outcomes
Description of contents: programme
· Introduction. Digital signal processing, embedded systems, heterogeneous computing (microprocessors, FPGAs and GPUs) and System-On-Chip (SoC). · Register-Transfer Level (RTL) design. Advanced topics in VHDL design. Generic design. Design with IP blocks. Synthesis and design evaluation. Design optimization. Serial, parallel and pipelined architectures. · Advanced computer architecture concepts: parallelism and pipelining · Advanced interfaces and buses. AXI buses. Interconnection by buses. · Memory subsystems. Cache memories. Virtual memory. Shared memory. · Heterogeneous computing systems for digital signal processing. Field-Programmable Gate Arrays (FPGAs). Digital Signal Processors (DSPs). SIMD extensions. Multithreading and multicore systems. Graphics Processing Units (GPUs). · Design and development of applications. Practical examples of heterogeneous design using FPGAs, microprocessors and GPUs.
Learning activities and methodology
The teaching methodology will include: - Master lectures, where the students will be presented with the basic knowledge they must acquire. Students will be supplied with lecture notes and key reference texts which will enable them to complete and acquire a more in depth knowledge of the subject. - Practical Sessions, these are aimed at the solving of exercises and examples within the context of real case studies. These classes will be complimented with the resolution of practical exercises on behalf of the student. - Laboratory Practical Sessions
Assessment System
  • % end-of-term-examination 35
  • % of continuous assessment (assigments, laboratory, practicals...) 65
Calendar of Continuous assessment
Basic Bibliography
  • Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa. Heterogeneous Computing with OpenCL. Morgan Kaufmann. 2011
  • David A. Patterson, John L. Hennessy. Computer Organization and Design RISC-V Edition: The Hardware Software Interface. Morgan Kaufmann. 2020
  • David B. Kirk, Wen-mei W. Hwu. Programming Massively Parallel Processors. A Hands-on Approach (3rd Ed.) . Morgan Kaufmann. 2016
  • J. Ledin. Modern Computer Architecture and Organization. Packt Publishing Ltd.. 2020
  • Marilyn Wolf. Computer as Components Principles of Embedded Computing System Design. Morgan Kaufman. 2012
  • Shane Cook. CUDA Programming. A Developer¿s Guide to Parallel Computing with GPUs. Morgan Kaufmann. 2013

The course syllabus may change due academic events or other reasons.