<?xml version="1.0" encoding="UTF-8"?>
<Clock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" savedConfig="false" xsi:noNamespaceSchemaLocation="../../../../../../../doc/V4/Development/Specifications/db/MCU_Clock.xsd">
    <Tree id="ClockTree">
        <!--Divers source-->
        <Element id="HSIRC" type="fixedSource" isKey="true" refParameter="HSI_VALUE" x="300" y="340">
            <Output signalId="HSI" to="SysClkSource"/>
            <Output signalId="HSI" to="PLLSource"/>
            <Output signalId="HSI" to="MCO1Mult"/>
            <Output signalId="HSI" to="FMPI2C1Mult"/>
            <Output signalId="HSI" to="HSIDivCEC"/>
        </Element>
        <Element id="HSEOSC" type="variedSource" x="200" y="475" refParameter="HSE_VALUE">
            <Output signalId="HSE" to="SysClkSource"/>
            <Output signalId="HSE" to="HSERTCDevisor"/>
            <Output signalId="HSE" to="PLLSource"/>
            <Output signalId="HSE" to="MCO1Mult"/>
            <Output signalId="HSE" to="MCO2Mult"/>
        </Element>
        <Element id="LSIRC" type="fixedSource" refParameter="LSI_VALUE" x="302" y="277">
            <Output signalId="LSI" to="IWDGOutput"/>
            <Output signalId="LSI" to="RTCClkSource"/>
        </Element>
        <Element id="LSEOSC" type="variedSource" refParameter="LSE_VALUE" x="200" y="217">
            <Output signalId="LSE" to="RTCClkSource"/>
            <Output signalId="LSE" to="MCO1Mult"/>
            <Output signalId="LSE" to="CECMult"/>
        </Element>
        <!-- ExtPin-->
        <Element id="I2S_CKIN" type="variedSource" x="200" y="825" refParameter="EXTERNAL_CLOCK_VALUE" refEnable="ExtClockEnable">
            <Output signalId="I2SExtClock" to="I2S1Mult"/>
            <Output signalId="I2SExtClock" to="I2S2Mult"/>
            <Output signalId="I2SExtClock" to="SAIAMult"/>
        </Element>
        <!--System clock-->
        <Element id="SysClkSource" type="multiplexor" refParameter="SYSCLKSource" x="668" y="345">
            <Input signalId="HSI"     from="HSIRC"  refValue="RCC_SYSCLKSOURCE_HSI"    />
            <Input signalId="HSE"     from="HSEOSC" refValue="RCC_SYSCLKSOURCE_HSE"    />
            <Input signalId="PLLCLK"  from="PLLP"   refValue="RCC_SYSCLKSOURCE_PLLCLK" />
            <Input signalId="PLLRCLK" from="PLLR"   refValue="RCC_SYSCLKSOURCE_PLLRCLK"/>
            <Output signalId="SYSCLKInput" to="SysCLKOutput"/>
            <Output signalId="SYSCLKInput" to="MCO2Mult"    />
        </Element>
        <Element id="SysCLKOutput" type="output" refParameter="SYSCLKFreq_VALUE" x="706" y="379">
            <Input signalId="SYSCLKInput" from="SysClkSource"/>
            <Output signalId="SYSCLK" to="AHBPrescaler"/>
            <Output signalId="SYSCLK" to="PWRCLKoutput"/>
            <Output signalId="SYSCLK" to="SDIOMult"    />
            <Output signalId="SYSCLK" to="FMPI2C1Mult" />
        </Element>
        <!--Main PLL source-->
        <Element id="PLLSource" type="multiplexor" refParameter="PLLSourceVirtual" orientation="LEFT" x="390" y="445">
            <Input signalId="HSI" from="HSIRC"  refValue="RCC_PLLSOURCE_HSI"/>
            <Input signalId="HSE" from="HSEOSC" refValue="RCC_PLLSOURCE_HSE"/>
            <Output signalId="PLLSRC" to="PLLM"    />
            <Output signalId="PLLSRC" to="PLLSAIM" />
            <Output signalId="PLLSRC" to="PLLI2SM" />
            <Output signalId="PLLSRC" to="I2S1Mult"/>
            <Output signalId="PLLSRC" to="I2S2Mult"/>
            <Output signalId="PLLSRC" to="SAIBMult"/>
        </Element>
        <Element id="PLLM" type="devisor" refParameter="PLLM" x="431" y="460">
            <Input signalId="PLLSRC" from="PLLSource"/>
            <Output signalId="VCOInput" to="PLLN"/>
        </Element>
        <Element id="PLLSAIM" type="devisor" refParameter="PLLSAIM" x="431" y="591">
            <Input signalId="PLLSRC" from="PLLSource"/>
            <Output signalId="VCOSAIInput" to="PLLSAIN"/>
        </Element>
        <Element id="PLLI2SM" type="devisor" refParameter="PLLI2SM" x="431" y="710">
            <Input signalId="PLLSRC" from="PLLSource"/>
            <Output signalId="VCOI2SInput" to="PLLI2SN"/>
        </Element>
        <!--IP clock-->
        <Element id="HSERTCDevisor" type="devisor" refParameter="RCC_RTC_Clock_Source_FROM_HSE" x="414" y="187" refEnable="EnableHSERTCDevisor">
            <Input signalId="HSE" from="HSEOSC"/>
            <Output signalId="HSE_RTC"  to="RTCClkSource" />
        </Element>
        <Element id="RTCClkSource" type="multiplexor" refParameter="RCC_RTC_Clock_SourceVirtual" x="527" y="188" refEnable="RTCEnable">
            <Input signalId="HSE_RTC" from="HSERTCDevisor"                         />
            <Input signalId="LSE"     from="LSEOSC" refValue="RCC_RTCCLKSOURCE_LSE"/>
            <Input signalId="LSI"     from="LSIRC"  refValue="RCC_RTCCLKSOURCE_LSI"/>
            <Output signalId="RTCCLK" to="RTCOutput"/>
        </Element>
        <Element id="RTCOutput" type="output" refParameter="RTCFreq_Value" x="586" y="221" refEnable="RTCEnable">
            <Input signalId="RTCCLK" from="RTCClkSource"/>
        </Element>
        <Element id="IWDGOutput" type="output" refParameter="WatchDogFreq_Value" x="585" y="280" refEnable="IWDGEnable" >
            <Input signalId="LSI" from="LSIRC"/>
        </Element>
        <Element id="HSIDivCEC" type="devisor" refParameter="HSI_Div_CEC" x="880" y="175" >
            <Input signalId="HSI" from="HSIRC"/>
            <Output signalId="HSI_CEC" to="CECMult" />
        </Element>
        <Element id="CECMult" type="multiplexor" refParameter="CECClockSelection" orientation="LEFT" x="952" y="179" refEnable="CECEnable">
            <Input signalId="HSI_CEC" from="HSIDivCEC" refValue="RCC_CECCLKSOURCE_HSI"/>
            <Input signalId="LSE"     from="LSEOSC"    refValue="RCC_CECCLKSOURCE_LSE"/>
            <Output signalId="CECCLK" to="CECOutput"/>
        </Element>
        <Element id="CECOutput" type="activeOutput" refParameter="CECFreq_Value" x="1093" y="194" refEnable="CECEnable">
            <Input signalId="CECCLK" from="CECMult"/>
        </Element>
        <Element id="FMPI2C1Mult" type="multiplexor" refParameter="FMPI2C1Selection" orientation="LEFT" x="1040" y="1008" refEnable="EnableFMPI2C1">
            <Input signalId="HSI"    from="HSIRC"         refValue="RCC_FMPI2C1CLKSOURCE_HSI"   />
            <Input signalId="PCLK1"  from="APB1Prescaler" refValue="RCC_FMPI2C1CLKSOURCE_APB"   />
            <Input signalId="SYSCLK" from="SysCLKOutput"  refValue="RCC_FMPI2C1CLKSOURCE_SYSCLK"/>
           
            <Output signalId="FMPI2C1Clk" to="FMPI2C1output"/>
        </Element>
        <Element id="FMPI2C1output" type="activeOutput" refParameter="FMPI2C1Freq_Value" x="1093" y="1040" refEnable="EnableFMPI2C1">
            <Input signalId="FMPI2C1Clk" from="FMPI2C1Mult"/>
        </Element>
        <Element id="USBMult" type="multiplexor" refParameter="USBCLockSelection" orientation="LEFT" x="841" y="498" refEnable="EnableUSB,EnableSDIO">
            <Input  signalId="PLLQCLK"    from="PLLQ"    refValue="RCC_CLK48CLKSOURCE_PLLQ"   />
            <Input  signalId="PLLSAIPCLK" from="PLLSAIP" refValue="RCC_CLK48CLKSOURCE_PLLSAIP"/>
          
            <Output signalId="USBCLK" to="USBoutput"/>
            <Output signalId="USBCLK" to="SDIOMult"/>
        </Element>
        <Element id="USBoutput" type="activeOutput" refParameter="USBFreq_Value" x="1093" y="512" refEnable="EnableUSB">
            <Input signalId="USBCLK" from="USBMult"/>
        </Element>
        <Element id="SPDIFMult" type="multiplexor" refParameter="SPDIFCLockSelection" orientation="LEFT" x="1040" y="878" refEnable="EnableSPDIF">
            <Input signalId="PLLRCLK"    from="PLLR"    refValue="RCC_SPDIFRXCLKSOURCE_PLLR"   />
            <Input signalId="PLLI2SPCLK" from="PLLI2SP" refValue="RCC_SPDIFRXCLKSOURCE_PLLI2SP"/>
            <Output signalId="SPDIFCLK" to="SPDIFoutput"/>
        </Element>
        <Element id="SPDIFoutput" type="activeOutput" refParameter="SPDIFRXFreq_Value" x="1093" y="890" refEnable="EnableSPDIF">
            <Input signalId="SPDIFCLK" from="SPDIFMult"/>
        </Element>
        <Element id="SDIOMult" type="multiplexor" refParameter="SDIOCLockSelection" orientation="LEFT" x="1040" y="667" refEnable="EnableSDIO">
            <Input signalId="SYSCLK" from="SysCLKOutput" refValue="RCC_SDIOCLKSOURCE_SYSCLK"/>
            <Input signalId="USBCLK" from="USBMult"      refValue="RCC_SDIOCLKSOURCE_CLK48"  />
            <Output signalId="SDIOCLK" to="SDIOoutput"/>
        </Element>
        <Element id="SDIOoutput" type="activeOutput" refParameter="SDIOFreq_Value" x="1093" y="677" refEnable="EnableSDIO">
            <Input signalId="SDIOCLK" from="SDIOMult"/>
        </Element>
        <Element id="SAIAMult" type="multiplexor" refParameter="SAIACLockSelection" orientation="LEFT" x="930" y="563" refEnable="EnableSAIA">
		    <Input signalId="I2SExtClock"         from="I2S_CKIN"           refValue="RCC_SAI1CLKSOURCE_EXT"   />
            <Input signalId="PLLRCLK"             from="PLLR"               refValue="RCC_SAI1CLKSOURCE_PLLR"  />
            <Input signalId="PLLI2SQDivCLK"       from="PLLI2SQDiv"         refValue="RCC_SAI1CLKSOURCE_PLLI2S"/>
            <Input signalId="PLLSAIQDivCLK"       from="PLLSAIQDiv"         refValue="RCC_SAI1CLKSOURCE_PLLSAI"/>
            <Output signalId="SAIACLK" to="SAIAoutput"/>
        </Element>
        <Element id="SAIAoutput" type="activeOutput" refParameter="SAIAFreq_Value" x="1093" y="595" refEnable="EnableSAIA">
            <Input signalId="SAIACLK" from="SAIAMult"/>
        </Element>
        <Element id="SAIBMult" type="multiplexor" refParameter="SAIBCLockSelection" orientation="LEFT" x="930" y="703" refEnable="EnableSAIB">
			<Input signalId="PLLSRC"            from="PLLSource"       refValue="RCC_SAI2CLKSOURCE_PLLSRC"/>
            <Input signalId="PLLRCLK"           from="PLLR"            refValue="RCC_SAI2CLKSOURCE_PLLR"  />
            <Input signalId="PLLI2SQDivCLK"     from="PLLI2SQDiv"      refValue="RCC_SAI2CLKSOURCE_PLLI2S"/>
            <Input signalId="PLLSAIQDivCLK"     from="PLLSAIQDiv"      refValue="RCC_SAI2CLKSOURCE_PLLSAI"/>	
            <Output signalId="SAIBCLK" to="SAIBoutput"/>
        </Element>
        <Element id="SAIBoutput" type="activeOutput" refParameter="SAIBFreq_Value" x="1093" y="733" refEnable="EnableSAIB">
            <Input signalId="SAIBCLK" from="SAIBMult"/>
        </Element>
        <Element id="I2S1Mult" type="multiplexor" refParameter="I2S1CLockSelection" orientation="LEFT" x="767" y="785" refEnable="EnableI2S1">
            <Input signalId="PLLSRC"      from="PLLSource" refValue="RCC_I2SAPB1CLKSOURCE_PLLSRC"/>
            <Input signalId="PLLRCLK"     from="PLLR"      refValue="RCC_I2SAPB1CLKSOURCE_PLLR"  />
            <Input signalId="I2SExtClock" from="I2S_CKIN"  refValue="RCC_I2SAPB1CLKSOURCE_EXT"   />
            <Input signalId="PLLI2SRCLK"  from="PLLI2SR"   refValue="RCC_I2SAPB1CLKSOURCE_PLLI2S"/>
            <Output signalId="I2S1CLK" to="I2S1output"/>
        </Element>
        <Element id="I2S1output" type="activeOutput" refParameter="I2S1Freq_Value" x="1093" y="818"  refEnable="EnableI2S1">
            <Input signalId="I2S1CLK" from="I2S1Mult"/>
        </Element>
        <Element id="I2S2Mult" type="multiplexor" refParameter="I2S2CLockSelection" orientation="LEFT" x="767" y="925" refEnable="EnableI2S2">
            <Input signalId="PLLSRC"      from="PLLSource" refValue="RCC_I2SAPB2CLKSOURCE_PLLSRC"/>
            <Input signalId="PLLRCLK"     from="PLLR"      refValue="RCC_I2SAPB2CLKSOURCE_PLLR"  />
            <Input signalId="I2SExtClock" from="I2S_CKIN"  refValue="RCC_I2SAPB2CLKSOURCE_EXT"   />
            <Input signalId="PLLI2SRCLK"  from="PLLI2SR"   refValue="RCC_I2SAPB2CLKSOURCE_PLLI2S"/>
            <Output signalId="I2S2CLK" to="I2S2output"/>
        </Element>
        <Element id="I2S2output" type="activeOutput" refParameter="I2S2Freq_Value" x="1093" y="955"  refEnable="EnableI2S2">
            <Input signalId="I2S2CLK" from="I2S2Mult"/>
        </Element>
        <!--MCO Mux-->
        <Element id="MCO1Mult" type="multiplexor" refParameter="RCC_MCO1Source" x="460" y="872" refEnable="MCO1OutPutEnable">
            <Input signalId="LSE"    from="LSEOSC" refValue="RCC_MCO1SOURCE_LSE"   />
            <Input signalId="HSE"    from="HSEOSC" refValue="RCC_MCO1SOURCE_HSE"   />
            <Input signalId="HSI"    from="HSIRC"  refValue="RCC_MCO1SOURCE_HSI"   />
            <Input signalId="PLLCLK" from="PLLP"   refValue="RCC_MCO1SOURCE_PLLCLK"/>
            <Output signalId="MCO1DivInput" to="MCO1Div"/>
        </Element>
        <Element id="MCO1Div" type="devisor" refParameter="RCC_MCODiv1" x="383" y="905" refEnable="MCO1OutPutEnable">
            <Input signalId="MCO1DivInput" from="MCO1Mult"/>
            <Output signalId="MCO1DivOuput" to="MCO1Pin"/>
        </Element>
        <Element id="MCO1Pin" type="output" refParameter="MCO1PinFreq_Value" x="310" y="904" refEnable="MCO1OutPutEnable">
            <Input signalId="MCO1DivOuput" from="MCO1Div"/>
        </Element>
        <Element id="MCO2Mult" type="multiplexor" refParameter="RCC_MCO2Source" x="460" y="1005" refEnable="MCO2OutPutEnable">
            <Input signalId="SYSCLKInput" from="SysClkSource" refValue="RCC_MCO2SOURCE_SYSCLK"   />
            <Input signalId="PLLI2SRCLK"  from="PLLI2SR"      refValue="RCC_MCO2SOURCE_PLLI2SCLK"/>
            <Input signalId="HSE"         from="HSEOSC"       refValue="RCC_MCO2SOURCE_HSE"      />
            <Input signalId="PLLCLK"      from="PLLP"         refValue="RCC_MCO2SOURCE_PLLCLK"   />
            <Output signalId="MCO2DivInput" to="MCO2Div"/>
        </Element>
        <Element id="MCO2Div" type="devisor" refParameter="RCC_MCODiv2" x="383" y="1035" refEnable="MCO2OutPutEnable">
            <Input signalId="MCO2DivInput" from="MCO2Mult"/>
            <Output signalId="MCO2DivOuput" to="MCO2Pin"/>
        </Element>
				
        <Element id="MCO2Pin" type="output" x="310" y="1034" refParameter="MCO2PinFreq_Value" refEnable="MCO2OutPutEnable">
            <Input signalId="MCO2DivOuput" from="MCO2Div"/>
        </Element>	
        <!--AHB, APB1 and APB2 main block-->
        <Element id="AHBPrescaler" type="devisor" refParameter="AHBCLKDivider" x="799" y="381">
            <Input signalId="SYSCLK" from="SysCLKOutput"/>
            <Output signalId="HCLK" to="AHBOutput"/>
        </Element>
        <Element id="PWRCLKoutput" type="activeOutput" refParameter="PWRFreq_Value" x="1093" y="244">
            <Input signalId="SYSCLK" from="SysCLKOutput"/>
        </Element>
        <Element id="AHBOutput" type="activeOutput" isKey="true" refParameter="HCLKFreq_Value" x="870" y="379">
            <Input signalId="HCLK" from="AHBPrescaler"/>
            <Output signalId="AHBCLK" to="CortexPrescaler"  />
            <Output signalId="AHBCLK" to="HCLKOutput"       />
            <Output signalId="AHBCLK" to="FCLKCortexOutput" />
            <Output signalId="AHBCLK" to="APB1Prescaler"    />
            <Output signalId="AHBCLK" to="APB2Prescaler"    />
        </Element>
        <Element id="HCLKOutput" type="activeOutput" refParameter="AHBFreq_Value" x="1093" y="278">
            <Input signalId="AHBCLK" from="AHBOutput"/>
        </Element>
        <Element id="CortexPrescaler" type="devisor" refParameter="Cortex_Div" x="959" y="316">
            <Input signalId="AHBCLK" from="AHBOutput"/>
            <Output signalId="AHBCLK2" to="CortexSysOutput" />
        </Element>
        <Element id="CortexSysOutput" type="activeOutput" refParameter="CortexFreq_Value" x="1093" y="312">
            <Input signalId="AHBCLK2" from="CortexPrescaler"/>
        </Element>
        <Element id="FCLKCortexOutput" type="activeOutput" refParameter="FCLKCortexFreq_Value" x="1093" y="344">
            <Input signalId="AHBCLK" from="AHBOutput"/>
        </Element>
        <Element id="APB1Prescaler" type="devisor" refParameter="APB1CLKDivider" x="956" y="382">
            <Input signalId="AHBCLK" from="AHBOutput"/>
            <Output signalId="PCLK1" to="APB1Output" />
            <Output signalId="PCLK1" to="TimPrescalerAPB1" />
            <Output signalId="PCLK1" to="FMPI2C1Mult" />
        </Element>		
        <Element id="APB1Output" type="activeOutput" refParameter="APB1Freq_Value" x="1093" y="380">
            <Input signalId="PCLK1" from="APB1Prescaler"/>
        </Element>
        <Element id="TimPrescalerAPB1" type="multiplicator" refParameter="APB1TimCLKDivider" x="1043" y="417">
            <Input signalId="PCLK1" from="APB1Prescaler"/>
            <Output signalId="TimCLK" to="TimPrescOut1"/>
        </Element>
        <Element id="TimPrescOut1" type="activeOutput" refParameter="APB1TimFreq_Value" x="1093" y="413">
            <Input signalId="TimCLK" from="TimPrescalerAPB1"/>
        </Element>
        <Element id="APB2Prescaler" type="devisor" refParameter="APB2CLKDivider" x="956" y="450">
            <Input signalId="AHBCLK" from="AHBOutput"/>
            <Output signalId="PCLK2" to="APB2Output" />
            <Output signalId="PCLK2" to="TimPrescalerAPB2" />
        </Element>
        <Element id="APB2Output" type="activeOutput" refParameter="APB2Freq_Value" x="1093" y="450">
            <Input signalId="PCLK2" from="APB2Prescaler"/>
        </Element>
        <Element id="TimPrescalerAPB2" type="multiplicator" refParameter="APB2TimCLKDivider" x="1045" y="485">
            <Input signalId="PCLK2" from="APB2Prescaler"/>
            <Output signalId="PeriphCLK" to="TimPrescOut2"/>
        </Element>
        <Element id="TimPrescOut2" type="activeOutput" refParameter="APB2TimFreq_Value" x="1093" y="483">
            <Input signalId="PeriphCLK" from="TimPrescalerAPB2"/>
        </Element>
        <!--Main PLL-->
        <Tree id="PLL">
            <Element id="PLLN" type="multiplicator" refParameter="PLLN" x="498" y="460" >
                <Input signalId="VCOInput" from="PLLM"/>
                <Output signalId="VCOOutput" to="PLLQ"/>
                <Output signalId="VCOOutput" to="PLLP"/>
                <Output signalId="VCOOutput" to="PLLR"/>
            </Element> 
            <Element id="PLLP" type="devisor" refParameter="PLLP" x="566" y="460">
                <Input signalId="VCOOutput" from="PLLN"/>
                <Output signalId="PLLCLK" to="SysClkSource"/>
                <Output signalId="PLLCLK" to="MCO1Mult"/>
                <Output signalId="PLLCLK" to="MCO2Mult"/>
            </Element>
            <Element id="PLLQ" type="devisor" refParameter="PLLQ" x="566" y="498" refEnable="EnableUSB,EnableSDIO">
                <Input signalId="VCOOutput" from="PLLN"/>
                <Output signalId="PLLQCLK" to="USBMult"/>
            </Element>
            <Element id="PLLR" type="devisor" refParameter="PLLR" x="566" y="532" >
                <Input signalId="VCOOutput" from="PLLN"/>
                <Output signalId="PLLRCLK" to="SysClkSource"/>
                <Output signalId="PLLRCLK" to="SAIAMult"/>
                <Output signalId="PLLRCLK" to="SAIBMult"/>
                <Output signalId="PLLRCLK" to="I2S1Mult"/>
                <Output signalId="PLLRCLK" to="I2S2Mult"/>
                <Output signalId="PLLRCLK" to="SPDIFMult"/>
            </Element>
        </Tree>
        <Tree id="PLLSAI">
            <Element id="PLLSAIN" type="multiplicator" refParameter="PLLSAIN" x="498" y="591" >
                <Input signalId="VCOSAIInput" from="PLLSAIM"/>
                <Output signalId="VCOSAIOutput" to="PLLSAIQ"/>
                <Output signalId="VCOSAIOutput" to="PLLSAIP"/>
                 
            </Element>
            <Element id="PLLSAIP" type="devisor" refParameter="PLLSAIP" x="566" y="591" refEnable="EnableUSB,EnableSDIO">
                <Input signalId="VCOSAIOutput" from="PLLSAIN"/>
                <Output signalId="PLLSAIPCLK" to="PLLSAIoutput"/>
                <Output signalId="PLLSAIPCLK" to="USBMult"/>
            </Element>
            <Element id="PLLSAIoutput" type="output" refParameter="PLLSAIoutputFreq_Value" x="628" y="589" refEnable="EnableUSB,EnableSDIO">
                <Input signalId="PLLSAIPCLK" from="PLLSAIP"/>
            </Element>
            <Element id="PLLSAIQ" type="devisor" refParameter="PLLSAIQ" x="566" y="630" refEnable="EnableSAIB,EnableSAIA">
                <Input signalId="VCOSAIOutput" from="PLLSAIN"/>
                <Output signalId="PLLSAIQCLK" to="PLLSAIQDiv"/>
            </Element>
            <Element id="PLLSAIQDiv" type="devisor" refParameter="PLLSAIQDiv" x="627" y="630" refEnable="EnableSAIB,EnableSAIA">
                <Input signalId="PLLSAIQCLK" from="PLLSAIQ"/>
                <Output signalId="PLLSAIQDivCLK" to="SAIAMult"/>
                <Output signalId="PLLSAIQDivCLK" to="SAIBMult"/>
            </Element>
            
        </Tree>
        <Tree id="PLLI2S">
            <Element id="PLLI2SN" type="multiplicator" refParameter="PLLI2SN" x="500" y="710" >
                <Input signalId="VCOI2SInput" from="PLLI2SM"/>
                <Output signalId="VCOI2SOutput" to="PLLI2SP"/>
                <Output signalId="VCOI2SOutput" to="PLLI2SQ"/>
                <Output signalId="VCOI2SOutput" to="PLLI2SR"/>
            </Element>
            <Element id="PLLI2SP" type="devisor" refParameter="PLLI2SP" x="566" y="710" refEnable="EnableSPDIF">
                <Input signalId="VCOI2SOutput" from="PLLI2SN"/>
                <Output signalId="PLLI2SPCLK" to="PLLI2Soutput"/>
                <Output signalId="PLLI2SPCLK" to="SPDIFMult"/>
            </Element>
            <Element id="PLLI2Soutput" type="output" refParameter="PLLI2SoutputFreq_Value" x="628" y="708" refEnable="EnableSPDIF">
                <Input signalId="PLLI2SPCLK" from="PLLI2SP"/>
				
            </Element>
            <Element id="PLLI2SQ" type="devisor" refParameter="PLLI2SQ" x="566" y="745" refEnable="EnableSAIB,EnableSAIA">
                <Input signalId="VCOI2SOutput" from="PLLI2SN"/>
                <Output signalId="PLLI2SQCLK" to="PLLI2SQDiv"/>
               
            </Element>
            <Element id="PLLI2SQDiv" type="devisor" refParameter="PLLI2SQDiv" x="627" y="745" refEnable="EnableSAIB,EnableSAIA">
                <Input signalId="PLLI2SQCLK" from="PLLI2SQ"/>
                <Output signalId="PLLI2SQDivCLK" to="SAIAMult"/>
                <Output signalId="PLLI2SQDivCLK" to="SAIBMult"/>
            </Element>
            <Element id="PLLI2SR" type="devisor" refParameter="PLLI2SR" x="566" y="782" refEnable="EnableI2S2,EnableI2S1,MCO2OutPutEnable">
                <Input signalId="VCOI2SOutput" from="PLLI2SN"/>
                <Output signalId="PLLI2SRCLK" to="I2S1Mult"/>
                <Output signalId="PLLI2SRCLK" to="I2S2Mult"/>
                <Output signalId="PLLI2SRCLK" to="MCO2Mult"/>
				
            </Element>
			
        </Tree>
    </Tree>
    <Signals>
        <Signal id="VCOInput"     refParameter="VCOInputFreq_Value"/>
        <Signal id="VCOOutput"    refParameter="VCOOutputFreq_Value"/> 
        <Signal id="PLLCLK"       refParameter="PLLCLKFreq_Value"/>
        <Signal id="PLLQCLK"      refParameter="PLLQCLKFreq_Value"/>
        <Signal id="PLLRCLK"      refParameter="PLLRCLKFreq_Value"/>
		
        <Signal id="VCOSAIInput"  refParameter="VCOSAIInputFreq_Value"/>
        <Signal id="VCOSAIOutput" refParameter="VCOSAIOutputFreq_Value"/>
        <Signal id="PLLSAIPCLK"   refParameter="PLLSAIPCLKFreq_Value"/>
        <Signal id="PLLSAIQCLK"   refParameter="PLLSAIQCLKFreq_Value"/>
		
        <Signal id="VCOI2SInput"   refParameter="VCOI2SInputFreq_Value"/>
        <Signal id="VCOI2SOutput"  refParameter="VCOI2SOutputFreq_Value"/>
        <Signal id="PLLI2SPCLK"    refParameter="PLLI2SPCLKFreq_Value"/>
        <Signal id="PLLI2SRCLK"    refParameter="PLLI2SRCLKFreq_Value"/>
        <Signal id="PLLI2SQCLK"    refParameter="PLLI2SQCLKFreq_Value"/>
			 
        <Signal id="HSI"/>
        <Signal id="HSE"/>
        <Signal id="LSI"/>
        <Signal id="LSE"/>
        <Signal id="I2SExtClock"/>
        <Signal id="SYSCLKInput"/>
        <Signal id="SYSCLK"/>
        <Signal id="PLLSRC"/>
        <Signal id="HSE_RTC"/>
        <Signal id="RTCCLK"/>
        <Signal id="HSI_CEC"/>
        <Signal id="CECCLK"/>
        <Signal id="PCLK1"/>
        <Signal id="FMPI2C1Clk"/>
        <Signal id="USBCLK"/>
        <Signal id="SPDIFCLK"/>
        <Signal id="SDIOCLK"/>
        <Signal id="PLLI2SQDivCLK"/>
        <Signal id="PLLSAIQDivCLK"/>
        <Signal id="SAIACLK"/>
        <Signal id="SAIBCLK"/>
        <Signal id="I2S1CLK"/>
        <Signal id="I2S2CLK"/>
        <Signal id="MCO1DivInput"/>
        <Signal id="MCO1DivOuput"/>
        <Signal id="MCO2DivInput"/>
        <Signal id="MCO2DivOuput"/>
        <Signal id="HCLK"/>
        <Signal id="AHBCLK"/>
        <Signal id="AHBCLK2"/>
        <Signal id="TimCLK"/>
        <Signal id="PCLK2"/>
        <Signal id="PeriphCLK"/>
        
        
       
        
		
		
    </Signals>
    <!--RTC labels-->
    <Label id="RTCMuxLabel"       type="muxLabel"    text="RTC Clock Mux" posX="511" posY="159" refEnable="RTCEnable"/>
    <Label id="RTCOutputLabel"    type="SpecialInfo" text="To RTC (KHz)"  posX="648" posY="224" refEnable="RTCEnable"/>
    <Label id="LSEForRTCLabel"    type="signal"      text="LSE"     posX="500" posY="212" refEnable="EnableLSERTC"/>
    <Label id="LSIForRTCLabel"    type="signal"      text="LSI"     posX="500" posY="246" refEnable="RTCEnable"/>
    <Label id="HSEForRTCLabel"    type="signal"      text="HSE"     posX="385" posY="178" refEnable="EnableHSERTCDevisor"/>
    <Label id="HSERTCForRTCLabel" type="signal"      text="HSE_RTC" posX="476" posY="178" refEnable="EnableHSERTCDevisor"/>
    <!--HDMI_CEC labels-->
    <Label id="CECMuxLabel"    type="SpecialInfo" posX="922"  posY="149" text="CEC Clock Mux" refEnable="CECEnable"/>
    <Label id="CECLabel"       type="SpecialInfo" posX="1152" posY="199" text="To CEC (KHz)"  refEnable="CECEnable"/>
    <Label id="CECMuxHSILabel" type="signal"      posX="850"  posY="169" text="HSI" refEnable="CECEnable"/>
    <Label id="CECMuxSYSLabel" type="signal"      posX="918"  posY="205" text="LSE" refEnable="CECEnable"/>
    <!--SDIO labels-->
    <Label id="SDIOMuxLabel"    type="SpecialInfo" posX="1010"   posY="630" text="SDIO Clock Mux" refEnable="EnableSDIO"/>
    <Label id="SDIOLabel"       type="SpecialInfo" posX="1152"   posY="680" text="To SDIO (MHz)"  refEnable="EnableSDIO"/>
    <Label id="SDIOMuxHSILabel" type="signal"      posX="990"   posY="655" text="Sysclk" refEnable="EnableSDIO"/>
    <Label id="SDIOMuxSYSLabel" type="signal"      posX="990"   posY="690" text="PLL48CLK" refEnable="EnableSDIO"/>
    <!--SPDIF labels-->
    <Label id="SPDIFMuxLabel"    type="SpecialInfo" posX="1010"   posY="845" text="SPDIFRX Clock Mux" refEnable="EnableSPDIF"/>
    <Label id="SPDIFLabel"       type="SpecialInfo" posX="1152"   posY="890" text="To SPDIFRX (MHz)"  refEnable="EnableSPDIF"/>
    <Label id="SPDIFMuxHSILabel" type="signal"      posX="990"   posY="867" text="PLLR" refEnable="EnableSPDIF"/>
    <Label id="SPDIFMuxSYSLabel" type="signal"      posX="990"   posY="904" text="PLLI2SP" refEnable="EnableSPDIF"/>
    <!--FMPI2C1 labels-->
    <Label id="FMPI2C1MuxLabel"    type="SpecialInfo" posX="1010"   posY="980" text="FMPI2C1 Clock Mux" refEnable="EnableFMPI2C1"/>
    <Label id="FMPI2C1Label"       type="SpecialInfo" posX="1152"   posY="1045" text="To FMPI2C1 (MHz)"  refEnable="EnableFMPI2C1"/>
    <Label id="FMPI2C1MuxHSILabel" type="signal"      posX="990"   posY="1000" text="HSI" refEnable="EnableFMPI2C1"/>
    <Label id="FMPI2C1MuxSYSLabel" type="signal"      posX="990"   posY="1035" text="PCLK1" refEnable="EnableFMPI2C1"/>
    <Label id="FMPI2C1MuxSYSLabel" type="signal"      posX="990"   posY="1070" text="Sysclk" refEnable="EnableFMPI2C1"/>
    <!--USB labels-->
    <Label id="USBMuxLabel"    type="SpecialInfo" posX="817"   posY="464"  text="PLL48CLK Mux" refEnable="EnableUSB,EnableSDIO"/>
    <Label id="USBLabel"       type="SpecialInfo" posX="1152"  posY="516"  text="To USB (MHz)"  refEnable="EnableUSB"/>
    <Label id="USBMuxHSILabel" type="signal"      posX="790"   posY="490" text="PLLQ"   refEnable="EnableUSB,EnableSDIO"/>
    <Label id="USBMuxSYSLabel" type="signal"      posX="790"   posY="530" text="PLLSAIP" refEnable="EnableUSB,EnableSDIO"/>
    <!--SAIB labels-->
    <Label id="SAIBMuxLabel"     type="SpecialInfo"  posX="900"   posY="670"  text="SAI2 Clock Mux" refEnable="EnableSAIB"/>
    <Label id="SAIBLabel"        type="SpecialInfo"  posX="1152"  posY="738"  text="To SAI2 (MHz)"  refEnable="EnableSAIB"/>
    <Label id="SAIBMuxHSILabel"  type="signal"       posX="875"   posY="690" text="PLLSRC"   refEnable="EnableSAIB"/>
    <Label id="USAIBMuxSYSLabel" type="signal"       posX="875"   posY="715" text="PLLR" refEnable="EnableSAIB"/>
    <Label id="USAIBMuxSYSLabel" type="signal"       posX="875"   posY="740" text="PLLI2SQ" refEnable="EnableSAIB"/>
    <Label id="USAIBMuxSYSLabel" type="signal"       posX="875"   posY="765" text="PLLSAIQ" refEnable="EnableSAIB"/> 
    <!--SAIA labels-->
    <Label id="SAIAMuxLabel"     type="SpecialInfo"  posX="900"   posY="530"  text="SAI1 Clock Mux" refEnable="EnableSAIA"/>
    <Label id="SAIALabel"        type="SpecialInfo"  posX="1152"  posY="600"  text="To SAI1 (MHz)"  refEnable="EnableSAIA"/>
    <Label id="SAIAMuxHSILabel"  type="signal"       posX="875"   posY="550" text="I2S_CKIN"   refEnable="EnableSAIA"/>
    <Label id="SAIAMuxSYSLabel" type="signal"        posX="875"   posY="575" text="PLLR" refEnable="EnableSAIA"/>
    <Label id="SAIAMuxSYSLabel" type="signal"        posX="875"   posY="600" text="PLLI2SQ" refEnable="EnableSAIA"/>
    <Label id="SAIAMuxSYSLabel" type="signal"        posX="875"   posY="625" text="PLLSAIQ" refEnable="EnableSAIA"/>
    
    <!--I2S1 labels-->
    <Label id="I2S1MuxLabel"     type="SpecialInfo"  posX="733"   posY="757"  text="I2S_APB1 Clock Mux" refEnable="EnableI2S1"/>
    <Label id="I2S1Label"        type="SpecialInfo"  posX="1152"  posY="823"  text="To I2S_APB1 CLK (MHz)"  refEnable="EnableI2S1"/>
    <Label id="I2S1MuxHSILabel"  type="signal"       posX="710"   posY="775" text="PLLSRC"   refEnable="EnableI2S1"/>
    <Label id="I2S1MuxSYSLabel" type="signal"        posX="710"   posY="800" text="PLLR" refEnable="EnableI2S1"/>
    <Label id="I2S1MuxSYSLabel" type="signal"        posX="710"   posY="825" text="I2S_CKIN" refEnable="EnableI2S1"/>
    <Label id="I2S1MuxSYSLabel" type="signal"        posX="710"   posY="850" text="PLLI2SR" refEnable="EnableI2S1"/>

          
    <!--I2S2 labels-->
    <Label id="I2S2MuxLabel"     type="SpecialInfo"   posX="735"   posY="890"  text="I2S_APB2 Clock Mux" refEnable="EnableI2S2"/>
    <Label id="I2S2Label"        type="SpecialInfo"   posX="1152"  posY="958"  text="To I2S_APB2 CLK (MHz)"  refEnable="EnableI2S2"/>
    <Label id="I2S2MuxHSILabel"  type="signal"        posX="710"   posY="910"  text="PLLSRC"   refEnable="EnableI2S2"/>
    <Label id="I2S2MuxSYSLabel"  type="signal"        posX="710"   posY="935"  text="PLLR" refEnable="EnableI2S2"/>
    <Label id="I2S2MuxSYSLabel"  type="signal"        posX="710"   posY="960"  text="I2S_CKIN" refEnable="EnableI2S2"/>
    <Label id="I2S2MuxSYSLabel"  type="signal"        posX="710"   posY="985"  text="PLLI2SR" refEnable="EnableI2S2"/> 
    <!--sysclock labels-->
    <Label id="SystemCLKMuxLabel" type="muxLabel" posX="632" posY="315" text="System Clock Mux"/>
    <Label id="SystemHSILabel"    type="signal"   posX="640" posY="330" text="HSI"/>
    <Label id="SystemHSELabel"    type="signal"   posX="640" posY="360" text="HSE" refEnable="EnableHSE"/>
    <Label id="SystemPLLCLKLabel" type="signal"   posX="630" posY="385" text="PLLCLK"/>
    <Label id="SystemPLLCLKLabel" type="signal"   posX="639" posY="408" text="PLLR"/>
    <Label id="SYSCLKLabel"       type="info"     posX="703" posY="360" text="SYSCLK (MHz)"/>
    <!--PLL Source labels-->
    <Label id="PLLSourcMuxLabel"    type="muxLabel" text="PLL Source Mux" posX="370" posY="416"/>
    <Label id="PLLSourcMuxHSILabel" type="signal"   text="HSI"            posX="365" posY="435"/>
    <Label id="PLLSourcMuxHSELabel" type="signal"   text="HSE"  		  posX="364" posY="472" refEnable="EnableHSE"/>
    <!--Main PLL labels-->
    <Label id="PLLMLabel"       type="info" text="PLLM"     posX="440" posY="446"/>
    <Label id="PLLNLabel"       type="info" text="*N"       posX="520" posY="483"/>
    <Label id="PLLPLabel"       type="info" text="/P"       posX="575" posY="483"/>
    <Label id="PLLQLabel"       type="info" text="/Q"       posX="575" posY="518"/>
    <Label id="PLLRLabel"       type="info" text="/R"       posX="575" posY="551"/>
    <Label id="PLLLabel"        type="info" text="PLL"      posX="510" posY="541"/>
    <!--Main PLLSAI labels-->
    <Label id="PLLSAIMLabel"       type="info" text="PLLSAIM"     posX="440" posY="575"/>
    <Label id="PLLSAINLabel"       type="info" text="*N"          posX="520" posY="610"/>
    <Label id="PLLSAIPLabel"       type="info" text="/P"          posX="575" posY="610"/>
    <Label id="PLLSAIQLabel"       type="info" text="/Q"          posX="575" posY="650"/>
    <Label id="PLLSAIRLabel"       type="info" text="/R"          posX="575" posY="551"/>
    <Label id="PLLSAILabel"        type="info" text="PLLSAI"      posX="510" posY="670"/>
    <Label id="PLLSAIoutputLabel"  type="info" text="PLLSAIP"     posX="635" posY="572"/>

    <!--Main PLLI2S labels-->
    <Label id="PLLI2SMLabel"       type="info" text="PLLI2SM"      posX="440" posY="696"/>
    <Label id="PLLI2SNLabel"       type="info" text="*N"           posX="520" posY="730"/>
    <Label id="PLLI2SPLabel"       type="info" text="/P"           posX="575" posY="730"/>
    <Label id="PLLI2SQLabel"       type="info" text="/Q"           posX="575" posY="765"/>
    <Label id="PLLI2SRLabel"       type="info" text="/R"           posX="575" posY="802"/>
    <Label id="PLLI2SLabel"        type="info" text="PLLI2S"       posX="510" posY="780"/>
    <Label id="PLLI2SLabel"        type="info" text="PLLI2SP"      posX="635" posY="690"/>
    <!-- IWDG -->
    <Label id="ToIWDGLabel" type="SpecialInfo" text="To IWDG (KHz)" posX="647" posY="285" refEnable="IWDGEnable"/>
 
    <!-- source constraint label -->
    <Label id="HSIRCLabel"    type="info"       posX="302" posY="327" text="HSI RC"/>
    <Label id="HSIRCCstLabel" type="constraint" posX="302" posY="365" text="16 MHz"/>
    <Label id="LSI_RCLabel"   type="Info"       posX="302" posY="263" text="LSI RC"/>
    <Label id="LSI_RCcST"     type="constraint" posX="302" posY="302" text="32 KHz"/>
	 
    <!-- freq value label -->
    <Label id="Power" type="SpecialInfo" posX="1152" posY="250" text="To Power (MHz)"/>
    <Label id="HCLK1" type="SpecialInfo" posX="1152" posY="283" text="HCLK to AHB bus, core, memory and DMA (MHz)"/>
    <Label id="HCLK2" type="SpecialInfo" posX="1152" posY="317" text="To Cortex System timer (MHz)"/>
    <Label id="HCLK3" type="SpecialInfo" posX="1152" posY="350" text="FCLK Cortex clock (MHz)"/>
    <Label id="HCLK4" type="SpecialInfo" posX="1152" posY="384" text="APB1 peripheral clocks (MHz)"/>
    <Label id="HCLK5" type="SpecialInfo" posX="1152" posY="417" text="APB1 Timer clocks (MHz)"/>
    <Label id="HCLK6" type="SpecialInfo" posX="1152" posY="453" text="APB2 peripheral clocks (MHz)"/>
    <Label id="HCLK7" type="SpecialInfo" posX="1152" posY="488" text="APB2 timer clocks (MHz)"/>
	
    <!-- APB label -->
    <Label id="APB1Presc" type="Info" posX="953" posY="367" text="APB1 Prescaler"/>
    <Label id="APB2Presc" type="Info" posX="953" posY="435" text="APB2 Prescaler"/>
	
    <Label id="ABP1labelPCLK1" type="signal" text="PCLK1" posX="1040" posY="377" />
    <Label id="ABP2labelPCLK2" type="signal" text="PCLK2" posX="1040" posY="445" />
	
    <Label id="HCLKLabel"         type="info" posX="870" posY="360" text="HCLK (MHz)"/>
    <Label id="AHBPrescalerLabel" type="info" posX="798" posY="360" text="AHB Prescaler"/>
	
    <Label id="AHBMaxLimitConstraint"  type="dynamiConstraint" posX="870"  posY="403" text="168 MHz max"/>
    <Label id="APB1MaxLimitConstraint" type="dynamiConstraint" posX="1033" posY="398" text="42 MHz max"/>
    <Label id="APB2MaxLimitConstraint" type="dynamiConstraint" posX="1033" posY="464" text="84 MHz max"/>
    <!--MCO1/2-->
    <Label id="MCO2Label" type="info" text="(MHz) MCO2" posX="220" posY="1040" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO2MuxLabel" type="muxLabel" text="MCO2 source Mux" posX="435" posY="973" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO2SYSCLKLabel" type="signal" text="SYSCLK" posX="505" posY="993" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO2PLLI2SLabel" type="signal" text="PLLI2SCLK" posX="494" posY="1019" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO2HSELabel" type="signal" text="HSE" posX="520" posY="1044" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO2PLLLabel" type="signal" text="PLLCLK" posX="510" posY="1070" refEnable="MCO2OutPutEnable"/>
    <Label id="MCO1MuxLabel" type="muxLabel" text="MCO1 source Mux" posX="435" posY="840" refEnable="MCO1OutPutEnable"/>
    <Label id="MCO1Label" type="info" text="(MHz) MCO1" posX="220" posY="908" refEnable="MCO1OutPutEnable"/>
    <Label id="MCO1LSELabel" type="signal" text="LSE" posX="520" posY="860" refEnable="MCO1OutPutEnable"/>
    <Label id="MCO1HSELabel" type="signal" text="HSE" posX="520" posY="885" refEnable="MCO1OutPutEnable"/>
    <Label id="MCO1HSILabel" type="signal" text="HSI" posX="520" posY="910" refEnable="MCO1OutPutEnable"/>
    <Label id="MCO1PLLLabel" type="signal" text="PLLCLK" posX="510" posY="936" refEnable="MCO1OutPutEnable"/>

	
	<BButton id="CSSEnable" text="CSS"  refParameter="EnbaleCSS" x="657" y="457" />

</Clock>


