X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FIntroduction.tex;h=18950802c16f31fd2f6f33036e7076218389c436;hp=2f7172dc4a2bbe36a89f1c8796f462e1a3a45562;hb=f2d45a8c05c4fff4eb9574e8514b213fbfc8fb84;hpb=747c2ba3d485fb5c3543e9435fbd3dff59ddb3f8 diff --git a/Chapters/Introduction.tex b/Chapters/Introduction.tex index 2f7172d..1895080 100644 --- a/Chapters/Introduction.tex +++ b/Chapters/Introduction.tex @@ -7,10 +7,10 @@ connect these worlds and puts a step towards making hardware programming on the whole easier, more maintainable and generally more pleasant. This assignment has been performed in close cooperation with Christiaan -Baaij, whose Master's thesis \cite[baaij09] has been completed at the +Baaij, whose Master's thesis \cite[baaij09]\ has been completed at the same time as this thesis. Where this thesis focuses on the interpretation of the Haskell language and the compilation process, -\cite[baaij09] has a more thorough study of the field, explores more +\cite[baaij09]\ has a more thorough study of the field, explores more advanced types and provides a case study. % Use \subject to hide this section from the toc @@ -65,14 +65,14 @@ advanced types and provides a case study. % Draw a dotted line between the middle operations ncline(a2)(a3) "linestyle(dashed withdots)", "arrows(-)"; \stopuseMPgraphic - \placeexample[here][ex:AndWord]{Simple architecture that inverts a vector of bits.} + \placeexample[][ex:AndWord]{Simple architecture that inverts a vector of bits.} \startcombination[2*1] {\typebufferlam{AndWord}}{Haskell description of the architecture.} {\boxedgraphic{AndWord}}{The architecture described by the Haskell description.} \stopcombination Slightly more complicated is the incremental summation of - values show in \in{example}[ex:RecursiveSum]\note[notfinalsyntax]. + values shown in \in{example}[ex:RecursiveSum]\note[notfinalsyntax]. In this example we see a recursive function \hs{sum'} that recurses over a list and takes an accumulator argument that stores the sum so far. On each @@ -148,7 +148,7 @@ advanced types and provides a case study. Or... is this the description of a single accumulating adder, that will add one element of each input each clock cycle and has a reset value of - \lam{0}? In + {\definedfont[Serif*normalnum]0}? In that case, we would have described the architecture show in \in{example}[ex:RecursiveSumAlt] \startuseMPgraphic{RecursiveSumAlt} @@ -220,7 +220,7 @@ advanced types and provides a case study. In addition to looking at designing a hardware description language, we will also implement a prototype to test ideas. This prototype will translate hardware descriptions written in the Haskell functional language - to simple (netlist-like) hardware descriptions in the \VHDL language. The + to simple (netlist-like) hardware descriptions in the \VHDL\ language. The reasons for choosing these languages are detailed in section \in{}[sec:prototype:input] and \in{}[sec:prototype:output] respectively. @@ -236,6 +236,8 @@ advanced types and provides a case study. Systems). The lambda in the name is of course a reference to the lambda abstraction, which is an essential element of most functional languages (and is also prominent in the Haskell logo). + + Cλash is pronounced like \quote{Clash}. \stopframedtext } @@ -252,7 +254,7 @@ programming. Since we are not the first to have merged these approaches, a number of other functional hardware description languages are briefly described. -Chapter two describes the exploratory part of this research: How can we +Chapter two describes the exploratory part of this research: how can we describe hardware using a functional language and how can we use functional concepts for hardware descriptions?