Embedded Device Generation
Rohit Ramesh and Prabal Dutta
Turning Software into Hardware
Speaker’s Notes :
- I’m Rohit Ramesh, a PhD Student as the University of Michigan
- I’ve been working on Embedded Device Generation with Prof. Prabal Dutta
Embedded Device Generation Turning Software into Hardware Rohit - - PDF document
Embedded Device Generation Turning Software into Hardware Rohit Ramesh and Prabal Dutta Speakers Notes : - Im Rohit Ramesh, a PhD Student as the University of Michigan - Ive been working on Embedded Device Generation with Prof.
Speaker’s Notes :
Embedded Device Generation
2 2
Speaker’s Notes :
into a problem of software development.
dozen people a year, and now it’s a process which take two people a few months.
expressed as code, into complete designs for embedded devices.
learning the minutiae of embedded development.
work faster and more effectively.
Embedded Device Generation
3 3
Brewing Beer at Home
Speaker’s Notes :
Embedded Device Generation
4 4
Hobbyist wants a bespoke temperature controller.
Speaker’s Notes :
the fermentation process precisely.
for the job at hand.
develop hardware takes time and money they don’t have.
Embedded Device Generation
5 5
They write some Application Logic.
Speaker’s Notes :
should do. The application logic.
Embedded Device Generation
6 6
Device Generation turns code into design files.
Speaker’s Notes :
design for the hardware and firmware of their temperature controller.
Embedded Device Generation
7 7
Hobbyist sends the design to a fabricator.
Speaker’s Notes :
Embedded Device Generation
8 8
A box arrives in the mail ...
Speaker’s Notes :
Embedded Device Generation
9 9
… with the finished device.
Speaker’s Notes :
Embedded Device Generation
10 10
… with the finished device. Embedded Device Generation
Speaker’s Notes :
embedded devices that suit their individual needs.
Embedded Device Generation
11 11
Speaker’s Notes :
device, usually pseudo-code or quick sketches, and turns that into the hardware and firmware for that device.
Embedded Device Generation
12 12
Speaker’s Notes :
different path.
Embedded Device Generation
13 13
Speaker’s Notes :
about device designs algorithmically.
Embedded Device Generation
14 14
Speaker’s Notes :
used during device generation.
datasheets, manuals, and numerous other sources.
Embedded Device Generation
15 15
Speaker’s Notes :
problem of embedded development into a problem that’s much easier to solve automatically.
Embedded Device Generation
16 16
Speaker’s Notes :
specification within the formalism.
Embedded Device Generation
17 17
Speaker’s Notes :
a formal schematic for the device.
Embedded Device Generation
18 18
Speaker’s Notes :
people use today.
Embedded Device Generation
19 19
Speaker’s Notes :
Embedded Device Generation
20 20
Speaker’s Notes :
like.
Embedded Device Generation
21 21
Speaker’s Notes :
must have.
their device uses. They care that they can measure the temperature and heat a lquid.
a particular range of values.
range of between 0 and 100 degrees.
a thermometer, A heater, or a cooler, for the user.
Embedded Device Generation
22 22
Speaker’s Notes :
hardware-specific components.
automatically.
Embedded Device Generation
23 23
Speaker’s Notes :
for a device.
components are and what they do during runtime.
*within* the device.
Embedded Device Generation
24 24
Speaker’s Notes :
thermometer and turn on an actual cooler,, then the device as a whole will work.
needs.
Embedded Device Generation
25 25
Speaker’s Notes :
as a whole will satisfy the specification.
Embedded Device Generation
26 26
Speaker’s Notes :
formal schematic for an tire device.
Start with the Application Logic.
27
Speaker’s Notes :
Each component tells us about the device around it.
28
Speaker’s Notes :
Application Logic implies a microcontroller.
29
Speaker’s Notes :
Application Logic implies peripherals.
30
Speaker’s Notes :
properties
with some , as yet unknown, bridge between software and hardware.
31
The order in which choices are made matters.
Speaker’s Notes :
a complete device.
contrast there’s not as many thermometers.
Sometimes choices don’t work ...
32
Speaker’s Notes :
temperatures.
and backtrack, so we can try another thermometer.
… and sometimes they do.
33
Speaker’s Notes :
New information creates new constraints.
34
Speaker’s Notes :
SPI bus.
removing every microcontroller without an SPI bus from the set of options.
New requirements appear that are a byproduct of design choices.
35
Speaker’s Notes :
byproduct of the application logic.
Synthesis can search for simpler designs.
36
Speaker’s Notes :
share a bus.
I2C bus can support multiple devices, and that these two components can share a bus.
space of choices.
Added constraints make search more tractable.
37
Speaker’s Notes :
consumption to make the synthesis process tractable and guide it towards solutions that prioritize properties we care about. (Speed, cost, etc…)
38
Added constraints make search more tractable.
Speaker’s Notes :
No more unfulfilled requirements, the formal schematic is complete.
39
Speaker’s Notes :
and a complete design where each component has the resources it needs to function.
Embedded Device Generation
40 40
Speaker’s Notes :
formal version of the design into the concrete hardware and firmware we need to build a device.
Embedded Device Generation
41 41
Speaker’s Notes :
microcontroller.
both the formal representation of a piece of software, as well as the embedded C implementation.
Embedded Device Generation
42 42
Speaker’s Notes :
schematic to choose settings, wire together interfaces, and create the complete firmware needed for the device.
Embedded Device Generation
43 43
Speaker’s Notes :
Embedded Device Generation
44 44
Speaker’s Notes :
converted into an electronic schematic.
Embedded Device Generation
45 45
Speaker’s Notes :
entire PCB layouts.
goes here, these buttons go here” and everything else is done automatically.
Embedded Device Generation
46 46
Speaker’s Notes :
Embedded Device Generation
47 47
faster, cheaper, and more accessible.
Speaker’s Notes :
process
existing development tools.
errors, and we want to bring those tools to developers as well.
tasks.
49
Rohit Ramesh rohitram@umich.edu
50
Embedded Device Generation
51 51
d. Reification
Speaker’s Notes : Reader’s Notes:
Embedded Device Generation
52 52
Speaker’s Notes :