module ForSyDe.Backend.VHDL.Constants where
import ForSyDe.Backend.VHDL.AST
commonContextClause :: [ContextItem]
commonContextClause =
[Library forsydeId,
Library ieeeId,
Use $ NSelected (NSimple forsydeId :.: SSimple typesId) :.: All,
Use $ NSelected (NSimple ieeeId :.: SSimple std_logic_1164Id) :.: All,
Use $ NSelected (NSimple ieeeId :.: SSimple numeric_stdId) :.: All]
where forsydeId = unsafeVHDLBasicId "forsyde"
ieeeId = unsafeVHDLBasicId "ieee"
typesId = unsafeVHDLBasicId "types"
std_logic_1164Id = unsafeVHDLBasicId "std_logic_1164"
numeric_stdId = unsafeVHDLBasicId "numeric_std"
resetStr, clockStr :: String
resetStr = "resetn"
clockStr = "clock"
resetId, clockId :: VHDLId
resetId = unsafeVHDLBasicId resetStr
clockId = unsafeVHDLBasicId clockStr
typesId :: VHDLId
typesId = unsafeVHDLBasicId "types"
workId :: VHDLId
workId = unsafeVHDLBasicId "work"
stdId :: VHDLId
stdId = unsafeVHDLBasicId "std"
textioId :: VHDLId
textioId = unsafeVHDLBasicId "textio"
rangeId :: VHDLId
rangeId = unsafeVHDLBasicId "range"
imageId :: VHDLId
imageId = unsafeVHDLBasicId "image"
eventId :: VHDLId
eventId = unsafeVHDLBasicId "event"
defaultId :: VHDLId
defaultId = unsafeVHDLBasicId "default"
absentId :: VHDLId
absentId = unsafeVHDLBasicId "absent"
presentId :: VHDLId
presentId = unsafeVHDLBasicId "present"
fromAbstExtId :: VHDLId
fromAbstExtId = unsafeVHDLBasicId "fromAbstExt"
unsafeFromAbstExtId :: VHDLId
unsafeFromAbstExtId = unsafeVHDLBasicId "unsafeFromAbstExt"
valueId :: VHDLId
valueId = unsafeVHDLBasicId "value"
valueSuffix :: Suffix
valueSuffix = SSimple valueId
isPresentId :: VHDLId
isPresentId = unsafeVHDLBasicId "isPresent"
isAbsentId :: VHDLId
isAbsentId = unsafeVHDLBasicId "isAbsent"
exId :: VHDLId
exId = unsafeVHDLBasicId "ex"
selId :: VHDLId
selId = unsafeVHDLBasicId "sel"
ltplusId :: VHDLId
ltplusId = unsafeVHDLBasicId "ltplus"
plusplusId :: VHDLId
plusplusId = unsafeVHDLBasicId "plusplus"
emptyId :: VHDLId
emptyId = unsafeVHDLBasicId "empty"
plusgtId :: VHDLId
plusgtId = unsafeVHDLBasicId "plusgt"
singletonId :: VHDLId
singletonId = unsafeVHDLBasicId "singleton"
lengthId :: VHDLId
lengthId = unsafeVHDLBasicId "length"
isnullId :: VHDLId
isnullId = unsafeVHDLBasicId "isnull"
replaceId :: VHDLId
replaceId = unsafeVHDLBasicId "replace"
headId :: VHDLId
headId = unsafeVHDLBasicId "head"
lastId :: VHDLId
lastId = unsafeVHDLBasicId "last"
initId :: VHDLId
initId = unsafeVHDLBasicId "init"
tailId :: VHDLId
tailId = unsafeVHDLBasicId "tail"
takeId :: VHDLId
takeId = unsafeVHDLBasicId "take"
dropId :: VHDLId
dropId = unsafeVHDLBasicId "drop"
shiftlId :: VHDLId
shiftlId = unsafeVHDLBasicId "shiftl"
shiftrId :: VHDLId
shiftrId = unsafeVHDLBasicId "shiftr"
rotlId :: VHDLId
rotlId = unsafeVHDLBasicId "rotl"
rotrId :: VHDLId
rotrId = unsafeVHDLBasicId "rotr"
reverseId :: VHDLId
reverseId = unsafeVHDLBasicId "reverse"
toBitVector8Id :: VHDLId
toBitVector8Id = unsafeVHDLBasicId "toBitVector8"
toBitVector16Id :: VHDLId
toBitVector16Id = unsafeVHDLBasicId "toBitVector16"
toBitVector32Id :: VHDLId
toBitVector32Id = unsafeVHDLBasicId "toBitVector32"
fromBitVector8Id :: VHDLId
fromBitVector8Id = unsafeVHDLBasicId "fromBitVector8"
fromBitVector16Id :: VHDLId
fromBitVector16Id = unsafeVHDLBasicId "fromBitVector16"
fromBitVector32Id :: VHDLId
fromBitVector32Id = unsafeVHDLBasicId "fromBitVector32"
copyId :: VHDLId
copyId = unsafeVHDLBasicId "copy"
showId :: VHDLId
showId = unsafeVHDLBasicId "show"
writeId :: VHDLId
writeId = unsafeVHDLBasicId "write"
outputId :: VHDLId
outputId = unsafeVHDLBasicId "output"
defaultSN :: VHDLName
defaultSN = NSimple defaultId
std_logicTM :: TypeMark
std_logicTM = unsafeVHDLBasicId "std_logic"
booleanTM :: TypeMark
booleanTM = unsafeVHDLBasicId "boolean"
fsvec_indexTM :: TypeMark
fsvec_indexTM = unsafeVHDLBasicId "fsvec_index"
naturalTM :: TypeMark
naturalTM = unsafeVHDLBasicId "natural"
int64TM :: TypeMark
int64TM = unsafeVHDLBasicId "int64"
int32TM :: TypeMark
int32TM = unsafeVHDLBasicId "int32"
int16TM :: TypeMark
int16TM = unsafeVHDLBasicId "int16"
int8TM :: TypeMark
int8TM = unsafeVHDLBasicId "int8"
stringTM :: TypeMark
stringTM = unsafeVHDLBasicId "string"
trueExpr :: Expr
trueExpr = PrimName (NSimple $ unsafeVHDLBasicId "true")
falseExpr :: Expr
falseExpr = PrimName (NSimple $ unsafeVHDLBasicId "false")
lowExpr :: Expr
lowExpr = PrimLit "'0'"
highExpr :: Expr
highExpr = PrimLit "'1'"
tupStrSuffix :: Int -> String
tupStrSuffix n = "tup_" ++ show n
tupVHDLIdSuffix :: Int -> VHDLId
tupVHDLIdSuffix = unsafeVHDLBasicId . tupStrSuffix
tupVHDLSuffix :: Int -> Suffix
tupVHDLSuffix = SSimple . tupVHDLIdSuffix