Add slide with complete signature, including context, of registerBank
authorChristiaan Baaij <christiaan.baaij@gmail.com>
Tue, 25 Aug 2009 13:12:00 +0000 (15:12 +0200)
committerChristiaan Baaij <christiaan.baaij@gmail.com>
Tue, 25 Aug 2009 13:12:00 +0000 (15:12 +0200)
PolyAlu.lhs
clash-haskell09.pdf
introduction.lhs
summery.lhs

index 63f6d89cd770c13b4f0d6ff34c74c3ce1ab20006..55b000d6921b99caa239976e448a1bc0fb0bbb9c 100644 (file)
@@ -56,13 +56,13 @@ type Word           =   SizedInt D12
 {
 We make a primitive operation:
 \begin{code}
-primOp :: {-"{\color<2>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a
+primOp :: {-"{\color<3>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a
 primOp f a b = a `f` a
 \end{code}\pause
 We make a vector operation:
 \begin{code}
-vectOp :: {-"{\color<2>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a
-vectOp f a b = {-"{\color<2>[rgb]{1,0,0}"-}foldl{-"}"-} f a b
+vectOp :: {-"{\color<3>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a
+vectOp f a b = {-"{\color<3>[rgb]{1,0,0}"-}foldl{-"}"-} f a b
 \end{code}
 }
 \subsection{Polymorphic, Higher-Order ALU}
@@ -85,15 +85,15 @@ Make a simple register bank:
 \begin{code}
 registerBank :: 
   CXT((NaturalT s ,PositiveT (s :+: D1),((s :+: D1) :>: s) ~ True )) =>
-  (RegState s a) -> a -> {-"{\color<2>[rgb]{1,0,0}"-}RangedWord s{-"}"-} ->
-  {-"{\color<2>[rgb]{1,0,0}"-}RangedWord s{-"}"-} -> Bit -> ((RegState s a), a )
+  (RegState s a) -> a -> RangedWord s ->
+  RangedWord s -> Bit -> ((RegState s a), a )
   
 registerBank (State mem) data_in rdaddr wraddr wrenable = 
   ((State mem'), data_out)
   where
     data_out  =   mem!rdaddr
-    mem'  {-"{\color<3>[rgb]{1,0,0}"-}| wrenable == Low{-"}"-}    = mem
-          {-"{\color<3>[rgb]{1,0,0}"-}| otherwise{-"}"-}          = replace mem wraddr data_in
+    mem'  {-"{\color<2>[rgb]{1,0,0}"-}| wrenable == Low{-"}"-}    = mem
+          {-"{\color<2>[rgb]{1,0,0}"-}| otherwise{-"}"-}          = replace mem wraddr data_in
 \end{code}
 }
 \subsection{Simple CPU: ALU \& Register Bank}
index 5efe7eddb82001e046f4e41921b466a3797f4836..051f90d59c9d7c21e6ab83370c912569332b3e5f 100644 (file)
Binary files a/clash-haskell09.pdf and b/clash-haskell09.pdf differ
index 899c53450b682277efe228e228e88199ad7a0684..5cd6c0acab16f70574fedb99a49758d01648c4e6 100644 (file)
@@ -53,7 +53,7 @@ mealyMachine ::
   (State, OutputSignals)
 mealyMachine inputs {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} = ({-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}, output)
   where
-    {-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}   =   logic     {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-}   input
+    {-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}    =   logic     {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-}   input
     outputs                                         =   logic     {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-}   input
 \end{code}
 }
@@ -65,7 +65,7 @@ mealyMachine inputs {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} = ({-"{\color<3>[rg
 run func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} [] = []
 run func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} (i:input) = o:out
   where
-    ({-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-}, o) = func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} i
-    out         = run func {-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-} input
+    ({-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-}, o)  =   func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} i
+    out                                             =   run func {-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-} input
 \end{code}
 }
\ No newline at end of file
index 1383d55c92e09870d794a321b7c16e86761b492b..49248a4e6e111016c3c4f09ab4f4395550a941ea 100644 (file)
@@ -1,3 +1,4 @@
+%include talk.fmt
 \section{Conclusion}
 
 \frame{
 
 \frame{
 \begin{figure}
-\Large{Thank you for listening}
+\Huge{Thank you for listening}
 \end{figure}
+}
+
+\frame
+{
+\frametitle{Complete signature for registerBank}
+\begin{code}
+registerBank :: 
+  ( NaturalT s
+  , PositiveT (s :+: D1)
+  , ((s :+: D1) :>: s) ~ True )) =>
+  (RegState s a) -> a -> RangedWord s ->
+  RangedWord s -> Bit -> ((RegState s a), a )
+\end{code}
 }
\ No newline at end of file