--- Type: name: signed --- TypeVector: name: integer base: signed range: - 31 - 0 --- Type: name: void --- Type: name: bit --- SystemT: name: sysB::T_ inputs: - SignalI: name: clk type: bit - SignalI: name: data type: TypeVector: name: '' base: bit range: - 7 - 0 outputs: - SignalI: name: result type: bit inouts: [] scope: Scope: name: '' scopes: [] inners: [] systemIs: [] connections: [] behaviors: - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: clk block: Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: bit ref: RefThis: type: void name: result right: Select: type: integer operator: "?" select: Binary: type: TypeVector: name: '' base: signed range: - 31 - 0 operator: "==" left: RefName: type: TypeVector: name: '' base: bit range: - 7 - 0 ref: RefThis: type: void name: data right: Value: type: integer content: 0 choices: - Value: type: integer content: 0 - Value: type: integer content: 1 --- SystemT: name: sysA::T_ inputs: - SignalI: name: clk type: bit - SignalI: name: rst type: bit outputs: - SignalI: name: data type: TypeVector: name: '' base: bit range: - 7 - 0 inouts: [] scope: Scope: name: '' scopes: [] inners: [] systemIs: [] connections: [] behaviors: - Behavior: events: - Event: type: posedge ref: RefName: type: bit ref: RefThis: type: void name: clk block: Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 7 - 0 ref: RefThis: type: void name: data right: Select: type: integer operator: "?" select: Binary: type: TypeVector: name: '' base: signed range: - 0 - 31 operator: "==" left: RefName: type: bit ref: RefThis: type: void name: rst right: Value: type: integer content: 0 choices: - Value: type: integer content: 0 - Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "+" left: RefName: type: TypeVector: name: '' base: bit range: - 7 - 0 ref: RefThis: type: void name: data right: Value: type: integer content: 1 --- SystemT: name: serialABI::T_ inputs: - SignalI: name: clk type: bit - SignalI: name: rst type: bit outputs: - SignalI: name: result type: bit inouts: [] scope: Scope: name: '' scopes: [] inners: - SignalI: name: bufA type: TypeVector: name: '' base: bit range: - 7 - 0 - SignalI: name: scntA type: TypeVector: name: '' base: bit range: - 2 - 0 - SignalI: name: bufB type: TypeVector: name: '' base: bit range: - 7 - 0 - SignalI: name: scntB type: TypeVector: name: '' base: bit range: - 2 - 0 - SignalI: name: sdat type: bit systemIs: - SystemI: name: sysA systemT: sysA::T_ - SystemI: name: sysB systemT: sysB::T_ connections: - Connection: left: RefName: type: bit ref: RefName: type: void ref: RefThis: type: void name: sysA name: clk right: RefName: type: bit ref: RefThis: type: void name: clk - Connection: left: RefName: type: bit ref: RefName: type: void ref: RefThis: type: void name: sysB name: clk right: RefName: type: bit ref: RefThis: type: void name: clk 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: - 2 - 0 ref: RefThis: type: void name: scntA right: Value: type: integer content: 0 'no': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntA right: Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "+" left: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntA right: Value: type: integer content: 1 - Transmit: left: RefName: type: bit ref: RefThis: type: void name: sdat right: RefIndex: type: bit ref: RefName: type: TypeVector: name: '' base: bit range: - 7 - 0 ref: RefThis: type: void name: bufA index: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntA 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: 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: - 2 - 0 ref: RefThis: type: void name: scntB right: Value: type: integer content: 0 'no': Block: mode: par name: '' inners: [] statements: - Transmit: left: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntB right: Binary: type: TypeVector: name: '' base: signed range: - 32 - 0 operator: "+" left: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntB right: Value: type: integer content: 1 - Transmit: left: RefIndex: type: bit ref: RefName: type: TypeVector: name: '' base: bit range: - 7 - 0 ref: RefThis: type: void name: bufB index: RefName: type: TypeVector: name: '' base: bit range: - 2 - 0 ref: RefThis: type: void name: scntB right: RefName: type: bit ref: RefThis: type: void name: sdat noifs: []