projects
/
matthijs
/
master-project
/
report.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9a72aec
)
Update outline.
author
Matthijs Kooijman
<matthijs@stdin.nl>
Mon, 2 Nov 2009 11:24:23 +0000
(12:24 +0100)
committer
Matthijs Kooijman
<matthijs@stdin.nl>
Mon, 2 Nov 2009 12:12:36 +0000
(13:12 +0100)
Outline
patch
|
blob
|
history
diff --git
a/Outline
b/Outline
index 8b991c6bcd0eb3ffd85a9ef6fe797bee5d58ae44..074f6a6105a1ee1b20fa1944352d8f685b5717df 100644
(file)
--- a/
Outline
+++ b/
Outline
@@
-1,46
+1,52
@@
-Context
- Other FHDLs (short, Christiaan has details)
-
- Advantages of clash / why clash?
-
- VHDL / Verilog / EDIF etc. Why VHDL?
+Introduction
+* Goals
+* Outline
+*Context
+* Other FHDLs (short, Christiaan has details)
+* Advantages of clash / why clash?
Haskell as hardware
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
+* Simple function -> component interpretation (Model: Structure)
+* Partial application
+* Model: State
+* Explicit vs implicit passing of state (e.g, delay)
+* Explicit vs implicit marking
+* Interpret: Polymorphism
+* Interpret: Higher order
Need: Dependent types
Need: Dependent types
+* Recursion
Impossible things: Infinite recursion, higher order expressions,
Impossible things: Infinite recursion, higher order expressions,
-
recursive types
.
+
recursive types, ..
.
Prototype
Prototype
- Choice of Haskell
- Core - description of the language (appendix?)
- Stages (-> Core, Normalization, -> VHDL)
- Implementation issues
+* Choice of Haskell
+ VHDL / Verilog / EDIF etc. Why VHDL?
+* Stages (-> Core, Normalization, -> VHDL)
+. Core - description of the language (appendix?)
+ Implementation issues -- Which?
+ State annotations
Haskell language coverage / constraints
Recursion
Builtin types
Custom types (Sum types, product types)
Function types / higher order expressions
Haskell language coverage / constraints
Recursion
Builtin types
Custom types (Sum types, product types)
Function types / higher order expressions
+ State type -> Anything representable
Normalization
Normalization
- Normal form
- Rules used
- Completeness / conditions on input
- Termination
+* Normal form
+* Rules used
+. Properties / Proofs (termination, soundness, completeness, determinism)
Casts / Strictness / Casebinders not fully supported
Future work
Casts / Strictness / Casebinders not fully supported
Future work
-
Boilerplate reduction (State distribution & pipelining)
-
Recursion
-
Multiple time domains (Events) -- Also, clock line optimization /
+
.
Boilerplate reduction (State distribution & pipelining)
+
*
Recursion
+
*
Multiple time domains (Events) -- Also, clock line optimization /
-- write enable
-- write enable
- Multiple cycle descriptions
- Higher order state
- New language
+* Multiple cycle descriptions
+* Higher order state
+* New language
+
+TODO: Define user / developer