import Types
import Data.Param.TFVec
import Data.RangedWord
+import CLasH.Translator.Annotations
constant :: e -> Op D4 e
constant e a b =
type Op n e = (TFVec n e -> TFVec n e -> TFVec n e)
type Opcode = Bit
+{-# ANN actual_alu InitState #-}
+initstate = High
+
alu :: Op n e -> Op n e -> Opcode -> TFVec n e -> TFVec n e -> TFVec n e
alu op1 op2 opc a b =
case opc of
Low -> op1 a b
High -> op2 a b
+{-# ANN actual_alu TopEntity #-}
actual_alu :: Opcode -> TFVec D4 Bit -> TFVec D4 Bit -> TFVec D4 Bit
--actual_alu = alu (constant Low) andop
actual_alu = alu (anyset xhwor) andop