Project

General

Profile

Download (5.25 KB) Statistics
| Branch: | Tag: | Revision:
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", "controller"], "ENTITY_DECLARATIVE_PART" : [], "ENTITY_STATEMENT_PART" : []}
6
      ]}
7
    , {
8
      "contexts" : [], "library" : ["ARCHITECTURE_BODY", {
9
        "name" : ["IDENTIFIER", "structural"], "entity" : ["IDENTIFIER", "controller"], "ARCHITECTURE_DECLARATIVE_PART" : [{
10
          "declaration" : ["COMPONENT_DECLARATION", {
11
            "name" : ["IDENTIFIER", "reg"], "generics" : [{
12
              "names" : [["IDENTIFIER", "width"]], "typ" : {
13
                "name" : ["SIMPLE_NAME", "positive"]}
14
              }
15
            ], "ports" : [{
16
              "names" : [["IDENTIFIER", "clock"]], "mode" : ["in"], "typ" : {
17
                "name" : ["SIMPLE_NAME", "std_logic"]}
18
              }
19
            , {
20
              "names" : [["IDENTIFIER", "data_in"]], "mode" : ["in"], "typ" : {
21
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
22
                  "ranges" : [["RANGE_WITH_DIRECTION", {
23
                    "direction" : "to", "from" : ["EXPRESSION", {
24
                      "args" : [["EXPRESSION", {
25
                        "args" : [["CONSTANT_VALUE", {
26
                          "value" : ["CST_LITERAL", "0"]}
27
                        ]]}
28
                      ]]}
29
                    ], "_to" : ["EXPRESSION", {
30
                      "args" : [["EXPRESSION", {
31
                        "id" : "-", "args" : [["EXPRESSION", {
32
                          "args" : [["CALL", ["SIMPLE_NAME", "width"]]]}
33
                        ], ["EXPRESSION", {
34
                          "args" : [["CONSTANT_VALUE", {
35
                            "value" : ["CST_LITERAL", "1"]}
36
                          ]]}
37
                        ]]}
38
                      ]]}
39
                    ]}
40
                  ]]}
41
                ]}
42
              }
43
            , {
44
              "names" : [["IDENTIFIER", "data_out"]], "mode" : ["out"], "typ" : {
45
                "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
46
                  "ranges" : [["RANGE_WITH_DIRECTION", {
47
                    "direction" : "to", "from" : ["EXPRESSION", {
48
                      "args" : [["EXPRESSION", {
49
                        "args" : [["CONSTANT_VALUE", {
50
                          "value" : ["CST_LITERAL", "0"]}
51
                        ]]}
52
                      ]]}
53
                    ], "_to" : ["EXPRESSION", {
54
                      "args" : [["EXPRESSION", {
55
                        "id" : "-", "args" : [["EXPRESSION", {
56
                          "args" : [["CALL", ["SIMPLE_NAME", "width"]]]}
57
                        ], ["EXPRESSION", {
58
                          "args" : [["CONSTANT_VALUE", {
59
                            "value" : ["CST_LITERAL", "1"]}
60
                          ]]}
61
                        ]]}
62
                      ]]}
63
                    ]}
64
                  ]]}
65
                ]}
66
              }
67
            ]}
68
          ]}
69
        , {
70
          "definition" : ["SUBTYPE_DECLARATION", {
71
            "name" : ["IDENTIFIER", "state_type"], "typ" : {
72
              "name" : ["SIMPLE_NAME", "std_logic_vector"], "const" : ["INDEX_CONSTRAINT", {
73
                "ranges" : [["RANGE_WITH_DIRECTION", {
74
                  "direction" : "to", "from" : ["EXPRESSION", {
75
                    "args" : [["EXPRESSION", {
76
                      "args" : [["CONSTANT_VALUE", {
77
                        "value" : ["CST_LITERAL", "0"]}
78
                      ]]}
79
                    ]]}
80
                  ], "_to" : ["EXPRESSION", {
81
                    "args" : [["EXPRESSION", {
82
                      "args" : [["CONSTANT_VALUE", {
83
                        "value" : ["CST_LITERAL", "5"]}
84
                      ]]}
85
                    ]]}
86
                  ]}
87
                ]]}
88
              ]}
89
            }
90
          ]}
91
        , {
92
          "declaration" : ["SIGNAL_DECLARATION", {
93
            "names" : [["IDENTIFIER", "clock_phase1"]], "typ" : {
94
              "name" : ["SIMPLE_NAME", "std_logic"]}
95
            }
96
          ]}
97
        , {
98
          "declaration" : ["SIGNAL_DECLARATION", {
99
            "names" : [["IDENTIFIER", "next_state"], ["IDENTIFIER", "current_state"]], "typ" : {
100
              "name" : ["SIMPLE_NAME", "state_type"]}
101
            }
102
          ]}
103
        ], "ARCHITECTURE_STATEMENT_PART" : [["COMPONENT_INSTANTIATION_STATEMENT", {
104
          "name" : ["IDENTIFIER", "state_reg"], "inst_unit" : ["SIMPLE_NAME", "reg"], "inst_unit_type" : "component", "generic_map" : [{
105
            "formal_name" : ["SIMPLE_NAME", "width"], "actual_designator" : ["ATTRIBUTE_NAME", {
106
              "id" : ["SIMPLE_NAME", "state_type"], "designator" : ["SIMPLE_NAME", "length"]}
107
            ]}
108
          ], "port_map" : [{
109
            "formal_name" : ["SIMPLE_NAME", "clock"], "actual_designator" : ["SIMPLE_NAME", "clock_phase1"]}
110
          , {
111
            "formal_name" : ["SIMPLE_NAME", "data_in"], "actual_designator" : ["SIMPLE_NAME", "next_state"]}
112
          , {
113
            "formal_name" : ["SIMPLE_NAME", "data_out"], "actual_designator" : ["SIMPLE_NAME", "current_state"]}
114
          ]}
115
        ]]}
116
      ]}
117
    ]}
118
  }
(207-207/276)