clash-lib-0.99.2: CAES Language for Synchronous Hardware - As a Library

Copyright(C) 2012-2016 University of Twente
2016-2017 Myrtle Software Ltd
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Primitives.Types

Description

Type and instance definitions for Primitive

Synopsis

Documentation

type PrimMap a = HashMap Text (Primitive a) Source #

Primitive Definitions

data Primitive a Source #

Externally defined primitive

Constructors

BlackBox

A primitive that has a template that can be filled out by the backend render

Fields

  • name :: !Text

    Name of the primitive

  • outputReg :: Bool

    Verilog only: whether the result should be a reg(True) or wire (False); when not specified in the .json file, the value will default to False (i.e. wire).

  • library :: [a]

    VHDL only: add library declarations for the given names

  • imports :: [a]

    VHDL only: add use declarations for the given names

  • include :: Maybe ((Text, Text), a)

    Create a file to be included with the generated primitive. The fields are ((name, extension), content), where content is a template of the file Defaults to Nothing when not specified in the .json file

  • template :: !(Either a a)

    Either a declaration or an expression template.

Primitive

A primitive that carries additional information

Fields

Instances
Show a => Show (Primitive a) Source # 
Instance details

Defined in Clash.Primitives.Types

FromJSON (Primitive Text) Source # 
Instance details

Defined in Clash.Primitives.Types

Methods

parseJSON :: Value -> Parser (Primitive Text)

parseJSONList :: Value -> Parser [Primitive Text]