Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (9.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_CLAUSE", [["IDENTIFIER", "work"]]], ["USE_CLAUSE", [["SELECTED_NAME", [["SIMPLE_NAME", "work"], ["SIMPLE_NAME", "pkg_HBK"]]]]]], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "STD_01600_good"], "ports" : [{
6
          "names" : [["IDENTIFIER", "i_Clock"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "i_Reset_n"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "i_A1"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "i_B1"]], "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", "o_Q1"]], "mode" : ["out"], "typ" : {
27
            "name" : ["SIMPLE_NAME", "std_logic"]}
28
          }
29
        , {
30
          "names" : [["IDENTIFIER", "i_A2"]], "mode" : ["in"], "typ" : {
31
            "name" : ["SIMPLE_NAME", "std_logic"]}
32
          }
33
        , {
34
          "names" : [["IDENTIFIER", "i_B2"]], "mode" : ["in"], "typ" : {
35
            "name" : ["SIMPLE_NAME", "std_logic"]}
36
          }
37
        , {
38
          "names" : [["IDENTIFIER", "i_Sel2"]], "mode" : ["in"], "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_good"], "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"], "inst_unit_type" : "component", "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"], "inst_unit_type" : "component", "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
            , {
150
              "if_cond" : ["EXPRESSION", {
151
                "args" : [["EXPRESSION", {
152
                  "args" : [["EXPRESSION", {
153
                    "args" : [["EXPRESSION", {
154
                      "args" : [["EXPRESSION", {
155
                        "args" : [["EXPRESSION", {
156
                          "args" : [["EXPRESSION", {
157
                            "args" : [["EXPRESSION", {
158
                              "args" : [["CALL", ["INDEXED_NAME", {
159
                                "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
160
                                  "args" : [["EXPRESSION", {
161
                                    "args" : [["EXPRESSION", {
162
                                      "args" : [["EXPRESSION", {
163
                                        "args" : [["CALL", ["SIMPLE_NAME", "i_Clock"]]]}
164
                                      ]]}
165
                                    ]]}
166
                                  ]]}
167
                                ]]}
168
                              ]]]}
169
                            ]]}
170
                          ]]}
171
                        ]]}
172
                      ]]}
173
                    ]]}
174
                  ]]}
175
                ]]}
176
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
177
                "lhs" : ["SIMPLE_NAME", "Q1"], "rhs" : [{
178
                  "value" : ["EXPRESSION", {
179
                    "args" : [["EXPRESSION", {
180
                      "args" : [["EXPRESSION", {
181
                        "args" : [["EXPRESSION", {
182
                          "args" : [["CALL", ["SIMPLE_NAME", "OutMux1"]]]}
183
                        ]]}
184
                      ]]}
185
                    ]]}
186
                  ]}
187
                ]}
188
              ], ["SIGNAL_ASSIGNMENT_STATEMENT", {
189
                "lhs" : ["SIMPLE_NAME", "Q2"], "rhs" : [{
190
                  "value" : ["EXPRESSION", {
191
                    "args" : [["EXPRESSION", {
192
                      "args" : [["EXPRESSION", {
193
                        "args" : [["EXPRESSION", {
194
                          "args" : [["CALL", ["SIMPLE_NAME", "OutMux2"]]]}
195
                        ]]}
196
                      ]]}
197
                    ]]}
198
                  ]}
199
                ]}
200
              ]]}
201
            ]}
202
          ]]}
203
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
204
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Q1"], "rhs" : [{
205
            "expr" : [{
206
              "value" : ["EXPRESSION", {
207
                "args" : [["EXPRESSION", {
208
                  "args" : [["EXPRESSION", {
209
                    "args" : [["EXPRESSION", {
210
                      "args" : [["CALL", ["SIMPLE_NAME", "Q1"]]]}
211
                    ]]}
212
                  ]]}
213
                ]]}
214
              ]}
215
            ]}
216
          ]}
217
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
218
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_Q2"], "rhs" : [{
219
            "expr" : [{
220
              "value" : ["EXPRESSION", {
221
                "args" : [["EXPRESSION", {
222
                  "args" : [["EXPRESSION", {
223
                    "args" : [["EXPRESSION", {
224
                      "args" : [["CALL", ["SIMPLE_NAME", "Q2"]]]}
225
                    ]]}
226
                  ]]}
227
                ]]}
228
              ]}
229
            ]}
230
          ]}
231
        ]]}
232
      ]}
233
    ]}
234
  }