Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / STD_04200_good.json @ 2051e520

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