Connecting the Blocks: Safely Wiring Hardware Designs together using Linear & Dependent Types (artefact)
Description
ECOOP Submission Number: 89.
Our work presents a sub-structurally typed orchestration language, called LightClick, to better reason about *Systems-On-a-Chip* (SoC) Orchestration.
LightClick is a proof of concept language that showcases how *fancy types* (namely linear & dependent types) can enrich hardware design tooling such that we can move existing external static analysis checks into the language's type-system.
Using our approach will lead to the enhanced safety of designs, and increase in design productivity, through early identification and reduction of connection errors.
LightClick supports fine-grained specification of hardware modules and their interfaces, together with connection primitives to connect ports together.
What makes LightClick novel is that ports must be linearly used (at most once), and there are connection primitives (fan-outs, logic gates, mutliplexers) that support explicit weakening of linearity.
Notes
Files
lightclick.pdf
Files
(316.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:4f2b5ef9579ef56246c14c6bef53c633
|
315.3 MB | Download |
|
md5:e6d6c04d79f9c782ef89451a0458926b
|
745.3 kB | Preview Download |
|
md5:fb77d7c780920f26618453f66a23a531
|
109.7 kB | Download |
|
md5:c0ec2a9b5b216e8840adfc782d5fa274
|
41.3 kB | Download |
|
md5:389d9e04cd2b6f005db46385850faf4b
|
311.3 kB | Download |
|
md5:f477121d20ebc5552cef979b9c78817b
|
15.8 kB | Preview Download |