Specialisation elective of Part 3, semester 2: COMPSYS 303 - "Microcomputers and Embedded Systems".

Outline:

  • What is an "embedded system"? ("does a specific thing")
    • "IC technologies"
    • "VLSI" - "Very-Large-Scale Integration"; "ASIC" - "Application Specific Integrated Circuit"; PLD - Programmable Logic Device
    • Processor techonologies
    • GPP -General-Purpose Processor; ASIP - Application Specific Instruction-set Processor; Custom processor (i.e. hardware)
  • concurrency
    • communication/synchronisation methods
    • single rendez-vous
    • read-modify-write & test-and-set
    • bounded/unbounded queue
  • CHFSM - concurrent, hierarchical FSMs
    • "Synchronous broadcast"
  • C-to-hardware synthesis
    • C
    • -> FSMD (FSM with Datapath) (not a flowchart)
    • -> FSM + Datapath
    • -> combination + sequential implementation (in VHDL)
  • "So(P)C" - "System on (Programmable) Chip"
    • Peripherals, bus, bridge
    • bus arbitratory
    • bus master/slave
    • DMA - Direct Memory Access
    • vectored interrupts vs. fixed interrupts
  • "design metrics"
    • NRE (Non-Recurring Engineering) cost, unit cost, average cost
  • A tiny bit of control theory
    • open/closed loop control systems
    • P, PI, PD, PID controllers
  • "Industry automation"
    • "PLD" - "Programmable Logic Device"
    • ladder logic diagrams

Also, for the assignments and lab work, there is some programming involved. We had to create a life controller prototype and a traffic light controller prototype, using C, on an Altera DE0 board.