Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / best-chronometer-ever / src / crossdomain_sync.json @ 3fd18385

History | View | Annotate | Download (9.56 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", "crossdomain_sync"], "ports" : [{
6
          "names" : [["IDENTIFIER", "i_clock"]], "mode" : ["in"], "typ" : {
7
            "name" : ["SIMPLE_NAME", "std_logic"]}
8
          }
9
        , {
10
          "names" : [["IDENTIFIER", "i_reset"]], "mode" : ["in"], "typ" : {
11
            "name" : ["SIMPLE_NAME", "std_logic"]}
12
          }
13
        , {
14
          "names" : [["IDENTIFIER", "i_signal"]], "mode" : ["in"], "typ" : {
15
            "name" : ["SIMPLE_NAME", "std_logic"]}
16
          }
17
        , {
18
          "names" : [["IDENTIFIER", "o_signal"]], "mode" : ["out"], "typ" : {
19
            "name" : ["SIMPLE_NAME", "std_logic"]}
20
          }
21
        ], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
22
      ]}
23
    , {
24
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
25
        "name" : ["IDENTIFIER", "Behavioral"], "entity" : ["IDENTIFIER", "crossdomain_sync"], "ARCHITECTURE_DECLARATIVE_PART" : [{
26
          "declaration" : ["SIGNAL_DECLARATION", {
27
            "names" : [["IDENTIFIER", "signal_r1"]], "typ" : {
28
              "name" : ["SIMPLE_NAME", "std_logic"]}
29
            }
30
          ]}
31
        , {
32
          "declaration" : ["SIGNAL_DECLARATION", {
33
            "names" : [["IDENTIFIER", "signal_r2"]], "typ" : {
34
              "name" : ["SIMPLE_NAME", "std_logic"]}
35
            }
36
          ]}
37
        ], "ARCHITECTURE_STATEMENT_PART" : [["PROCESS_STATEMENT", {
38
          "id" : ["IDENTIFIER", "P_R1_HANDLER"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
39
            "if_cases" : [{
40
              "if_cond" : ["EXPRESSION", {
41
                "args" : [["EXPRESSION", {
42
                  "args" : [["EXPRESSION", {
43
                    "args" : [["EXPRESSION", {
44
                      "args" : [["EXPRESSION", {
45
                        "id" : "=", "args" : [["EXPRESSION", {
46
                          "args" : [["EXPRESSION", {
47
                            "args" : [["EXPRESSION", {
48
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
49
                            ]]}
50
                          ]]}
51
                        ], ["EXPRESSION", {
52
                          "args" : [["EXPRESSION", {
53
                            "args" : [["EXPRESSION", {
54
                              "args" : [["CONSTANT_VALUE", {
55
                                "value" : ["CST_LITERAL", "'1'"]}
56
                              ]]}
57
                            ]]}
58
                          ]]}
59
                        ]]}
60
                      ]]}
61
                    ]]}
62
                  ]]}
63
                ]]}
64
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
65
                "lhs" : ["SIMPLE_NAME", "signal_r1"], "rhs" : [{
66
                  "value" : ["EXPRESSION", {
67
                    "args" : [["EXPRESSION", {
68
                      "args" : [["EXPRESSION", {
69
                        "args" : [["EXPRESSION", {
70
                          "args" : [["CONSTANT_VALUE", {
71
                            "value" : ["CST_LITERAL", "'0'"]}
72
                          ]]}
73
                        ]]}
74
                      ]]}
75
                    ]]}
76
                  ]}
77
                ]}
78
              ]]}
79
            ], "default" : [["IF_STATEMENT", {
80
              "if_cases" : [{
81
                "if_cond" : ["EXPRESSION", {
82
                  "args" : [["EXPRESSION", {
83
                    "args" : [["EXPRESSION", {
84
                      "args" : [["EXPRESSION", {
85
                        "args" : [["EXPRESSION", {
86
                          "args" : [["EXPRESSION", {
87
                            "args" : [["EXPRESSION", {
88
                              "args" : [["EXPRESSION", {
89
                                "args" : [["CALL", ["INDEXED_NAME", {
90
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
91
                                    "args" : [["EXPRESSION", {
92
                                      "args" : [["EXPRESSION", {
93
                                        "args" : [["EXPRESSION", {
94
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
95
                                        ]]}
96
                                      ]]}
97
                                    ]]}
98
                                  ]]}
99
                                ]]]}
100
                              ]]}
101
                            ]]}
102
                          ]]}
103
                        ]]}
104
                      ]]}
105
                    ]]}
106
                  ]]}
107
                ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
108
                  "lhs" : ["SIMPLE_NAME", "signal_r1"], "rhs" : [{
109
                    "value" : ["EXPRESSION", {
110
                      "args" : [["EXPRESSION", {
111
                        "args" : [["EXPRESSION", {
112
                          "args" : [["EXPRESSION", {
113
                            "args" : [["CALL", ["SIMPLE_NAME", "i_signal"]]]}
114
                          ]]}
115
                        ]]}
116
                      ]]}
117
                    ]}
118
                  ]}
119
                ]]}
120
              ]}
121
            ]]}
122
          ]]}
123
        ], ["PROCESS_STATEMENT", {
124
          "id" : ["IDENTIFIER", "P_R2_HANDLER"], "active_sigs" : [["SIMPLE_NAME", "i_clock"], ["SIMPLE_NAME", "i_reset"]], "PROCESS_STATEMENT_PART" : [["IF_STATEMENT", {
125
            "if_cases" : [{
126
              "if_cond" : ["EXPRESSION", {
127
                "args" : [["EXPRESSION", {
128
                  "args" : [["EXPRESSION", {
129
                    "args" : [["EXPRESSION", {
130
                      "args" : [["EXPRESSION", {
131
                        "id" : "=", "args" : [["EXPRESSION", {
132
                          "args" : [["EXPRESSION", {
133
                            "args" : [["EXPRESSION", {
134
                              "args" : [["CALL", ["SIMPLE_NAME", "i_reset"]]]}
135
                            ]]}
136
                          ]]}
137
                        ], ["EXPRESSION", {
138
                          "args" : [["EXPRESSION", {
139
                            "args" : [["EXPRESSION", {
140
                              "args" : [["CONSTANT_VALUE", {
141
                                "value" : ["CST_LITERAL", "'1'"]}
142
                              ]]}
143
                            ]]}
144
                          ]]}
145
                        ]]}
146
                      ]]}
147
                    ]]}
148
                  ]]}
149
                ]]}
150
              ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
151
                "lhs" : ["SIMPLE_NAME", "signal_r2"], "rhs" : [{
152
                  "value" : ["EXPRESSION", {
153
                    "args" : [["EXPRESSION", {
154
                      "args" : [["EXPRESSION", {
155
                        "args" : [["EXPRESSION", {
156
                          "args" : [["CONSTANT_VALUE", {
157
                            "value" : ["CST_LITERAL", "'0'"]}
158
                          ]]}
159
                        ]]}
160
                      ]]}
161
                    ]]}
162
                  ]}
163
                ]}
164
              ]]}
165
            ], "default" : [["IF_STATEMENT", {
166
              "if_cases" : [{
167
                "if_cond" : ["EXPRESSION", {
168
                  "args" : [["EXPRESSION", {
169
                    "args" : [["EXPRESSION", {
170
                      "args" : [["EXPRESSION", {
171
                        "args" : [["EXPRESSION", {
172
                          "args" : [["EXPRESSION", {
173
                            "args" : [["EXPRESSION", {
174
                              "args" : [["EXPRESSION", {
175
                                "args" : [["CALL", ["INDEXED_NAME", {
176
                                  "id" : ["SIMPLE_NAME", "rising_edge"], "exprs" : [["EXPRESSION", {
177
                                    "args" : [["EXPRESSION", {
178
                                      "args" : [["EXPRESSION", {
179
                                        "args" : [["EXPRESSION", {
180
                                          "args" : [["CALL", ["SIMPLE_NAME", "i_clock"]]]}
181
                                        ]]}
182
                                      ]]}
183
                                    ]]}
184
                                  ]]}
185
                                ]]]}
186
                              ]]}
187
                            ]]}
188
                          ]]}
189
                        ]]}
190
                      ]]}
191
                    ]]}
192
                  ]]}
193
                ], "if_block" : [["SIGNAL_ASSIGNMENT_STATEMENT", {
194
                  "lhs" : ["SIMPLE_NAME", "signal_r2"], "rhs" : [{
195
                    "value" : ["EXPRESSION", {
196
                      "args" : [["EXPRESSION", {
197
                        "args" : [["EXPRESSION", {
198
                          "args" : [["EXPRESSION", {
199
                            "args" : [["CALL", ["SIMPLE_NAME", "i_signal"]]]}
200
                          ]]}
201
                        ]]}
202
                      ]]}
203
                    ]}
204
                  ]}
205
                ]]}
206
              ]}
207
            ]]}
208
          ]]}
209
        ], ["CONDITIONAL_SIGNAL_ASSIGNMENT", {
210
          "postponed" : false, "lhs" : ["SIMPLE_NAME", "o_signal"], "rhs" : [{
211
            "expr" : [{
212
              "value" : ["EXPRESSION", {
213
                "args" : [["EXPRESSION", {
214
                  "args" : [["EXPRESSION", {
215
                    "args" : [["EXPRESSION", {
216
                      "args" : [["CALL", ["SIMPLE_NAME", "signal_r2"]]]}
217
                    ]]}
218
                  ]]}
219
                ]]}
220
              ]}
221
            ]}
222
          ]}
223
        ]]}
224
      ]}
225
    ]}
226
  }