Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (9.69 KB)

1 2051e520 Arnaud Dieumegard
{
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_CLAUSE", [["IDENTIFIER", "work"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "pkg_HBK"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "STD_01600_bad"], "ports" : [{
6
          "names" : [["IDENTIFIER", "i_A1"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "i_A2"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "i_B1"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "i_B2"]], "mode" : ["in"], "typ" : {
19
            "name" : ["SIMPLE_NAME", "std_logic"]}
20
          }
21
        , {
22
          "names" : [["IDENTIFIER", "i_Sel1"]], "mode" : ["in"], "typ" : {
23
            "name" : ["SIMPLE_NAME", "std_logic"]}
24
          }
25
        , {
26
          "names" : [["IDENTIFIER", "i_Sel2"]], "mode" : ["in"], "typ" : {
27
            "name" : ["SIMPLE_NAME", "std_logic"]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "i_Clock"]], "mode" : ["in"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "std_logic"]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "i_Reset_n"]], "mode" : ["in"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "std_logic"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "o_Q1"]], "mode" : ["out"], "typ" : {
39
            "name" : ["SIMPLE_NAME", "std_logic"]}
40
          }
41
        , {
42
          "names" : [["IDENTIFIER", "o_Q2"]], "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", "Behavioral"], "entity" : ["IDENTIFIER", "STD_01600_bad"], "ARCHITECTURE_DECLARATIVE_PART" : [{
50
          "declaration" : ["SIGNAL_DECLARATION", {
51
            "names" : [["IDENTIFIER", "Q1"]], "typ" : {
52
              "name" : ["SIMPLE_NAME", "std_logic"]}
53
            }
54
          ]}
55
        , {
56
          "declaration" : ["SIGNAL_DECLARATION", {
57
            "names" : [["IDENTIFIER", "Q2"]], "typ" : {
58
              "name" : ["SIMPLE_NAME", "std_logic"]}
59
            }
60
          ]}
61
        , {
62
          "declaration" : ["SIGNAL_DECLARATION", {
63
            "names" : [["IDENTIFIER", "OutMux1"]], "typ" : {
64
              "name" : ["SIMPLE_NAME", "std_logic"]}
65
            }
66
          ]}
67
        , {
68
          "declaration" : ["SIGNAL_DECLARATION", {
69
            "names" : [["IDENTIFIER", "OutMux2"]], "typ" : {
70
              "name" : ["SIMPLE_NAME", "std_logic"]}
71
            }
72
          ]}
73
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
74
          "name" : ["IDENTIFIER", "Mux1"], "inst_unit" : ["SIMPLE_NAME", "Mux"], "port_map" : [{
75
            "formal_name" : ["SIMPLE_NAME", "i_A"], "actual_designator" : ["SIMPLE_NAME", "i_A1"]}
76
          , {
77
            "formal_name" : ["SIMPLE_NAME", "i_B"], "actual_designator" : ["SIMPLE_NAME", "i_B1"]}
78
          , {
79
            "formal_name" : ["SIMPLE_NAME", "i_S"], "actual_designator" : ["SIMPLE_NAME", "i_Sel1"]}
80
          , {
81
            "formal_name" : ["SIMPLE_NAME", "o_O"], "actual_designator" : ["SIMPLE_NAME", "OutMux1"]}
82
          ]}
83
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
84
          "name" : ["IDENTIFIER", "Mux2"], "inst_unit" : ["SIMPLE_NAME", "Mux"], "port_map" : [{
85
            "formal_name" : ["SIMPLE_NAME", "i_A"], "actual_designator" : ["SIMPLE_NAME", "i_A2"]}
86
          , {
87
            "formal_name" : ["SIMPLE_NAME", "i_B"], "actual_designator" : ["SIMPLE_NAME", "i_B2"]}
88
          , {
89
            "formal_name" : ["SIMPLE_NAME", "i_S"], "actual_designator" : ["SIMPLE_NAME", "i_Sel2"]}
90
          , {
91
            "formal_name" : ["SIMPLE_NAME", "o_O"], "actual_designator" : ["SIMPLE_NAME", "OutMux2"]}
92
          ]}
93
        ], ["PROCESS_STATEMENT", {
94
          "id" : ["IDENTIFIER", "P_SyncMux"], "active_sigs" : [["SIMPLE_NAME", "i_Reset_n"], ["SIMPLE_NAME", "i_Clock"]], "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" : "=", "args" : [["EXPRESSION", {
102
                          "args" : [["EXPRESSION", {
103
                            "args" : [["EXPRESSION", {
104
                              "args" : [["CALL", ["SIMPLE_NAME", "i_Reset_n"]]]}
105
                            ]]}
106
                          ]]}
107
                        ], ["EXPRESSION", {
108
                          "args" : [["EXPRESSION", {
109
                            "args" : [["EXPRESSION", {
110
                              "args" : [["CONSTANT_VALUE", {
111
                                "value" : ["CST_LITERAL", "'0'"]}
112
                              ]]}
113
                            ]]}
114
                          ]]}
115
                        ]]}
116
                      ]]}
117
                    ]]}
118
                  ]]}
119
                ]]}
120
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
121
                "lhs" : ["SIMPLE_NAME", "Q1"], "rhs" : [{
122
                  "value" : ["EXPRESSION", {
123
                    "args" : [["EXPRESSION", {
124
                      "args" : [["EXPRESSION", {
125
                        "args" : [["EXPRESSION", {
126
                          "args" : [["CONSTANT_VALUE", {
127
                            "value" : ["CST_LITERAL", "'0'"]}
128
                          ]]}
129
                        ]]}
130
                      ]]}
131
                    ]]}
132
                  ]}
133
                ]}
134
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
135
                "lhs" : ["SIMPLE_NAME", "Q2"], "rhs" : [{
136
                  "value" : ["EXPRESSION", {
137
                    "args" : [["EXPRESSION", {
138
                      "args" : [["EXPRESSION", {
139
                        "args" : [["EXPRESSION", {
140
                          "args" : [["CONSTANT_VALUE", {
141
                            "value" : ["CST_LITERAL", "'0'"]}
142
                          ]]}
143
                        ]]}
144
                      ]]}
145
                    ]]}
146
                  ]}
147
                ]}
148
              ]]}
149
            ], "default" : [["IF_STATEMENT", {
150
              "if_cases" : [{
151
                "if_cond" : ["EXPRESSION", {
152
                  "args" : [["EXPRESSION", {
153
                    "args" : [["EXPRESSION", {
154
                      "args" : [["EXPRESSION", {
155
                        "args" : [["EXPRESSION", {
156
                          "args" : [["EXPRESSION", {
157
                            "args" : [["EXPRESSION", {
158
                              "args" : [["EXPRESSION", {
159
                                "args" : [["CALL", ["FUNCTION_CALL", {
160
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "assoc_list" : [{
161
                                    "actual_designator" : ["SIMPLE_NAME", "i_Clock"]}
162
                                  ]}
163
                                ]]]}
164
                              ]]}
165
                            ]]}
166
                          ]]}
167
                        ]]}
168
                      ]]}
169
                    ]]}
170
                  ]]}
171
                ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
172
                  "lhs" : ["SIMPLE_NAME", "Q1"], "rhs" : [{
173
                    "value" : ["EXPRESSION", {
174
                      "args" : [["EXPRESSION", {
175
                        "args" : [["EXPRESSION", {
176
                          "args" : [["EXPRESSION", {
177
                            "args" : [["CALL", ["SIMPLE_NAME", "OutMux1"]]]}
178
                          ]]}
179
                        ]]}
180
                      ]]}
181
                    ]}
182
                  ]}
183
                ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
184
                  "lhs" : ["SIMPLE_NAME", "Q2"], "rhs" : [{
185
                    "value" : ["EXPRESSION", {
186
                      "args" : [["EXPRESSION", {
187
                        "args" : [["EXPRESSION", {
188
                          "args" : [["EXPRESSION", {
189
                            "args" : [["CALL", ["SIMPLE_NAME", "OutMux2"]]]}
190
                          ]]}
191
                        ]]}
192
                      ]]}
193
                    ]}
194
                  ]}
195
                ]]}
196
              ]}
197
            ]]}
198
          ]]}
199
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
200
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Q1"], "rhs" : [{
201
            "expr" : [{
202
              "value" : ["EXPRESSION", {
203
                "args" : [["EXPRESSION", {
204
                  "args" : [["EXPRESSION", {
205
                    "args" : [["EXPRESSION", {
206
                      "args" : [["CALL", ["SIMPLE_NAME", "Q1"]]]}
207
                    ]]}
208
                  ]]}
209
                ]]}
210
              ]}
211
            ]}
212
          ]}
213
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
214
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Q2"], "rhs" : [{
215
            "expr" : [{
216
              "value" : ["EXPRESSION", {
217
                "args" : [["EXPRESSION", {
218
                  "args" : [["EXPRESSION", {
219
                    "args" : [["EXPRESSION", {
220
                      "args" : [["CALL", ["SIMPLE_NAME", "Q2"]]]}
221
                    ]]}
222
                  ]]}
223
                ]]}
224
              ]}
225
            ]}
226
          ]}
227
        ]]}
228
      ]}
229
    ]}
230
  }