This is a tool for making embedded systems from off-the-shelf components. It contains several features:
  • make a board
    • lets users pick components from (shared) models, including MCUs, sensors, peripherals, LEDs, switches, etc
    • suggests automatic interface synthesis but allow manual override
    • automatic checking for inconsistency (voltage, signal, etc)
  • subclass a board
    • inherit design features from an existing board (shared by someone) and override components and connections as needed or add new components
    • maximize reuse of design, test vectors, etc
  • simulate a design
    • logic-level cycle accurate (based on myHDL model)
    • driven by ISA or RTL (register-transfer level (RTL), validate interface signaling in arch-independent way
    • Think of it as generalization of EdSim,
      • instead of fixed MCU, peripherals, allow them to be replaced with other peripherals
    • allow real data from sensors to be played back (e.g., audio, accelerometer, gyro, user button) or scripted in time
    • allow assertions of UI observed values (e.g., expect LED to light up but doesn't - what went wrong?) -- more generally, allow regression test! even inherited