Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / STD_04200_good.json @ 3fd18385

History | View | Annotate | Download (15.9 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", ["INDEXED_NAME", {
193
                                "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
194
                                  "args" : [["EXPRESSION", {
195
                                    "args" : [["EXPRESSION", {
196
                                      "args" : [["EXPRESSION", {
197
                                        "args" : [["CALL", ["SIMPLE_NAME", "i_ClockA"]]]}
198
                                      ]]}
199
                                    ]]}
200
                                  ]]}
201
                                ]]}
202
                              ]]]}
203
                            ]]}
204
                          ]]}
205
                        ]]}
206
                      ]]}
207
                    ]]}
208
                  ]]}
209
                ]]}
210
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
211
                "lhs" : ["SIMPLE_NAME", "Grant_r1"], "rhs" : [{
212
                  "value" : ["EXPRESSION", {
213
                    "args" : [["EXPRESSION", {
214
                      "args" : [["EXPRESSION", {
215
                        "args" : [["EXPRESSION", {
216
                          "args" : [["CALL", ["SIMPLE_NAME", "i_Grant"]]]}
217
                        ]]}
218
                      ]]}
219
                    ]]}
220
                  ]}
221
                ]}
222
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
223
                "lhs" : ["SIMPLE_NAME", "Grant_r2"], "rhs" : [{
224
                  "value" : ["EXPRESSION", {
225
                    "args" : [["EXPRESSION", {
226
                      "args" : [["EXPRESSION", {
227
                        "args" : [["EXPRESSION", {
228
                          "args" : [["CALL", ["SIMPLE_NAME", "Grant_r1"]]]}
229
                        ]]}
230
                      ]]}
231
                    ]]}
232
                  ]}
233
                ]}
234
              ]]}
235
            ]}
236
          ]]}
237
        ], ["PROCESS_STATEMENT", {
238
          "id" : ["IDENTIFIER", "P_Destination_Domain"], "active_sigs" : [["SIMPLE_NAME", "i_ResetB_n"], ["SIMPLE_NAME", "i_ClockB"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
239
            "if_cases" : [{
240
              "if_cond" : ["EXPRESSION", {
241
                "args" : [["EXPRESSION", {
242
                  "args" : [["EXPRESSION", {
243
                    "args" : [["EXPRESSION", {
244
                      "args" : [["EXPRESSION", {
245
                        "id" : "=", "args" : [["EXPRESSION", {
246
                          "args" : [["EXPRESSION", {
247
                            "args" : [["EXPRESSION", {
248
                              "args" : [["CALL", ["SIMPLE_NAME", "i_ResetB_n"]]]}
249
                            ]]}
250
                          ]]}
251
                        ], ["EXPRESSION", {
252
                          "args" : [["EXPRESSION", {
253
                            "args" : [["EXPRESSION", {
254
                              "args" : [["CONSTANT_VALUE", {
255
                                "value" : ["CST_LITERAL", "'0'"]}
256
                              ]]}
257
                            ]]}
258
                          ]]}
259
                        ]]}
260
                      ]]}
261
                    ]]}
262
                  ]]}
263
                ]]}
264
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
265
                "lhs" : ["SIMPLE_NAME", "Request_r1"], "rhs" : [{
266
                  "value" : ["EXPRESSION", {
267
                    "args" : [["EXPRESSION", {
268
                      "args" : [["EXPRESSION", {
269
                        "args" : [["EXPRESSION", {
270
                          "args" : [["CONSTANT_VALUE", {
271
                            "value" : ["CST_LITERAL", "'0'"]}
272
                          ]]}
273
                        ]]}
274
                      ]]}
275
                    ]]}
276
                  ]}
277
                ]}
278
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
279
                "lhs" : ["SIMPLE_NAME", "Request_r2"], "rhs" : [{
280
                  "value" : ["EXPRESSION", {
281
                    "args" : [["EXPRESSION", {
282
                      "args" : [["EXPRESSION", {
283
                        "args" : [["EXPRESSION", {
284
                          "args" : [["CONSTANT_VALUE", {
285
                            "value" : ["CST_LITERAL", "'0'"]}
286
                          ]]}
287
                        ]]}
288
                      ]]}
289
                    ]]}
290
                  ]}
291
                ]}
292
              ]]}
293
            , {
294
              "if_cond" : ["EXPRESSION", {
295
                "args" : [["EXPRESSION", {
296
                  "args" : [["EXPRESSION", {
297
                    "args" : [["EXPRESSION", {
298
                      "args" : [["EXPRESSION", {
299
                        "args" : [["EXPRESSION", {
300
                          "args" : [["EXPRESSION", {
301
                            "args" : [["EXPRESSION", {
302
                              "args" : [["CALL", ["INDEXED_NAME", {
303
                                "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
304
                                  "args" : [["EXPRESSION", {
305
                                    "args" : [["EXPRESSION", {
306
                                      "args" : [["EXPRESSION", {
307
                                        "args" : [["CALL", ["SIMPLE_NAME", "i_ClockB"]]]}
308
                                      ]]}
309
                                    ]]}
310
                                  ]]}
311
                                ]]}
312
                              ]]]}
313
                            ]]}
314
                          ]]}
315
                        ]]}
316
                      ]]}
317
                    ]]}
318
                  ]]}
319
                ]]}
320
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
321
                "lhs" : ["SIMPLE_NAME", "Request_r1"], "rhs" : [{
322
                  "value" : ["EXPRESSION", {
323
                    "args" : [["EXPRESSION", {
324
                      "args" : [["EXPRESSION", {
325
                        "args" : [["EXPRESSION", {
326
                          "args" : [["CALL", ["SIMPLE_NAME", "i_Request"]]]}
327
                        ]]}
328
                      ]]}
329
                    ]]}
330
                  ]}
331
                ]}
332
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
333
                "lhs" : ["SIMPLE_NAME", "Request_r2"], "rhs" : [{
334
                  "value" : ["EXPRESSION", {
335
                    "args" : [["EXPRESSION", {
336
                      "args" : [["EXPRESSION", {
337
                        "args" : [["EXPRESSION", {
338
                          "args" : [["CALL", ["SIMPLE_NAME", "Request_r1"]]]}
339
                        ]]}
340
                      ]]}
341
                    ]]}
342
                  ]}
343
                ]}
344
              ]]}
345
            ]}
346
          ]]}
347
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
348
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Request_r2"], "rhs" : [{
349
            "expr" : [{
350
              "value" : ["EXPRESSION", {
351
                "args" : [["EXPRESSION", {
352
                  "args" : [["EXPRESSION", {
353
                    "args" : [["EXPRESSION", {
354
                      "args" : [["CALL", ["SIMPLE_NAME", "Request_r2"]]]}
355
                    ]]}
356
                  ]]}
357
                ]]}
358
              ]}
359
            ]}
360
          ]}
361
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
362
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Data"], "rhs" : [{
363
            "expr" : [{
364
              "value" : ["EXPRESSION", {
365
                "args" : [["EXPRESSION", {
366
                  "args" : [["EXPRESSION", {
367
                    "args" : [["EXPRESSION", {
368
                      "args" : [["CALL", ["SIMPLE_NAME", "i_Data"]]]}
369
                    ]]}
370
                  ]]}
371
                ]]}
372
              ]}
373
            ]}
374
          ]}
375
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
376
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Grant"], "rhs" : [{
377
            "expr" : [{
378
              "value" : ["EXPRESSION", {
379
                "args" : [["EXPRESSION", {
380
                  "args" : [["EXPRESSION", {
381
                    "args" : [["EXPRESSION", {
382
                      "args" : [["CALL", ["SIMPLE_NAME", "Grant_r2"]]]}
383
                    ]]}
384
                  ]]}
385
                ]]}
386
              ]}
387
            ]}
388
          ]}
389
        ]]}
390
      ]}
391
    ]}
392
  }