Type:
name: signed
TypeVector:
name: integer base: signed range: - 31 - 0
Type:
name: void
Type:
name: bit
SystemT:
name: with_clocksI::T_ inputs: - SignalI: name: clk type: bit - SignalI: name: rst type: bit outputs: - SignalI: name: sig0 type: bit - SignalI: name: sig1 type: bit inouts: [] scope: Scope: name: '' scopes: [] inners: - SignalI: name: ":0" type: TypeVector: name: '' base: bit range: - 30 - 0 - SignalI: name: ":1" type: bit - SignalI: name: ":2" type: TypeVector: name: '' base: bit range: - 30 - 0 - SignalI: name: ":3" type: TypeVector: name: '' base: bit range: - 30 - 0 - SignalI: name: ":4" type: bit systemIs: [] connections: - Connection: left: RefName: type: bit ref: RefThis: type: void name: ":4" right: Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "|" left: Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "==" left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":2" right: Value: type: TypeVector: name: '' base: signed range: - 32 - 0 content: 2 right: Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "==" left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":3" right: Value: type: TypeVector: name: '' base: signed range: - 32 - 0 content: 2 behaviors: - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: clk 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: - 30 - 0 ref: RefThis: type: void name: ":0" right: Value: type: TypeVector: name: '' base: signed range: - 31 - 0 content: 1 - Transmit: left: RefName: type: bit ref: RefThis: type: void name: ":1" right: Value: type: integer content: 0 'no': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 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: - 30 - 0 ref: RefThis: type: void name: ":0" right: Value: type: integer content: 1 noifs: - - Binary: type: TypeVector: name: '' base: signed range: - 31 - 0 operator: "==" left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":0" right: Value: type: integer content: 0 - Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":0" right: Value: type: TypeVector: name: '' base: signed range: - 31 - 0 content: 1 - Transmit: left: RefName: type: bit ref: RefThis: type: void name: ":1" right: Unary: type: bit operator: "~" child: RefName: type: bit ref: RefThis: type: void name: ":1" - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: ":1" 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: bit ref: RefThis: type: void name: sig0 right: Value: type: integer content: 0 'no': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: bit ref: RefThis: type: void name: sig0 right: Unary: type: bit operator: "~" child: RefName: type: bit ref: RefThis: type: void name: sig0 noifs: [] - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: clk block: Block: mode: par name: '' inners: [] statements: - If: condition: Binary: type: TypeVector: name: '' base: signed range: - 0 - 31 operator: "==" left: Binary: type: TypeVector: name: '' base: bit range: - 0 - 30 operator: "|" left: RefName: type: bit ref: RefThis: type: void name: rst right: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":2" right: Value: type: integer content: 0 'yes': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":2" right: Value: type: TypeVector: name: '' base: signed range: - 32 - 0 content: 2 'no': noifs: [] - Behavior: events: - Event: type: negedge ref: RefName: type: bit ref: RefThis: type: void name: clk block: Block: mode: par name: '' inners: [] statements: - If: condition: Binary: type: TypeVector: name: '' base: signed range: - 0 - 31 operator: "==" left: Binary: type: TypeVector: name: '' base: bit range: - 0 - 30 operator: "|" left: RefName: type: bit ref: RefThis: type: void name: rst right: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":3" right: Value: type: integer content: 0 'yes': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 30 - 0 ref: RefThis: type: void name: ":3" right: Value: type: TypeVector: name: '' base: signed range: - 32 - 0 content: 2 'no': noifs: [] - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: ":4" 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: bit ref: RefThis: type: void name: sig1 right: Value: type: integer content: 0 'no': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: bit ref: RefThis: type: void name: sig1 right: Unary: type: bit operator: "~" child: RefName: type: bit ref: RefThis: type: void name: sig1 noifs: []