Software/Firmware Design

Software and firmware design is a two step process. As in hardware design, there is a High Level and Low Level design phase. The High Level Design (HLD) phase involves creating block and data flow diagrams of the software functions. This includes defining inter and intra module data structures and communication methods . This approach allows a group design to be efficient. Engineers can focus on their respective modules.

HLD Deliverables include:

  • Software High Level Design (HLD) documentation
  • Resource Estimates (ROM, RAM, CPU Utilization, etc.)
  • Development Requirements (Tools, etc.)

Low Design Design (LLD) Deliverables include:

  • LLD Documentation
  • Firmware Source
  • Resource Requirements