Embedded Device Generation(EDG) can generate complete hardware designs from high-level specifications (like annotated software). This level of abstraction can enable a new generation of coders to take advantage of the increasingly accessible and popular fabrication techniques without requiring them to learn the skills associated with traditional hardware design. The system starts from the user-specified requirements and a library of available components and produces a block diagram containing sufficient information to generate the finalized device firmware, bill of materials, and circuit netlist.