Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / valencia / programmable_pulse_generator.json @ 47142ed7

History | View | Annotate | Download (16 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [["LIBRARY_CLAUSE", [["IDENTIFIER", "ieee"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "ieee"], ["SIMPLE_NAME", "std_logic_1164"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "ppg"], "ports" : [{
6
          "names" : [["IDENTIFIER", "LoadDelay"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "integer"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "LoadLength"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "integer"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "Data"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
16
              "ranges" : [["RANGE_WITH_DIRECTION", {
17
                "direction" : "to", "from" : ["EXPRESSION", {
18
                  "args" : [["EXPRESSION", {
19
                    "args" : [["CONSTANT_VALUE", {
20
                      "value" : ["CST_LITERAL", "0"]}
21
                    ]]}
22
                  ]]}
23
                ], "_to" : ["EXPRESSION", {
24
                  "args" : [["EXPRESSION", {
25
                    "args" : [["CONSTANT_VALUE", {
26
                      "value" : ["CST_LITERAL", "7"]}
27
                    ]]}
28
                  ]]}
29
                ]}
30
              ]]}
31
            ]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "reset"]], "mode" : ["in"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "std_logic"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
39
            "name" : ["SIMPLE_NAME", "std_logic"]}
40
          }
41
        , {
42
          "names" : [["IDENTIFIER", "pulse"]], "mode" : ["out"], "typ" : {
43
            "name" : ["SIMPLE_NAME", "std_logic"]}
44
          }
45
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
46
      ]}
47
    , {
48
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
49
        "name" : ["IDENTIFIER", "ppg1"], "entity" : ["IDENTIFIER", "ppg"], "ARCHITECTURE_DECLARATIVE_PART" : [{
50
          "declaration" : ["SIGNAL_DECLARATION", {
51
            "names" : [["IDENTIFIER", "out_pulse"]], "typ" : {
52
              "name" : ["SIMPLE_NAME", "std_logic"]}
53
            , "init_val" : ["EXPRESSION", {
54
              "args" : [["EXPRESSION", {
55
                "args" : [["EXPRESSION", {
56
                  "args" : [["EXPRESSION", {
57
                    "args" : [["CONSTANT_VALUE", {
58
                      "value" : ["CST_LITERAL", "'0'"]}
59
                    ]]}
60
                  ]]}
61
                ]]}
62
              ]]}
63
            ]}
64
          ]}
65
        , {
66
          "declaration" : ["SIGNAL_DECLARATION", {
67
            "names" : [["IDENTIFIER", "in_delay"]], "typ" : {
68
              "name" : ["SIMPLE_NAME", "integer"]}
69
            , "init_val" : ["EXPRESSION", {
70
              "args" : [["EXPRESSION", {
71
                "args" : [["EXPRESSION", {
72
                  "args" : [["EXPRESSION", {
73
                    "args" : [["CALL", ["SIMPLE_NAME", "LoadDelay"]]]}
74
                  ]]}
75
                ]]}
76
              ]]}
77
            ]}
78
          ]}
79
        , {
80
          "declaration" : ["SIGNAL_DECLARATION", {
81
            "names" : [["IDENTIFIER", "in_length"]], "typ" : {
82
              "name" : ["SIMPLE_NAME", "integer"]}
83
            , "init_val" : ["EXPRESSION", {
84
              "args" : [["EXPRESSION", {
85
                "args" : [["EXPRESSION", {
86
                  "args" : [["EXPRESSION", {
87
                    "args" : [["CALL", ["SIMPLE_NAME", "LoadLength"]]]}
88
                  ]]}
89
                ]]}
90
              ]]}
91
            ]}
92
          ]}
93
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
94
          "id" : ["IDENTIFIER", "p"], "active_sigs" : [["SIMPLE_NAME", "reset"], ["SIMPLE_NAME", "clk"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
95
            "if_cases" : [{
96
              "if_cond" : ["EXPRESSION", {
97
                "args" : [["EXPRESSION", {
98
                  "args" : [["EXPRESSION", {
99
                    "args" : [["EXPRESSION", {
100
                      "args" : [["EXPRESSION", {
101
                        "id" : "and", "args" : [["EXPRESSION", {
102
                          "args" : [["EXPRESSION", {
103
                            "args" : [["EXPRESSION", {
104
                              "args" : [["EXPRESSION", {
105
                                "args" : [["CALL", ["ATTRIBUTE_NAME", {
106
                                  "id" : ["SIMPLE_NAME", "clk"], "designator" : ["SIMPLE_NAME", "event"]}
107
                                ]]]}
108
                              ]]}
109
                            ]]}
110
                          ]]}
111
                        ], ["EXPRESSION", {
112
                          "id" : "=", "args" : [["EXPRESSION", {
113
                            "args" : [["EXPRESSION", {
114
                              "args" : [["EXPRESSION", {
115
                                "args" : [["CALL", ["SIMPLE_NAME", "clk"]]]}
116
                              ]]}
117
                            ]]}
118
                          ], ["EXPRESSION", {
119
                            "args" : [["EXPRESSION", {
120
                              "args" : [["EXPRESSION", {
121
                                "args" : [["CONSTANT_VALUE", {
122
                                  "value" : ["CST_LITERAL", "'1'"]}
123
                                ]]}
124
                              ]]}
125
                            ]]}
126
                          ]]}
127
                        ]]}
128
                      ]]}
129
                    ]]}
130
                  ]]}
131
                ]]}
132
              ], "if_block" : [["IF_STATEMENT", {
133
                "if_cases" : [{
134
                  "if_cond" : ["EXPRESSION", {
135
                    "args" : [["EXPRESSION", {
136
                      "args" : [["EXPRESSION", {
137
                        "args" : [["EXPRESSION", {
138
                          "args" : [["EXPRESSION", {
139
                            "id" : "=", "args" : [["EXPRESSION", {
140
                              "args" : [["EXPRESSION", {
141
                                "args" : [["EXPRESSION", {
142
                                  "args" : [["CALL", ["SIMPLE_NAME", "reset"]]]}
143
                                ]]}
144
                              ]]}
145
                            ], ["EXPRESSION", {
146
                              "args" : [["EXPRESSION", {
147
                                "args" : [["EXPRESSION", {
148
                                  "args" : [["CONSTANT_VALUE", {
149
                                    "value" : ["CST_LITERAL", "'1'"]}
150
                                  ]]}
151
                                ]]}
152
                              ]]}
153
                            ]]}
154
                          ]]}
155
                        ]]}
156
                      ]]}
157
                    ]]}
158
                  ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
159
                    "lhs" : ["SIMPLE_NAME", "out_pulse"], "rhs" : [{
160
                      "value" : ["EXPRESSION", {
161
                        "args" : [["EXPRESSION", {
162
                          "args" : [["EXPRESSION", {
163
                            "args" : [["EXPRESSION", {
164
                              "args" : [["CONSTANT_VALUE", {
165
                                "value" : ["CST_LITERAL", "'0'"]}
166
                              ]]}
167
                            ]]}
168
                          ]]}
169
                        ]]}
170
                      ]}
171
                    ]}
172
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
173
                    "lhs" : ["SIMPLE_NAME", "in_delay"], "rhs" : [{
174
                      "value" : ["EXPRESSION", {
175
                        "args" : [["EXPRESSION", {
176
                          "args" : [["EXPRESSION", {
177
                            "args" : [["EXPRESSION", {
178
                              "args" : [["CALL", ["SIMPLE_NAME", "LoadDelay"]]]}
179
                            ]]}
180
                          ]]}
181
                        ]]}
182
                      ]}
183
                    ]}
184
                  ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
185
                    "lhs" : ["SIMPLE_NAME", "in_length"], "rhs" : [{
186
                      "value" : ["EXPRESSION", {
187
                        "args" : [["EXPRESSION", {
188
                          "args" : [["EXPRESSION", {
189
                            "args" : [["EXPRESSION", {
190
                              "args" : [["CALL", ["SIMPLE_NAME", "LoadLength"]]]}
191
                            ]]}
192
                          ]]}
193
                        ]]}
194
                      ]}
195
                    ]}
196
                  ]]}
197
                ], "default" : [["IF_STATEMENT", {
198
                  "if_cases" : [{
199
                    "if_cond" : ["EXPRESSION", {
200
                      "args" : [["EXPRESSION", {
201
                        "args" : [["EXPRESSION", {
202
                          "args" : [["EXPRESSION", {
203
                            "args" : [["EXPRESSION", {
204
                              "id" : "=", "args" : [["EXPRESSION", {
205
                                "args" : [["EXPRESSION", {
206
                                  "args" : [["EXPRESSION", {
207
                                    "args" : [["CALL", ["SIMPLE_NAME", "in_delay"]]]}
208
                                  ]]}
209
                                ]]}
210
                              ], ["EXPRESSION", {
211
                                "args" : [["EXPRESSION", {
212
                                  "args" : [["EXPRESSION", {
213
                                    "args" : [["CONSTANT_VALUE", {
214
                                      "value" : ["CST_LITERAL", "0"]}
215
                                    ]]}
216
                                  ]]}
217
                                ]]}
218
                              ]]}
219
                            ]]}
220
                          ]]}
221
                        ]]}
222
                      ]]}
223
                    ], "if_block" : [["IF_STATEMENT", {
224
                      "if_cases" : [{
225
                        "if_cond" : ["EXPRESSION", {
226
                          "args" : [["EXPRESSION", {
227
                            "args" : [["EXPRESSION", {
228
                              "args" : [["EXPRESSION", {
229
                                "args" : [["EXPRESSION", {
230
                                  "id" : ">", "args" : [["EXPRESSION", {
231
                                    "args" : [["EXPRESSION", {
232
                                      "args" : [["EXPRESSION", {
233
                                        "args" : [["CALL", ["SIMPLE_NAME", "in_length"]]]}
234
                                      ]]}
235
                                    ]]}
236
                                  ], ["EXPRESSION", {
237
                                    "args" : [["EXPRESSION", {
238
                                      "args" : [["EXPRESSION", {
239
                                        "args" : [["CONSTANT_VALUE", {
240
                                          "value" : ["CST_LITERAL", "0"]}
241
                                        ]]}
242
                                      ]]}
243
                                    ]]}
244
                                  ]]}
245
                                ]]}
246
                              ]]}
247
                            ]]}
248
                          ]]}
249
                        ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
250
                          "lhs" : ["SIMPLE_NAME", "in_length"], "rhs" : [{
251
                            "value" : ["EXPRESSION", {
252
                              "args" : [["EXPRESSION", {
253
                                "args" : [["EXPRESSION", {
254
                                  "args" : [["EXPRESSION", {
255
                                    "id" : "-", "args" : [["EXPRESSION", {
256
                                      "args" : [["CALL", ["SIMPLE_NAME", "in_length"]]]}
257
                                    ], ["EXPRESSION", {
258
                                      "args" : [["CONSTANT_VALUE", {
259
                                        "value" : ["CST_LITERAL", "1"]}
260
                                      ]]}
261
                                    ]]}
262
                                  ]]}
263
                                ]]}
264
                              ]]}
265
                            ]}
266
                          ]}
267
                        ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
268
                          "lhs" : ["SIMPLE_NAME", "out_pulse"], "rhs" : [{
269
                            "value" : ["EXPRESSION", {
270
                              "args" : [["EXPRESSION", {
271
                                "args" : [["EXPRESSION", {
272
                                  "args" : [["EXPRESSION", {
273
                                    "args" : [["CONSTANT_VALUE", {
274
                                      "value" : ["CST_LITERAL", "'1'"]}
275
                                    ]]}
276
                                  ]]}
277
                                ]]}
278
                              ]]}
279
                            ]}
280
                          ]}
281
                        ]]}
282
                      ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
283
                        "lhs" : ["SIMPLE_NAME", "in_length"], "rhs" : [{
284
                          "value" : ["EXPRESSION", {
285
                            "args" : [["EXPRESSION", {
286
                              "args" : [["EXPRESSION", {
287
                                "args" : [["EXPRESSION", {
288
                                  "args" : [["CALL", ["SIMPLE_NAME", "LoadLength"]]]}
289
                                ]]}
290
                              ]]}
291
                            ]]}
292
                          ]}
293
                        ]}
294
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
295
                        "lhs" : ["SIMPLE_NAME", "in_delay"], "rhs" : [{
296
                          "value" : ["EXPRESSION", {
297
                            "args" : [["EXPRESSION", {
298
                              "args" : [["EXPRESSION", {
299
                                "args" : [["EXPRESSION", {
300
                                  "args" : [["CALL", ["SIMPLE_NAME", "LoadDelay"]]]}
301
                                ]]}
302
                              ]]}
303
                            ]]}
304
                          ]}
305
                        ]}
306
                      ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
307
                        "lhs" : ["SIMPLE_NAME", "out_pulse"], "rhs" : [{
308
                          "value" : ["EXPRESSION", {
309
                            "args" : [["EXPRESSION", {
310
                              "args" : [["EXPRESSION", {
311
                                "args" : [["EXPRESSION", {
312
                                  "args" : [["CONSTANT_VALUE", {
313
                                    "value" : ["CST_LITERAL", "'0'"]}
314
                                  ]]}
315
                                ]]}
316
                              ]]}
317
                            ]]}
318
                          ]}
319
                        ]}
320
                      ]]}
321
                    ]]}
322
                  ], "default" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
323
                    "lhs" : ["SIMPLE_NAME", "in_delay"], "rhs" : [{
324
                      "value" : ["EXPRESSION", {
325
                        "args" : [["EXPRESSION", {
326
                          "args" : [["EXPRESSION", {
327
                            "args" : [["EXPRESSION", {
328
                              "id" : "-", "args" : [["EXPRESSION", {
329
                                "args" : [["CALL", ["SIMPLE_NAME", "in_delay"]]]}
330
                              ], ["EXPRESSION", {
331
                                "args" : [["CONSTANT_VALUE", {
332
                                  "value" : ["CST_LITERAL", "1"]}
333
                                ]]}
334
                              ]]}
335
                            ]]}
336
                          ]]}
337
                        ]]}
338
                      ]}
339
                    ]}
340
                  ]]}
341
                ]]}
342
              ]]}
343
            ]}
344
          ]]}
345
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
346
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "pulse"], "rhs" : [{
347
            "expr" : [{
348
              "value" : ["EXPRESSION", {
349
                "args" : [["EXPRESSION", {
350
                  "args" : [["EXPRESSION", {
351
                    "args" : [["EXPRESSION", {
352
                      "args" : [["CALL", ["SIMPLE_NAME", "out_pulse"]]]}
353
                    ]]}
354
                  ]]}
355
                ]]}
356
              ]}
357
            ]}
358
          ]}
359
        ]]}
360
      ]}
361
    ]}
362
  }