. .. Research Background What is Π-Ware Introduction . .. . . . Research Question / . .. . . .. . . .. Question Methodology . 1 Utrecht University Department of Information and Computing Sciences <w.s.swierstra@uu.nl> Supervisor: Wouter Swierstra <joaopizani@uu.nl> Author: João Paulo Pizani Flor Language using Dependent Types Π-Ware: An Embedded Hardware Description Future work DTP / Agda Summary Conclusions Proofs Semantics Circuit Syntax Π-Ware Agda Big picture . .. . .. . . .. . . .. . . . . . .. . . .. . . .. .. . . . . .. . . .. . . .. . .. .. . . .. . . .. . . Tuesday 26 th August, 2014
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Π-Ware 2 Future work Summary Conclusions Proofs Semantics Circuit Syntax Agda What is Π-Ware Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . What is Π-Ware
. . Introduction . .. . . .. . .. Background . . .. . . .. . . What is Π-Ware Research . Conclusions language. It allows for the description, simulation, synthesis and embedded in the dependently-typed Agda programming “ Π-Ware is a Domain-Specific Language (DSL) for hardware, What is Π-Ware 3 Future work Summary Proofs Question Semantics Circuit Syntax Π-Ware Agda Big picture DTP / Agda Methodology Research Question / .. . . .. . .. . . .. . . . .. . .. . . .. . . .. . . .. .. . . .. . . .. . . . . . .. . . .. . . .. verification of circuits, all in the same language.”
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Π-Ware 4 Future work Summary Conclusions Proofs Semantics Circuit Syntax Agda What is Π-Ware Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . Background
. . . . .. . . .. . .. . . . .. . . . . .. Introduction .. Circuit Syntax Hardware design is hard(er) 5 Future work Summary Conclusions Proofs Semantics Π-Ware What is Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question Research Background . .. . . . . . .. . . .. . . .. . . .. . . .. . .. .. . .. . . .. . . .. . . . .. .. . . .. . . ▶ Strict(er) correctness requirements • You can’t simply update a full-custom chip after production • Intel Pentium’s FDIV • Expensive verification / validation • Up to 50% of development costs ▶ Low-level details (more) important • Layout / area • Power consumption / fault tolerance
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Circuit Syntax Hardware design is growing 6 Future work Summary Conclusions Proofs Semantics Π-Ware What is Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . ▶ Moore’s law will still apply for some time • We can keep packing more transistors into same silicon area ▶ But optimizations in CPUs display diminishing returns • Thus, more algorithms directly in hardware
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Circuit Syntax Hardware Description Languages 7 Future work Summary Conclusions Proofs Semantics Π-Ware What is Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . . .. . .. . . .. . . .. . ▶ All started in the 1980s ▶ De facto industry standards: VHDL and Verilog ▶ Were intended for simulation , not modelling or synthesis • Unsynthesizable constructs • Widely variable tool support
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Circuit Syntax Functional Hardware Description 8 Future work Summary Conclusions Proofs Semantics Π-Ware What is Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . . . . .. . . .. . . .. . . .. . . .. . .. .. . .. . . .. . . .. . . .. . . .. . . .. . ▶ A functional program describes a circuit • Easier to reason about program properties • Inherently parallel and stateless semantics ▶ Several functional HDLs during the 1980s • For example, 𝜈 FP [Sheeran, 1984] ▶ Later, embedded hardware DSLs • For example, Lava (Haskell) [Bjesse et al., 1998]
. . .. . . .. . . .. . Introduction .. . . .. . . . . What is Π-Ware . Semantics -> ([ Signal Bool ], Signal Bool ) Embedded DSLs for Hardware 9 Future work Summary Conclusions Proofs Circuit Syntax Background Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question Research . .. .. .. . .. . . .. . . . .. . .. . . .. . . .. . . . .. . .. . . .. . . . . . .. . . .. . . .. ▶ Lava • Simulation / Synthesis / Verification • Limitations: almost untyped / no size checks adder :: ( Signal Bool , ([ Signal Bool ], [ Signal Bool ])) ▶ Others: • ForSyDe [Sander and Jantsch, 1999] • Hawk [Launchbury et al., 1999], etc.
. .. . .. . . .. . . . What is Π-Ware . .. . . .. . . . Introduction Background . Proofs programming depend on values Dependently-Typed Programming 10 Future work Summary Conclusions Semantics Research Circuit Syntax Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question . .. .. .. . .. . . .. . . . .. . .. . . .. . . .. . . . .. . .. . . .. . . . . . .. . . .. . . .. ▶ Dependent type systems: systems in which types can ▶ It makes a big difference: • More expressivity • Certified programming ▶ DTP often touted as “successor” of functional • Very well-suited for DSLs [Oury and Swierstra, 2008]
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Π-Ware 11 Future work Summary Conclusions Proofs Semantics Circuit Syntax Agda What is Π-Ware Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . Research Question / Methodology
. .. . .. . . .. . . . What is Π-Ware . .. . . .. . . . Introduction Background . Proofs dependently-typed language (Agda) Programming (DTP) can bring to hardware design? Research Question / Methodology 12 Future work Summary Conclusions Semantics Research Circuit Syntax Π-Ware Agda Big picture DTP / Agda Methodology Research Question / Question . .. .. .. . .. . . .. . . . .. . .. . . .. . . .. . . . .. . .. . . .. . . . . . .. . . .. . . .. ▶ Question: • What are the improvements that Dependently-Typed • Compared to other functional hardware languages ▶ Methodology: • Develop a hardware DSL, embedded in a • Allowing simulation, synthesis and verification
. . . . .. . . .. . .. . . . .. . . .. . .. Introduction .. Π-Ware 13 Future work Summary Conclusions Proofs Semantics Circuit Syntax Agda What is Π-Ware Big picture DTP / Agda Methodology Research Question / Question Research Background . . . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . Big picture
. . Introduction . .. . . .. . .. Background . . .. . . .. . . What is Π-Ware Research . Conclusions arguments data List (a :: *) :: * where 𝖾𝖻𝗎𝖻 𝖶𝖿𝖽 (𝑏 ∶ 𝖳𝖿𝗎) ∶ ℕ → 𝖳𝖿𝗎 𝗑𝗂𝖿𝗌𝖿 … Dependently-Typed Programming 14 Future work Summary Proofs Question Semantics Circuit Syntax Π-Ware Agda Big picture DTP / Agda Methodology Research Question / .. . . .. . .. . . .. . . . .. . .. . . .. . . .. . .. . .. . . .. . . . . . .. . . .. . . .. . .. . ▶ Disclaimer: Suspend disbelief in syntax • Examples are in Agda • Syntax similar to Haskell, details further ahead ▶ Types can depend on values • Example: • Compare with Haskell: ▶ Types of arguments can depend on values of previous • Ensure a “safe” domain • 𝗎𝖻𝗅𝖿 ∶ (𝑛 ∶ ℕ) → 𝖶𝖿𝖽 𝛽 (𝑛 + 𝑜) → 𝖶𝖿𝖽 𝛽 𝑛
Recommend
More recommend