Type:

name: signed

TypeVector:

name: integer
base: signed
range:
- 31
- 0

Type:

name: void

Type:

name: bit

SystemT:

name: test_after0I::T_
inputs:
- SignalI:
    name: clk
    type: bit
- SignalI:
    name: rst
    type: bit
outputs: []
inouts: []
scope:
  Scope:
    name: ''
    scopes: []
    inners:
    - SignalI:
        name: sig0
        type: bit
    - SignalI:
        name: sig1
        type: bit
    - SignalI:
        name: ":0"
        type:
          TypeVector:
            name: ''
            base: bit
            range:
            - 3
            - 0
    systemIs: []
    connections: []
    behaviors:
    - Behavior:
        events:
        - Event:
            type: posedge
            ref:
              RefName:
                type: bit
                ref:
                  RefThis:
                    type: void
                name: clk
        - Event:
            type: posedge
            ref:
              RefName:
                type: bit
                ref:
                  RefThis:
                    type: void
                name: rst
        block:
          Block:
            mode: par
            name: ''
            inners: []
            statements:
            - If:
                condition:
                  RefName:
                    type: bit
                    ref:
                      RefThis:
                        type: void
                    name: rst
                'yes':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type:
                              TypeVector:
                                name: ''
                                base: bit
                                range:
                                - 3
                                - 0
                            ref:
                              RefThis:
                                type: void
                            name: ":0"
                        right:
                          Value:
                            type: integer
                            content: 0
                'no':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type:
                              TypeVector:
                                name: ''
                                base: bit
                                range:
                                - 3
                                - 0
                            ref:
                              RefThis:
                                type: void
                            name: ":0"
                        right:
                          Binary:
                            type:
                              TypeVector:
                                name: ''
                                base: signed
                                range:
                                - 32
                                - 0
                            operator: "+"
                            left:
                              RefName:
                                type:
                                  TypeVector:
                                    name: ''
                                    base: bit
                                    range:
                                    - 3
                                    - 0
                                ref:
                                  RefThis:
                                    type: void
                                name: ":0"
                            right:
                              Value:
                                type: integer
                                content: 1
                noifs: []
    - Behavior:
        events: []
        block:
          Block:
            mode: par
            name: ''
            inners: []
            statements:
            - If:
                condition:
                  Binary:
                    type:
                      TypeVector:
                        name: ''
                        base: signed
                        range:
                        - 31
                        - 0
                    operator: ">="
                    left:
                      RefName:
                        type:
                          TypeVector:
                            name: ''
                            base: bit
                            range:
                            - 3
                            - 0
                        ref:
                          RefThis:
                            type: void
                        name: ":0"
                    right:
                      Value:
                        type: integer
                        content: 10
                'yes':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type: bit
                            ref:
                              RefThis:
                                type: void
                            name: sig0
                        right:
                          Value:
                            type: integer
                            content: 1
                'no':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type: bit
                            ref:
                              RefThis:
                                type: void
                            name: sig0
                        right:
                          Value:
                            type: integer
                            content: 0
                noifs: []
    - Behavior:
        events:
        - Event:
            type: posedge
            ref:
              RefName:
                type: bit
                ref:
                  RefThis:
                    type: void
                name: clk
        - Event:
            type: posedge
            ref:
              RefName:
                type: bit
                ref:
                  RefThis:
                    type: void
                name: rst
        block:
          Block:
            mode: par
            name: ''
            inners:
            - SignalI:
                name: ":1"
                type:
                  TypeVector:
                    name: ''
                    base: bit
                    range:
                    - 4
                    - 0
            statements:
            - Transmit:
                left:
                  RefName:
                    type: bit
                    ref:
                      RefThis:
                        type: void
                    name: sig1
                right:
                  Value:
                    type: integer
                    content: 0
            - If:
                condition:
                  RefName:
                    type: bit
                    ref:
                      RefThis:
                        type: void
                    name: __universe__rst__
                'yes':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type:
                              TypeVector:
                                name: ''
                                base: bit
                                range:
                                - 4
                                - 0
                            ref:
                              RefThis:
                                type: void
                            name: ":1"
                        right:
                          Value:
                            type: integer
                            content: 0
                'no': 
                noifs:
                - - Binary:
                      type:
                        TypeVector:
                          name: ''
                          base: signed
                          range:
                          - 31
                          - 0
                      operator: "<"
                      left:
                        RefName:
                          type:
                            TypeVector:
                              name: ''
                              base: bit
                              range:
                              - 4
                              - 0
                          ref:
                            RefThis:
                              type: void
                          name: ":1"
                      right:
                        Value:
                          type: integer
                          content: 20
                  - Block:
                      mode: par
                      name: ''
                      inners: []
                      statements:
                      - Transmit:
                          left:
                            RefName:
                              type:
                                TypeVector:
                                  name: ''
                                  base: bit
                                  range:
                                  - 4
                                  - 0
                              ref:
                                RefThis:
                                  type: void
                              name: ":1"
                          right:
                            Binary:
                              type:
                                TypeVector:
                                  name: ''
                                  base: signed
                                  range:
                                  - 32
                                  - 0
                              operator: "+"
                              left:
                                RefName:
                                  type:
                                    TypeVector:
                                      name: ''
                                      base: bit
                                      range:
                                      - 4
                                      - 0
                                  ref:
                                    RefThis:
                                      type: void
                                  name: ":1"
                              right:
                                Value:
                                  type: integer
                                  content: 1
            - If:
                condition:
                  Binary:
                    type:
                      TypeVector:
                        name: ''
                        base: signed
                        range:
                        - 31
                        - 0
                    operator: ">="
                    left:
                      RefName:
                        type:
                          TypeVector:
                            name: ''
                            base: bit
                            range:
                            - 4
                            - 0
                        ref:
                          RefThis:
                            type: void
                        name: ":1"
                    right:
                      Value:
                        type: integer
                        content: 20
                'yes':
                  Block:
                    mode: par
                    name: ''
                    inners: []
                    statements:
                    - Transmit:
                        left:
                          RefName:
                            type: bit
                            ref:
                              RefThis:
                                type: void
                            name: sig1
                        right:
                          Value:
                            type: integer
                            content: 1
                'no': 
                noifs: []