Better Embedded Design Tools with Automated Reasoning
Rohit Ramesh
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2024-5
January 16, 2024
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-5.pdf
Contemporary tools for the design of embedded systems, task-specific electronic devices, are built on a paradigm that has not fundamentally changed since the era of pen-and-paper drafting despite new computational tools that enable new, better workflows for designers and engineers. Embedded systems are the glue we use to connect the digital and physical worlds, letting us leverage the connectivity and automation of computers to solve problems from home automation to battlefield awareness. More user friendly tooling would reduce skill requirements, speed up design cycles, and allow more people to solve their problems with embedded systems. Contemporary Electronic Design Automation (EDA) tools are designed around a single step in the design process, board layout, where an electrical schematic is turned into a design for a printed circuit board, the copper and fiberglass base that connects all the other components in a system. However, engineers go through a series of phases before they reach board layout: exploring the problem they are trying to solve, sketching out a high-level system architecture, and refining that into a well-defined electrical circuit. Better EDA tools would fit more naturally into this workflow, existing to support users in earlier phases, presenting them with information as it becomes relevant, and automating routine or repetitive work. This dissertation describes two such tools, both built by formulating the design process in mathematical terms and using algorithms to reason about our formalisms, all while wrapped in user-friendly interfaces. The first tool, Embedded Design Generation (EDG) is a proof-of-concept system meant to push the limits of automation in the embedded design process. Given a high-level specification for a device it uses satisfiability solvers to synthesize, from whole cloth, a design meeting that spec. The second, Polymorphic Blocks, uses block diagrams to represent designs in arbitrary stages of construction and propagator semantics for error checking, predictive suggestions, and other features.
Advisors: Prabal Dutta
BibTeX citation:
@phdthesis{Ramesh:EECS-2024-5, Author= {Ramesh, Rohit}, Title= {Better Embedded Design Tools with Automated Reasoning}, School= {EECS Department, University of California, Berkeley}, Year= {2024}, Month= {Jan}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-5.html}, Number= {UCB/EECS-2024-5}, Abstract= {Contemporary tools for the design of embedded systems, task-specific electronic devices, are built on a paradigm that has not fundamentally changed since the era of pen-and-paper drafting despite new computational tools that enable new, better workflows for designers and engineers. Embedded systems are the glue we use to connect the digital and physical worlds, letting us leverage the connectivity and automation of computers to solve problems from home automation to battlefield awareness. More user friendly tooling would reduce skill requirements, speed up design cycles, and allow more people to solve their problems with embedded systems. Contemporary Electronic Design Automation (EDA) tools are designed around a single step in the design process, board layout, where an electrical schematic is turned into a design for a printed circuit board, the copper and fiberglass base that connects all the other components in a system. However, engineers go through a series of phases before they reach board layout: exploring the problem they are trying to solve, sketching out a high-level system architecture, and refining that into a well-defined electrical circuit. Better EDA tools would fit more naturally into this workflow, existing to support users in earlier phases, presenting them with information as it becomes relevant, and automating routine or repetitive work. This dissertation describes two such tools, both built by formulating the design process in mathematical terms and using algorithms to reason about our formalisms, all while wrapped in user-friendly interfaces. The first tool, Embedded Design Generation (EDG) is a proof-of-concept system meant to push the limits of automation in the embedded design process. Given a high-level specification for a device it uses satisfiability solvers to synthesize, from whole cloth, a design meeting that spec. The second, Polymorphic Blocks, uses block diagrams to represent designs in arbitrary stages of construction and propagator semantics for error checking, predictive suggestions, and other features.}, }
EndNote citation:
%0 Thesis %A Ramesh, Rohit %T Better Embedded Design Tools with Automated Reasoning %I EECS Department, University of California, Berkeley %D 2024 %8 January 16 %@ UCB/EECS-2024-5 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-5.html %F Ramesh:EECS-2024-5