clash-lib-1.8.4: Clash: a functional hardware description language - As a library

Copyright | (C) 2020-2022 QBayLogic B.V. 2022 Google Inc.
License | BSD2 (see the file LICENSE)
Maintainer | QBayLogic B.V. <devops@qbaylogic.com>
Safe Haskell | None
Language | Haskell2010

Clash.Primitives.Sized.Vector

Description

Blackbox implementations for functions in Clash.Sized.Vector.

Synopsis

- iterateBBF :: HasCallStack => BlackBoxFunction
- iterateTF :: TemplateFunction
- iterateTF' :: (HasCallStack, Backend s) => BlackBoxContext -> State s Doc
- data FCall = FCall Identifier Identifier Identifier
- foldFunctionPlurality :: HasCallStack => Int -> Int
- foldBBF :: HasCallStack => BlackBoxFunction
- foldTF :: TemplateFunction
- foldTF' :: (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' :: (HasCallStack, Backend s) => BlackBoxContext -> State s Doc Source #

data FCall Source #

Constructors

FCall Identifier Identifier Identifier |

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' :: (HasCallStack, Backend s) => BlackBoxContext -> State s Doc Source #

indexIntVerilog :: BlackBoxFunction Source #

indexIntVerilogTF :: TemplateFunction Source #

indexIntVerilogTemplate :: Backend s => BlackBoxContext -> State s Doc Source #