Copyright | (C) 2020-2022 QBayLogic B.V. |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
Safe Haskell | None |
Language | Haskell2010 |
Blackbox implementations for functions in Clash.Sized.Vector.
Synopsis
- iterateBBF :: HasCallStack => BlackBoxFunction
- iterateTF :: TemplateFunction
- iterateTF' :: forall s. (HasCallStack, Backend s) => BlackBoxContext -> State s Doc
- data FCall = FCall Identifier Identifier Identifier
- foldFunctionPlurality :: HasCallStack => Int -> Int
- foldBBF :: HasCallStack => BlackBoxFunction
- foldTF :: TemplateFunction
- foldTF' :: forall s. (HasCallStack, Backend s) => BlackBoxContext -> State s Doc
- indexIntVerilog :: BlackBoxFunction
- indexIntVerilogTF :: TemplateFunction
- indexIntVerilogTemplate :: Backend s => BlackBoxContext -> State s Doc
Documentation
iterateBBF :: HasCallStack => BlackBoxFunction Source #
Blackbox function for iterateI
iterateTF :: TemplateFunction Source #
Type signature of function we're generating netlist for:
iterateI :: KnownNat n => (a -> a) -> a -> Vec n a
iterateTF' :: forall s. (HasCallStack, Backend s) => BlackBoxContext -> State s Doc Source #
foldFunctionPlurality :: HasCallStack => Int -> Int Source #
Calculates the number of function calls needed for an evaluation of
fold
, given the length of the vector given to fold.
foldBBF :: HasCallStack => BlackBoxFunction Source #
Blackbox function for fold
foldTF :: TemplateFunction Source #
Type signature of function we're generating netlist for:
fold :: (a -> a -> a) -> Vec (n + 1) a -> a
The implementation promises to create a (balanced) tree structure.
foldTF' :: forall s. (HasCallStack, Backend s) => BlackBoxContext -> State s Doc Source #
indexIntVerilogTemplate :: Backend s => BlackBoxContext -> State s Doc Source #