Appendix C. Example XMLs

This appendix contains a full XML stylesheet for PE Data Model.

C.1. Example XML for MicroBlaze

<ProcUnitModel version = "0.0.1">
    <ProcUnit type="MICROBLAZE">
        <ExecModel sched="PIPELINE">
            <Operation name="ret">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="reg" mode="RdReg"/>
                </StgRef>
            </Operation>
            <Operation name="malloc"> <!-- allocate memory from system heap -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="reg" mode="WrReg"/>
                </StgRef>
            </Operation>
            <Operation name="free"> <!-- returns memory back to system heap -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="reg" mode="WrReg"/>
                </StgRef>
            </Operation>
            <Operation name="alloca"> <!-- allocate memory from current stack frame -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="reg" mode="WrReg"/>
                </StgRef>
            </Operation>
            <Operation name="load"> <!-- read from memory -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="mem-Port" mode="RdPort"/>
                </StgRef>
            </Operation>
            <Operation name="store"> <!-- write to memory -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="mem-Port" mode="WrPort"/>
                </StgRef>
            </Operation>
            <Operation name="call"> <!-- function call -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="reg" mode="RdReg"/>
                </StgRef>
            </Operation>

            <Operation name="br">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="add" var_type="int">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="add" var_type="float">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPAdd"/>
                </StgRef>
            </Operation>
            <Operation name="sub" var_type="int">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="sub" var_type="float">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPAdd"/>
                </StgRef>
            </Operation>
            <Operation name="mul" var_type="int">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-Mult/Div" mode="IntMult"/>
                </StgRef>
            </Operation>
            <Operation name="mul" var_type="float">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-Mult/Div" mode="FPMult"/>
                </StgRef>
            </Operation>
            <Operation name="udiv">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-Mult/Div" mode="IntDiv"/>
                </StgRef>
            </Operation>
            <Operation name="sdiv">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-Mult/Div" mode="IntDiv"/>
                </StgRef>
            </Operation>
            <Operation name="fdiv">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-Mult/Div" mode="FPDiv"/>
                </StgRef>
            </Operation>
            <Operation name="urem"> <!-- returns remainder of a division -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-Mult/Div" mode="IntDiv"/>
                </StgRef>
            </Operation>
            <Operation name="srem">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-Mult/Div" mode="IntDiv"/>
                </StgRef>
            </Operation>
            <Operation name="frem">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-Mult/Div" mode="FPDiv"/>
                </StgRef>
            </Operation>
            <Operation name="shl"> <!-- shift -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="shr"> <!-- shift -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="lshr"> <!-- logical shift -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="ashr"> <!-- arithmetic shift -->
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="and">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="or">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="xor">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="fptoui">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>
            <Operation name="fptosi">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>
            <Operation name="uitofp">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>
            <Operation name="sitofp">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>
            <Operation name="icmp">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="fcmp">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCmp"/>
                </StgRef>
            </Operation>
            <Operation name="seteq">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="setne">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="setle">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="setge">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="setlt">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="setgt">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="cast" var_type="int">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="cast" var_type="float">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>
            <Operation name="cast" var_type="double">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="FP-ALU" mode="FPCvt"/>
                </StgRef>
            </Operation>

            <Operation name="getelementptr">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="phi">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="unreachable">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="invoke">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="unwind">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="switch">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
            <Operation name="select">
                <StgRef name = "IF">
                    <FURef type = "InstFetch" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "ID" flags ="DEMAND">
                    <FURef type = "InstDecode" mode = "DEFAULT"/>
                </StgRef>
                <StgRef name = "EX" flags ="COMMIT">
                    <FURef type="int-ALU" mode="IntALU"/>
                </StgRef>
            </Operation>
        </ExecModel>

        <MemModel>
            <Cache policy = "D-Mapped" i_cache_delay = "1" d_cache_delay = "1">
                <InstCache i_cache_size = "1K" i_cache_ratio = "0.6614"/>
                <InstCache i_cache_size = "2K" i_cache_ratio = "0.7917"/>
                <InstCache i_cache_size = "4K" i_cache_ratio = "0.8606"/>
                <InstCache i_cache_size = "8K" i_cache_ratio = "0.9503"/>
                <InstCache i_cache_size = "16K" i_cache_ratio = "0.9779"/>
                <InstCache i_cache_size = "32K" i_cache_ratio = "0.9805"/>
                <InstCache i_cache_size = "64K" i_cache_ratio = "0.9817"/>
                <DataCache d_cache_size = "2K"  d_cache_ratio = "0.6379"/>
                <DataCache d_cache_size = "4K"  d_cache_ratio = "0.6661"/>
                <DataCache d_cache_size = "8K"  d_cache_ratio = "0.6714"/>
                <DataCache d_cache_size = "16K"  d_cache_ratio = "0.6996"/>
                <DataCache d_cache_size = "32K"  d_cache_ratio = "0.6996"/>
                <DataCache d_cache_size = "64K"  d_cache_ratio = "0.6996"/>
            </Cache>
            <Memory r_delay = "8" w_delay = "3"/>
        </MemModel>

        <DPModel>
            <Pipeline name = "default" br_pred_policy = "TAKEN" br_pred_hit_ratio = "60.00" br_penalty = "2">
                <Stage name = "IF">
                    <FURef type = "InstFetch" quantity = "1"/>
                </Stage>
                <Stage name = "ID">
                    <FURef type = "InstDecode" quantity = "1"/>
                </Stage>
                <Stage name = "EX">
                    <FURef type = "reg" quantity = "32"/>
                    <FURef type = "mem-Port" quantity = "1"/>
                    <FURef type = "int-ALU" quantity = "1"/>
                    <FURef type = "int-Mult/Div" quantity = "1"/>
                    <FURef type = "FP-ALU" quantity = "1"/>
                    <FURef type = "FP-Mult/Div" quantity = "1"/>
                </Stage>
            </Pipeline>
            <FuncUnit type="InstFetch" quantity="1">
                <OperMode mode="DEFAULT" oplat="1"/>
            </FuncUnit>
            <FuncUnit type="InstDecode" quantity="1">
                <OperMode mode="DEFAULT" oplat="1"/>
            </FuncUnit>
            <FuncUnit type="reg" quantity="32">
                <OperMode mode="RdReg" oplat="1"/>
                <OperMode mode="WrReg" oplat="1"/>
            </FuncUnit>
            <FuncUnit type="mem-Port" quantity="1">
                <OperMode mode="RdPort" oplat="2"/>
                <OperMode mode="WrPort" oplat="1"/>
            </FuncUnit>
            <FuncUnit type="int-ALU" quantity="1">
                <OperMode mode="IntALU" oplat="1"/>
            </FuncUnit>
            <FuncUnit type="int-Mult/Div" quantity="1">
                <OperMode mode="IntMult" oplat="3"/>
                <OperMode mode="IntDiv" oplat="34"/>
            </FuncUnit>
            <FuncUnit type="FP-ALU" quantity="1">
                <OperMode mode="FPAdd" oplat="6"/>
                <OperMode mode="FPCmp" oplat="3"/>
                <OperMode mode="FPCvt" oplat="3"/>
            </FuncUnit>
            <FuncUnit type="FP-Mult/Div" quantity="1">
                <OperMode mode="FPMult" oplat="6"/>
                <OperMode mode="FPDiv" oplat="30"/>
                <OperMode mode="FPSqrt" oplat="6"/>
            </FuncUnit>

        </DPModel>
    </ProcUnit>
</ProcUnitModel>