X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Outline;h=9866fd0269b19d401e2af649fed4f1a580c88dc0;hp=73246f9dc78177926933e61cfeb46677cee82dea;hb=8fc9744b20957eb9c51b70e09067f942593849fb;hpb=c8b72a250403339e3782e3efebc02a11f2411182 diff --git a/Outline b/Outline index 73246f9..9866fd0 100644 --- a/Outline +++ b/Outline @@ -1,41 +1,45 @@ -Implementation issues +Context + Other FHDLs (short, Christiaan has details) + + Advantages of clash / why clash? + + VHDL / Verilog / EDIF etc. Why VHDL? + -State +Haskell as hardware + Simple function -> component interpretation (Model: Structure) + Model: State + Explicit vs implicit passing of state (e.g, delay) + Explicit vs implicit marking + Interpret: Polymorphism + Interpret: Higher order + Need: Dependent types + Impossible things: Infinite recursion, higher order expressions, + recursive types. Prototype + Choice of Haskell + Core - description of the language (appendix?) Stages (-> Core, Normalization, -> VHDL) + Implementation issues -Core - -VHDL vs EDIF generation + Haskell language coverage / constraints + Recursion + Builtin types + Custom types (Sum types, product types) + Function types / higher order expressions Normalization Normal form Rules used Completeness / conditions on input Termination - Casts - -Context - -Other FHDLs - -VHDL / Verilog / EDIF etc. - -Advantages of clash / why clash? - -Haskell as hardware - Dependent types - Impossible things: Infinite recursion, higher order expressions - -Haskell language coverage / constraints - Recursion - Builtin types - Custom types (Sum types, product types) - Function types / higher order expressions + Casts / Strictness / Casebinders not fully supported Future work Boilerplate reduction (State distribution & pipelining) Recursion - Multiple time domains + Multiple time domains (Events) Multiple cycle descriptions + Higher order state + New language