X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Outline;h=8b991c6bcd0eb3ffd85a9ef6fe797bee5d58ae44;hp=73246f9dc78177926933e61cfeb46677cee82dea;hb=72a9e027667346a15478adc8109c26a4ffd17f5e;hpb=c8b72a250403339e3782e3efebc02a11f2411182 diff --git a/Outline b/Outline index 73246f9..8b991c6 100644 --- a/Outline +++ b/Outline @@ -1,41 +1,46 @@ -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) -- Also, clock line optimization / + -- write enable Multiple cycle descriptions + Higher order state + New language