Copyright | (C) 2012-2016 University of Twente 2017 Myrtle Software Ltd |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
Safe Haskell | Safe |
Language | Haskell2010 |
Types used in BlackBox modules
Synopsis
- type BlackBoxTemplate = [Element]
- data Element
- = C !Text
- | D !Decl
- | O !Bool
- | I !Bool !Int
- | Arg !Int !Int
- | N !Int
- | L !Int
- | Var [Element] !Int
- | Sym !Text !Int
- | Typ !(Maybe Int)
- | TypM !(Maybe Int)
- | Err !(Maybe Int)
- | TypElem !Element
- | CompName
- | IncludeName
- | IndexType !Element
- | Size !Element
- | Length !Element
- | Depth !Element
- | FilePath !Element
- | Gen !Bool
- | IF !Element [Element] [Element]
- | And [Element]
- | IW64
- | HdlSyn HdlSyn
- | BV !Bool [Element] !Element
- | Sel !Element !Int
- | IsLit !Int
- | IsVar !Int
- | IsGated !Int
- | IsSync !Int
- | StrCmp [Element] !Int
- | OutputWireReg !Int
- | Vars !Int
- | GenSym [Element] !Int
- | SigD [Element] !(Maybe Int)
- data Decl = Decl !Int [(BlackBoxTemplate, BlackBoxTemplate)]
- data HdlSyn
Documentation
type BlackBoxTemplate = [Element] Source #
A BlackBox Template is a List of Elements
Elements of a blackbox context
C !Text | Constant |
D !Decl | Component instantiation hole |
O !Bool | Output hole; |
I !Bool !Int | Input hole; |
Arg !Int !Int | Generated input hole, first argument is the scoping level |
N !Int | Name hole |
L !Int | Literal hole |
Var [Element] !Int | |
Sym !Text !Int | Symbol hole |
Typ !(Maybe Int) | Type declaration hole |
TypM !(Maybe Int) | Type root hole |
Err !(Maybe Int) | Error value hole |
TypElem !Element | Select element type from a vector type |
CompName | Hole for the name of the component in which the blackbox is instantiated |
IncludeName | |
IndexType !Element | Index data type hole, the field is the (exclusive) maximum index |
Size !Element | Size of a type hole |
Length !Element | Length of a vector hole |
Depth !Element | Depth of a tree hole |
FilePath !Element | Hole containing a filepath for a data file |
Gen !Bool | Hole marking beginning (True) or end (False) of a generative construct |
IF !Element [Element] [Element] | |
And [Element] | |
IW64 | Hole indicating whether IntWordInteger are 64-Bit |
HdlSyn HdlSyn | Hole indicating which synthesis tool we're generating HDL for |
BV !Bool [Element] !Element | Convert to (True)/from(False) a bit-vector |
Sel !Element !Int | Record selector of a type |
IsLit !Int | |
IsVar !Int | |
IsGated !Int | |
IsSync !Int | |
StrCmp [Element] !Int | |
OutputWireReg !Int | |
Vars !Int | |
GenSym [Element] !Int | |
SigD [Element] !(Maybe Int) |
Component instantiation hole. First argument indicates which function argument to instantiate. Second argument corresponds to output and input assignments, where the first element is the output assignment, and the subsequent elements are the consecutive input assignments.
The LHS of the tuple is the name of the signal, while the RHS of the tuple is the type of the signal