Type:

name: bit

SystemT:

name: saikoroI::T_
inputs:
- SignalI:
    name: ck
    type: bit
- SignalI:
    name: reset
    type: bit
- SignalI:
    name: enable
    type: bit
outputs:
- SignalI:
    name: lamp
    type:
      TypeVector:
        name: ''
        base: bit
        range:
        - 6
        - 0
inouts: []
scope:
  Scope:
    scopes: []
    inners:
    - SignalI:
        name: cnt
        type:
          TypeVector:
            name: ''
            base: bit
            range:
            - 2
            - 0
    systemIs: []
    connections: []
    behaviors:
    - Behavior:
        events:
        - Event:
            type: posedge
            ref:
              RefName:
                ref:
                  RefThis: {}
                name: ck
        - Event:
            type: posedge
            ref:
              RefName:
                ref:
                  RefThis: {}
                name: reset
        block:
          Block:
            mode: par
            inners: []
            statements:
            - If:
                condition:
                  Binary:
                    operator: "=="
                    left:
                      RefName:
                        ref:
                          RefThis: {}
                        name: reset
                    right:
                      Value:
                        type:
                          TypeVector:
                            name: ''
                            base: bit
                            range:
                            - 0
                            - 0
                        content:
                          BitString:
                            str: '1'
                'yes':
                  Block:
                    mode: par
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            ref:
                              RefThis: {}
                            name: cnt
                        right:
                          Value:
                            type:
                              TypeVector:
                                name: ''
                                base: bit
                                range:
                                - 2
                                - 0
                            content:
                              BitString:
                                str: '0001'
                'no': 
                noifs:
                - - Binary:
                      operator: "=="
                      left:
                        RefName:
                          ref:
                            RefThis: {}
                          name: enable
                      right:
                        Value:
                          type:
                            TypeVector:
                              name: ''
                              base: bit
                              range:
                              - 0
                              - 0
                          content:
                            BitString:
                              str: '1'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - If:
                          condition:
                            Binary:
                              operator: "<="
                              left:
                                RefName:
                                  ref:
                                    RefThis: {}
                                  name: cnt
                              right:
                                Value:
                                  type:
                                    TypeVector:
                                      name: ''
                                      base: bit
                                      range:
                                      - 2
                                      - 0
                                  content:
                                    BitString:
                                      str: '0110'
                          'yes':
                            Block:
                              mode: par
                              inners: []
                              statements:
                              - Transmit:
                                  left:
                                    RefName:
                                      ref:
                                        RefThis: {}
                                      name: cnt
                                  right:
                                    Value:
                                      type:
                                        TypeVector:
                                          name: ''
                                          base: bit
                                          range:
                                          - 2
                                          - 0
                                      content:
                                        BitString:
                                          str: '0001'
                          'no':
                            Block:
                              mode: par
                              inners: []
                              statements:
                              - Transmit:
                                  left:
                                    RefName:
                                      ref:
                                        RefThis: {}
                                      name: cnt
                                  right:
                                    Binary:
                                      operator: "+"
                                      left:
                                        RefName:
                                          ref:
                                            RefThis: {}
                                          name: cnt
                                      right:
                                        Value:
                                          type:
                                            TypeVector:
                                              name: ''
                                              base: bit
                                              range:
                                              - 2
                                              - 0
                                          content:
                                            BitString:
                                              str: '0001'
                          noifs: []
    - Behavior:
        events: []
        block:
          Block:
            mode: par
            inners: []
            statements:
            - Case:
                value:
                  RefName:
                    ref:
                      RefThis: {}
                    name: cnt
                whens:
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0001'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '0001000'
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0010'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '1000001'
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0011'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '0011100'
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0100'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '1010101'
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0101'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '1011101'
                - - Value:
                      type:
                        TypeVector:
                          name: ''
                          base: bit
                          range:
                          - 2
                          - 0
                      content:
                        BitString:
                          str: '0110'
                  - Block:
                      mode: par
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              ref:
                                RefThis: {}
                              name: lamp
                          right:
                            Value:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 6
                                  - 0
                              content:
                                BitString:
                                  str: '1110111'
                default:
                  Block:
                    mode: par
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            ref:
                              RefThis: {}
                            name: lamp
                        right:
                          Value:
                            type:
                              TypeVector:
                                name: ''
                                base: bit
                                range:
                                - 6
                                - 0
                            content:
                              BitString:
                                str: xxxxxxx