41857 - Hardware and Software Design Methodologies (Graduate Course)

Academic Year 2008/2009

  • Docente: Luca Benini
  • Credits: 6
  • SSD: ING-INF/01
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LS) in Electronic Engineering (cod. 0233)

Learning outcomes

The main goal of the class is to provide an overview on the methods for designing, validating and verifying complex embedded electronic system. The importance of software components in virtually all electronic systems will be emphasized. Thus,  special focus will be given to hardware-software codesign methods and tools.

The most common HW-SW codesign approaches  used in industry (telecom, automotive, industrial automaion)  will be surveyed in details.

Course contents

hardware-software system architecture

- Systems-on-chip

  1. SoC with general-purpose processor
  2. SoC with application-specific processor
  3. Reconfigurable SoCs
  4. Multiprocessor SoCs (MPSoCs)
  5. Networks on chip (NoCs)

- Systems on Board

  1. Microcontroller systems
  2. Smart sensors
  3. Reconfigurable systems

- Distributed embedded systems

  1. Wired communication protocols
  2. Wireless sensor networks
  3. Wearable and portable systems

- Software components for embedded systems

  1. Real-time Operating systems
  2. Device drivers & Firmware
  3. APIs e hardware abstraction layers

Hardware-software codesign

- Modeling HW/SW systems:

  1. Platform-based design
  2. Component-based design
  3. Communication-based design

- Functional abstractions for HW/SW:

  1. Data-flow (es. Synchronous dataflow)
  2. Control-oriented (es. Generalized state machines)
  3. Event-driven (es. Simulink)
  4. Model selection strategy, hybrid models

- Hardware-software description languages

  1. Survey of languages for system design (focus on SystemC)
  2. Case studies

- Synthesis and computer-aided design

  1. Key issues in HW/SW syntthesis
  2. Hardware & software (scheduling, allocation, partitioning)
  3. Alternative design flows.

Verification and validation

- Simulation/Emulation/Prototyping

  1. Cosimulation. Cosimulation algorithms
  2. Commercial cosimulator examples
  3. Emulation. Basic concepts and examples
  4. Prototyping: ICE and prototyping boards

- Concurrent HW-SW verification

Readings/Bibliography


Embedded System Design : A Unified Hardware/Software Introduction, Frank Vahid, Tony D. Givargis, John Wiley & Sons October, 2001


Computers as Components: Principles of Embedded Computer Systems Design, Wayne Wolf, Morgan Kaufmann 25 October, 2000 Hardcover


Readings in Hardware/Software Co-design, Giovanni De Micheli, Rolf Ernst, Wayne Wolf, Morgan Kaufmann 01 June, 2001


System Design with SystemC, Thorsten Grotker, Stan Liao, Grant Martin, Stuart Swan, Kluwer Academic Publishers May, 2002 Hardcover

 

 

Teaching methods

Frontal lectures
In-class exerchises and demo
Design Project

Assessment methods

  • Oral examination
  • Project

Links to further information

http://www-micrel.deis.unibo.it

Office hours

See the website of Luca Benini