3 import qualified ForSyDe.Backend.VHDL.AST as AST
9 -- | reset and clock signal identifiers in String form
10 resetStr, clockStr :: String
14 -- | reset and clock signal identifiers in basic AST.VHDLId form
15 resetId, clockId :: AST.VHDLId
16 resetId = AST.unsafeVHDLBasicId resetStr
17 clockId = AST.unsafeVHDLBasicId clockStr
20 -- | \"types\" identifier
22 typesId = AST.unsafeVHDLBasicId "types"
26 workId = AST.unsafeVHDLBasicId "work"
30 stdId = AST.unsafeVHDLBasicId "std"
33 -- | textio identifier
34 textioId :: AST.VHDLId
35 textioId = AST.unsafeVHDLBasicId "textio"
37 -- | range attribute identifier
39 rangeId = AST.unsafeVHDLBasicId "range"
42 -- | high attribute identifier
44 highId = AST.unsafeVHDLBasicId "high"
46 -- | range attribute identifier
48 imageId = AST.unsafeVHDLBasicId "image"
50 -- | event attribute identifie
52 eventId = AST.unsafeVHDLBasicId "event"
55 -- | default function identifier
56 defaultId :: AST.VHDLId
57 defaultId = AST.unsafeVHDLBasicId "default"
59 -- FSVec function identifiers
61 -- | ex (operator ! in original Haskell source) function identifier
65 -- | sel (function select in original Haskell source) function identifier
70 -- | ltplus (function (<+) in original Haskell source) function identifier
75 -- | plusplus (function (++) in original Haskell source) function identifier
80 -- | empty function identifier
84 -- | plusgt (function (+>) in original Haskell source) function identifier
88 -- | singleton function identifier
90 singletonId = "singleton"
92 -- | length function identifier
97 -- | isnull (function null in original Haskell source) function identifier
102 -- | replace function identifier
104 replaceId = "replace"
107 -- | head function identifier
112 -- | last function identifier
117 -- | init function identifier
122 -- | tail function identifier
127 -- | take function identifier
132 -- | drop function identifier
136 -- | shiftl function identifier
140 -- | shiftr function identifier
144 -- | rotl function identifier
148 -- | reverse function identifier
152 -- | concatenate the vectors in a vector
156 -- | reverse function identifier
158 reverseId = "reverse"
160 -- | iterate function identifier
162 iterateId = "iterate"
164 -- | iteraten function identifier
166 iteratenId = "iteraten"
168 -- | iterate function identifier
170 generateId = "generate"
172 -- | iteraten function identifier
173 generatenId :: String
174 generatenId = "generaten"
176 -- | copy function identifier
180 -- | copyn function identifier
184 -- | map function identifier
188 -- | zipwith function identifier
190 zipWithId = "zipWith"
192 -- | foldl function identifier
196 -- | foldr function identifier
200 -- | zip function identifier
204 -- | unzip function identifier
208 -- | hwxor function identifier
212 -- | hwor function identifier
216 -- | hwnot function identifier
220 -- | hwand function identifier
225 lengthTId = "lengthT"
227 -- Numeric Operations
229 -- | plus operation identifier
233 -- | times operation identifier
237 -- | negate operation identifier
241 -- | minus operation identifier
245 -- | convert sizedword to ranged
246 fromSizedWordId :: String
247 fromSizedWordId = "fromSizedWord"
249 toIntegerId :: String
250 toIntegerId = "to_integer"
256 -- | The Bit type mark
257 bitTM :: AST.TypeMark
258 bitTM = AST.unsafeVHDLBasicId "Bit"
260 -- | Stardard logic type mark
261 std_logicTM :: AST.TypeMark
262 std_logicTM = AST.unsafeVHDLBasicId "std_logic"
264 -- | boolean type mark
265 booleanTM :: AST.TypeMark
266 booleanTM = AST.unsafeVHDLBasicId "boolean"
268 -- | fsvec_index AST. TypeMark
269 tfvec_indexTM :: AST.TypeMark
270 tfvec_indexTM = AST.unsafeVHDLBasicId "tfvec_index"
272 -- | natural AST. TypeMark
273 naturalTM :: AST.TypeMark
274 naturalTM = AST.unsafeVHDLBasicId "natural"
276 -- | integer TypeMark
277 integerTM :: AST.TypeMark
278 integerTM = AST.unsafeVHDLBasicId "integer"
281 signedTM :: AST.TypeMark
282 signedTM = AST.unsafeVHDLBasicId "signed"
284 -- | unsigned TypeMark
285 unsignedTM :: AST.TypeMark
286 unsignedTM = AST.unsafeVHDLBasicId "unsigned"