DIGITAL AND PROGRAMMABLE SYSTEMS 2

SHE Level 4
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code MHG520578
Module Leader Mario Mata
School School of Computing, Engineering and Built Environment
Subject Electronic Engineering
Trimester
  • B (January start)

Pre-Requisite Knowledge

Digital and Programmable Systems 1 or equivalent

Summary of Content

This module aims to extend the student's hardware, software and interface knowledge and skills to perform the necessary analysis, design, implementation and evaluation activities to build embedded solutions. The module takes a systems approach, allowing students to explore the appropriate balance between software solutions, a representative range of hardware solutions and combined hardware/software solutions. The students' knowledge of hardware is extended by their introduction to industry-standard hardware description languages and related tools to describe, simulate and implement applications on FPGAs. The students' knowledge and practical experience of software programmable solutions is extended to cover more advanced application software techniques to allow them to respond to real-world embedded systems challenges.

Syllabus

Professional: -360b7 The globalization of the electronics industry and its effect on engineers' working practices. Awareness of the economics related to this. b7 The impact of the requirements for sustainable design on the product development lifecycle. b7 The requirements for ethical behaviour when creating modular designs that include externally sourced IP blocks and software components. Technical: Programmable Logic: -360b7 Finite State Machine (FSM) Design: Sequential logic structures, Mealy vs. Moore models, state behaviour, timing considerations. b7 The state machine design process: defining the state behaviour, state assignment, next state and output equation realization, example systems, data and control paths b7 Analysis of the behaviour of synchronous and asynchronous circuits b7 Digital system modelling with hardware description(HDL) languages (VHDL, Verilog) b7 Timing models of digital circuit elements: Propagation delay, rise/fall time, setup and hold times, pulse widths b7 Synthesis of digital circuits from VHDL models b7 Design principles and techniques: Bridging conceptual levels - top down/bottom up, divide and conquer, iteration, satisfying b7 FPGA architectures: technology choices, design flow including simulation, synthesis, implementation and verification b7 Developing a complex digital system design in a hierarchical fashion using VHDL and FPGA Microcontrollers: -360b7 Developing software to drive a range of peripheral devices on a representative microcontroller device b7 Using hardware interrupts and Interrupt Service Routines on a microcontroller to create reactive software b7 Fundamentals of typical data-buffering techniques b7 Applying state machine design procedures to the development of software to realise event-driven systems b7 The software development process: Understanding a system specification; developing a software design; implementing, testing and documenting the solution b7 The memory hierarchy and the influence of cache performance and organisation. b7 Using on-chip debug/trace facilities b7 The integration of testability at the design stage of a microprocessor system. -360b7 Applying and programming the exception facilities of a typical microcontroller: when to use interrupts; classification of interrupts; sources and identification of Interrupts; the processing and acknowledgement of interrupts. Systems: -360b7 System partitioning - justifying technical and economic choices for systems designed with an appropriate mix of programmable logic and software-programmed hardware (microcontrollers) b7 Systems design - Case studies illustrating technical and design issues in systems with hardware-software trade-offs.

Learning Outcomes

On completion of this module the student should be able to:Demonstrate knowledge of the global nature of the electronics industry and the changing landscape related to sustainable practices.Recognise and describe the characteristics of real-time systems, the major component parts of the system and how they interact, and the design considerations under which such a system is implemented.Demonstrate aspects of synthesis: analyse a representative problem in order to identify candidate technology solutions, create a system specification, compare/contrast design alternatives, create a development plan, apply knowledge to develop a balanced software/hardware design, experiment, implement, test and document the solution.Demonstrate knowledge of the economic/commercial impact of design decisions.Appreciate and assess the impact of design choices on the performance of systems and their ability to fulfil system expectations. Organise, undertake and report on the evaluation of representative systems built from programmable hardware/software. Demonstrate competency in the use of development environments for hardware/software design, implementation and test.

Teaching / Learning Strategy

The course material is introduced through lectures, while eight weeks of practical exercises complementing the lecture material are given to students within their laboratory sessions. All practical exercises are published to the online GCULearn learning system ahead of each laboratory session in order that students can start work on the design aspects of the exercises. The two-hour laboratory sessions are instructor-led and comprise two sequential components: 1. Directed learning is used to reinforce the essential theory and place it in the context of representative hardware/software programmed solutions. This approach includes the concept of learning from experimentation. 2. A set exercise is completed in each laboratory session. This includes elements of research, analysis and problem solving, synthesis, planning, implementation, testing, evaluation and reflection.

Indicative Reading

Textbooks: Stallings, W. (2010) Computer Organization and Architecture: Designing for Performance, 8th edition, Prentice Hall. Wakerly, J. F. (2005) Digital Design: Principles & Practice, 4th Edition, Prentice Hall. Katz, R. H. (1994) Contemporary Logic Design, Benjamin Cummings. Mano, M. and Klime, C. (2008) Logic and Computer Design Fundamentals, 4th Edition, Prentice Hall. Barret, S. and Pack, D (2005) Embedded Systems, Design and Applications with the 68HC12 and HCS12, 1st Edition, Prentice Hall. Vahid, F. and Givargis T. (2002) Embedded System Design: A Unified Hardware/Software Introduction, John Wiley & Sons. Journals: IET Computers & Digital Techniques IEEE Computer Architecture Letters IEEE Transactions on Computers IEEE Transactions on Very Large Scale Integration (VLSI) Systems IEEE Micro IEEE Design & Test of Computers

Transferrable Skills

D1 Specialist knowledge and application. D2 Critical thinking and problem solving. D3 Critical analysis. D4 Communication skills, written, oral and listening. D5 Numeracy. D6 Effective Information retrieval and research skills. D7 Computer literacy. D8 Self confidence, self discipline & self reliance (independent working). D9 Awareness of strengths and weaknesses. D10 Creativity, innovation & independent thinking. D11 Knowledge of international affairs. D12 Appreciating and desiring the need for continuing professional development. D13 Reliability, integrity, honesty and ethical wareness D15 Ability to prioritise tasks and time management (organising and planning work). D16 Interpersonal skills, team working and leadership. D17 Presentation skills. D18 Commercial awareness

Module Structure

Activity Total Hours
Assessment (PT) 20.00
Tutorials (PT) 12.00
Independent Learning (FT) 120.00
Practicals (FT) 24.00
Assessment (FT) 20.00
Practicals (PT) 18.00
Tutorials (FT) 12.00
Lectures (PT) 24.00
Lectures (FT) 24.00
Independent Learning (PT) 126.00

Assessment Methods

Component Duration Weighting Threshold Description
Exam (Exams Office) 2.00 50.00 35% This will test the understanding of the development methods as described in the outcomes and the language semantics that support them.
Coursework 1 0.00 50.00 35% The first group of practical coursework exercises is based on the lab teaching and comprises a set of design and development exercises, with written deliverables each week in a student's online lab book. In order to incentify formative learning, the tutor is expected to implement staged feedback and marking, to be stated in the design briefs. the final courswork exercise is an integrative project to test students' skills in analysis, synthesis, design, implementation, test, evaluation, reflection and commercial awareness.