Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / ashenden / compliant / ch_13_fg_13_17.json @ 3fd18385

History | View | Annotate | Download (8.61 KB)

1
{
2
  "DESIGN_FILE" : {
3
    "design_units" : [{
4
      "contexts" : [], "library" : ["ENTITY_DECLARATION", {
5
        "name" : ["IDENTIFIER", "single_board_computer"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
6
      ]}
7
    , {
8
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
9
        "name" : ["IDENTIFIER", "structural"], "entity" : ["IDENTIFIER", "single_board_computer"], "ARCHITECTURE_DECLARATIVE_PART" : [{
10
          "definition" : ["SUBTYPE_DECLARATION", {
11
            "name" : ["IDENTIFIER", "word"], "typ" : {
12
              "name" : ["SIMPLE_NAME", "bit_vector"], "const" : ["INDEX_CONSTRAINT", {
13
                "ranges" : [["RANGE_WITH_DIRECTION", {
14
                  "direction" : "downto", "from" : ["EXPRESSION", {
15
                    "args" : [["EXPRESSION", {
16
                      "args" : [["CONSTANT_VALUE", {
17
                        "value" : ["CST_LITERAL", "31"]}
18
                      ]]}
19
                    ]]}
20
                  ], "_to" : ["EXPRESSION", {
21
                    "args" : [["EXPRESSION", {
22
                      "args" : [["CONSTANT_VALUE", {
23
                        "value" : ["CST_LITERAL", "0"]}
24
                      ]]}
25
                    ]]}
26
                  ]}
27
                ]]}
28
              ]}
29
            }
30
          ]}
31
        , {
32
          "declaration" : ["SIGNAL_DECLARATION", {
33
            "names" : [["IDENTIFIER", "sys_clk"]], "typ" : {
34
              "name" : ["SIMPLE_NAME", "bit"]}
35
            }
36
          ]}
37
        , {
38
          "declaration" : ["SIGNAL_DECLARATION", {
39
            "names" : [["IDENTIFIER", "cpu_a_d"], ["IDENTIFIER", "latched_addr"]], "typ" : {
40
              "name" : ["SIMPLE_NAME", "word"]}
41
            }
42
          ]}
43
        , {
44
          "declaration" : ["COMPONENT_DECLARATION", {
45
            "name" : ["IDENTIFIER", "processor"], "ports" : [{
46
              "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
47
                "name" : ["SIMPLE_NAME", "bit"]}
48
              }
49
            , {
50
              "names" : [["IDENTIFIER", "a_d"]], "mode" : ["inout"], "typ" : {
51
                "name" : ["SIMPLE_NAME", "word"]}
52
              }
53
            , {
54
              "names" : [["IDENTIFIER", "other_port"]], "mode" : ["in"], "typ" : {
55
                "name" : ["SIMPLE_NAME", "bit"]}
56
              , "expr" : ["EXPRESSION", {
57
                "args" : [["EXPRESSION", {
58
                  "args" : [["EXPRESSION", {
59
                    "args" : [["EXPRESSION", {
60
                      "args" : [["CONSTANT_VALUE", {
61
                        "value" : ["CST_LITERAL", "'0'"]}
62
                      ]]}
63
                    ]]}
64
                  ]]}
65
                ]]}
66
              ]}
67
            ]}
68
          ]}
69
        , {
70
          "declaration" : ["COMPONENT_DECLARATION", {
71
            "name" : ["IDENTIFIER", "memory"], "ports" : [{
72
              "names" : [["IDENTIFIER", "addr"]], "mode" : ["in"], "typ" : {
73
                "name" : ["SIMPLE_NAME", "bit_vector"], "const" : ["INDEX_CONSTRAINT", {
74
                  "ranges" : [["RANGE_WITH_DIRECTION", {
75
                    "direction" : "downto", "from" : ["EXPRESSION", {
76
                      "args" : [["EXPRESSION", {
77
                        "args" : [["CONSTANT_VALUE", {
78
                          "value" : ["CST_LITERAL", "25"]}
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", "other_port"]], "mode" : ["in"], "typ" : {
93
                "name" : ["SIMPLE_NAME", "bit"]}
94
              , "expr" : ["EXPRESSION", {
95
                "args" : [["EXPRESSION", {
96
                  "args" : [["EXPRESSION", {
97
                    "args" : [["EXPRESSION", {
98
                      "args" : [["CONSTANT_VALUE", {
99
                        "value" : ["CST_LITERAL", "'0'"]}
100
                      ]]}
101
                    ]]}
102
                  ]]}
103
                ]]}
104
              ]}
105
            ]}
106
          ]}
107
        , {
108
          "declaration" : ["COMPONENT_DECLARATION", {
109
            "name" : ["IDENTIFIER", "serial_interface"], "ports" : [{
110
              "names" : [["IDENTIFIER", "clk"]], "mode" : ["in"], "typ" : {
111
                "name" : ["SIMPLE_NAME", "bit"]}
112
              }
113
            , {
114
              "names" : [["IDENTIFIER", "address"]], "mode" : ["in"], "typ" : {
115
                "name" : ["SIMPLE_NAME", "bit_vector"], "const" : ["INDEX_CONSTRAINT", {
116
                  "ranges" : [["RANGE_WITH_DIRECTION", {
117
                    "direction" : "downto", "from" : ["EXPRESSION", {
118
                      "args" : [["EXPRESSION", {
119
                        "args" : [["CONSTANT_VALUE", {
120
                          "value" : ["CST_LITERAL", "3"]}
121
                        ]]}
122
                      ]]}
123
                    ], "_to" : ["EXPRESSION", {
124
                      "args" : [["EXPRESSION", {
125
                        "args" : [["CONSTANT_VALUE", {
126
                          "value" : ["CST_LITERAL", "0"]}
127
                        ]]}
128
                      ]]}
129
                    ]}
130
                  ]]}
131
                ]}
132
              }
133
            , {
134
              "names" : [["IDENTIFIER", "other_port"]], "mode" : ["in"], "typ" : {
135
                "name" : ["SIMPLE_NAME", "bit"]}
136
              , "expr" : ["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
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
150
          "name" : ["IDENTIFIER", "cpu"], "inst_unit" : ["SIMPLE_NAME", "processor"], "inst_unit_type" : "component", "port_map" : [{
151
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "sys_clk"]}
152
          , {
153
            "formal_name" : ["SIMPLE_NAME", "a_d"], "actual_designator" : ["SIMPLE_NAME", "cpu_a_d"]}
154
          , {
155
            "formal_name" : ["SIMPLE_NAME", "other_port"], "actual_designator" : ["OPEN"]}
156
          ]}
157
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
158
          "name" : ["IDENTIFIER", "main_memory"], "inst_unit" : ["SIMPLE_NAME", "memory"], "inst_unit_type" : "component", "port_map" : [{
159
            "formal_name" : ["SIMPLE_NAME", "addr"], "actual_designator" : ["SLICE_NAME", {
160
              "id" : ["SIMPLE_NAME", "latched_addr"], "range" : ["RANGE_WITH_DIRECTION", {
161
                "direction" : "downto", "from" : ["EXPRESSION", {
162
                  "args" : [["EXPRESSION", {
163
                    "args" : [["CONSTANT_VALUE", {
164
                      "value" : ["CST_LITERAL", "25"]}
165
                    ]]}
166
                  ]]}
167
                ], "_to" : ["EXPRESSION", {
168
                  "args" : [["EXPRESSION", {
169
                    "args" : [["CONSTANT_VALUE", {
170
                      "value" : ["CST_LITERAL", "0"]}
171
                    ]]}
172
                  ]]}
173
                ]}
174
              ]}
175
            ]}
176
          , {
177
            "formal_name" : ["SIMPLE_NAME", "other_port"], "actual_designator" : ["OPEN"]}
178
          ]}
179
        ], ["COMPONENT_INSTANTIATION_STATEMENT", {
180
          "name" : ["IDENTIFIER", "serial_interface_a"], "inst_unit" : ["SIMPLE_NAME", "serial_interface"], "inst_unit_type" : "component", "port_map" : [{
181
            "formal_name" : ["SIMPLE_NAME", "clk"], "actual_designator" : ["SIMPLE_NAME", "sys_clk"]}
182
          , {
183
            "formal_name" : ["SIMPLE_NAME", "address"], "actual_designator" : ["SLICE_NAME", {
184
              "id" : ["SIMPLE_NAME", "latched_addr"], "range" : ["RANGE_WITH_DIRECTION", {
185
                "direction" : "downto", "from" : ["EXPRESSION", {
186
                  "args" : [["EXPRESSION", {
187
                    "args" : [["CONSTANT_VALUE", {
188
                      "value" : ["CST_LITERAL", "3"]}
189
                    ]]}
190
                  ]]}
191
                ], "_to" : ["EXPRESSION", {
192
                  "args" : [["EXPRESSION", {
193
                    "args" : [["CONSTANT_VALUE", {
194
                      "value" : ["CST_LITERAL", "0"]}
195
                    ]]}
196
                  ]]}
197
                ]}
198
              ]}
199
            ]}
200
          , {
201
            "formal_name" : ["SIMPLE_NAME", "other_port"], "actual_designator" : ["OPEN"]}
202
          ]}
203
        ]]}
204
      ]}
205
    ]}
206
  }