<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0" Name="RCC" Version="STM32F411-rcc_v1_0" IPType="peripheral" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd">
	<About>RCC: Reset and Clock Control</About>
	<RefParameter Visible="false" Comment="Oscillator Type" DefaultValue="+OscillatorTypeHSI+|OscillatorTypeLSI+|OscillatorTypeHSE+|OscillatorTypeLSE" Name="OscillatorType" Type="list"/>
     <RefParameter Name="HSE_Timout"   Comment="HSE Startup Timout Value (ms)" Type="integer" DefaultValue="100" Min="1"  Max="4294967295" Group="RCC Parameters"/>
	 <RefParameter Name="LSE_Timout"   Comment="LSE Startup Timout Value (ms)" Type="integer" DefaultValue="5000" Min="1" Max="4294967295"  Group="RCC Parameters"/>
	 
	 
	 <!--	<RefParameter Visible="false" Comment="Clock Type HSE" DefaultValue="" Name="OscillatorTypeHSE" Type="list">
            <Condition Diagnostic="HSE Is OFF" Expression="HSEState=OFF"/>
    </RefParameter>-->
	<!-- LSI state control -->
	<RefParameter Visible="false" Comment="Clock Type LSI" DefaultValue="" Name="OscillatorTypeLSI" Type="list">
		<Condition Diagnostic="WDOG is activated Or RTC source = LSI " Expression="LSIUsed=0"/>
		<PossibleValue Comment="" Value=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Type LSI" DefaultValue="RCC_OSCILLATORTYPE_LSI" Name="OscillatorTypeLSI" Type="list">
		<PossibleValue Comment="LSI" Value="RCC_OSCILLATORTYPE_LSI"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSI used flag" DefaultValue="1" Name="LSIUsed" Type="integer" Min="1" Max="1">
		<Condition Expression="(SEM2RCC_LSI_REQUIRED_TIM5 &amp; TIM5 &amp; Semaphore_input_Channel4TIM5)|IWDGUsed_ForRCC|((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI)&amp;(RTCUsed_ForRCC))" Diagnostic=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSI used flag" DefaultValue="0" Name="LSIUsed" Type="integer" Min="0" Max="0"/>
	<RefParameter Visible="false" Comment="Lsi State" DefaultValue="RCC_LSI_OFF" Name="LSIState" Type="list">
		<Condition Expression="LSIUsed=0" Diagnostic=""/>
		<PossibleValue Comment="Lsi Off" Value="RCC_LSI_OFF"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Lsi State" DefaultValue="RCC_LSI_ON" Name="LSIState" Type="list">
		<PossibleValue Comment="Lsi ON" Value="RCC_LSI_ON"/>
	</RefParameter>
	<!-- HSE state control -->
	<RefParameter Visible="false" Comment="Clock Type HSE" DefaultValue="" Name="OscillatorTypeHSE" Type="list">
		<Condition Expression="HSEUsed=0" Diagnostic="if HSE source not used"/>
		<PossibleValue Comment="" Value=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Type HSE" DefaultValue="RCC_OSCILLATORTYPE_HSE" Name="OscillatorTypeHSE" Type="list">
		<PossibleValue Comment="HSE" Value="RCC_OSCILLATORTYPE_HSE"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSE used flag" DefaultValue="1" Name="HSEUsed" Type="integer" Min="1" Max="1">
		<Condition Expression="(((HSEByPass|HSEOscillator)&amp;SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|(RTCUsed_ForRCC&amp;!((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)|(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI)))|((PLLSource=RCC_PLLSOURCE_HSE) &amp; (PLLUsed=1))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSE)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_HSE)|(RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK &amp;((PLLSource=RCC_PLLSOURCE_HSE))) &amp;(MCO2Config))" Diagnostic="SYSCLK source OR PLL source OR RTC source OR MCO1 source OR MCO2 source"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSE Is Used" DefaultValue="0" Name="HSEUsed" Min="0" Type="integer"/>
	<RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_BYPASS" Name="HSEState" Type="list">
		<Condition Diagnostic="HSE BYPass" Expression="HSEByPass"/>
		<PossibleValue Comment="Hse Bypass" Value="RCC_HSE_BYPASS" Semaphore="HSEEnabled"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_ON" Name="HSEState" Type="list">
		<Condition Diagnostic="HSE ON" Expression="HSEOscillator"/>
		<PossibleValue Comment="Hse ON" Value="RCC_HSE_ON" Semaphore="HSEEnabled"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_OFF" Name="HSEState" Type="list">
		<PossibleValue Comment="Hse Off" Value="RCC_HSE_OFF"/>
	</RefParameter>
	<!-- LSE state control -->
	<RefParameter Visible="false" Comment="Clock Type LSE" DefaultValue="" Name="OscillatorTypeLSE" Type="list">
		<Condition Diagnostic="LSE Is OFF" Expression="LSEUsed=0"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Type LSE" DefaultValue="RCC_OSCILLATORTYPE_LSE" Name="OscillatorTypeLSE" Type="list">
		<PossibleValue Comment="LSE" Value="RCC_OSCILLATORTYPE_LSE"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="1" Name="LSEUsed" Min="1" Type="integer">
		<Condition Expression="(SEM2RCC_LSE_REQUIRED_TIM5 &amp; TIM5 &amp; Semaphore_input_Channel4TIM5)|(RCC_MCO1Source=RCC_MCO1SOURCE_LSE)|((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)&amp;RTCUsed_ForRCC)" Diagnostic="LSE is used if "/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="0" Name="LSEUsed" Min="0" Type="integer"/>
	<RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_BYPASS" Name="LSEState" Type="list">
		<Condition Diagnostic="LSE BYPass" Expression="LSEByPass"/>
		<PossibleValue Comment="Lse Bypass" Value="RCC_LSE_BYPASS"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_ON" Name="LSEState" Type="list">
		<Condition Diagnostic="LSE ON" Expression="LSEOscillator"/>
		<PossibleValue Comment="Lse ON" Value="RCC_LSE_ON"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_OFF" Name="LSEState" Type="list">
		<PossibleValue Comment="Lse Off" Value="RCC_LSE_OFF"/>
		<PossibleValue Comment="Lse On" Value="RCC_LSE_ON"/>
		<PossibleValue Comment="Lse Bypass" Value="RCC_LSE_BYPASS"/>
	</RefParameter>
	<!-- HSI state control -->
	<RefParameter Visible="false" Comment="Clock Type HSI" DefaultValue="" Name="OscillatorTypeHSI" Type="list">
		<Condition Diagnostic="HSI Is OFF" Expression="HSIUsed=0"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Type HSI" DefaultValue="RCC_OSCILLATORTYPE_HSI" Name="OscillatorTypeHSI" Type="list">
		<PossibleValue Comment="HSI" Value="RCC_OSCILLATORTYPE_HSI"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSI Is Used" DefaultValue="1" Name="HSIUsed" Min="1" Type="integer">
		<Condition Expression="(((PLLSource=RCC_PLLSOURCE_HSI) &amp; (PLLUsed=1))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSI)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSI)&amp;(MCO1Config)))" Diagnostic="LSE is used if "/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSI is Used" DefaultValue="0" Name="HSIUsed" Min="0" Type="integer"/>
	<RefParameter Visible="false" Comment="Hsi State" DefaultValue="RCC_HSI_OFF" Name="HSIState" Type="list">
		<Condition Expression="HSIUsed=0" Diagnostic=""/>
		<PossibleValue Comment="Hsi Off" Value="RCC_HSI_OFF"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Hsi State" DefaultValue="RCC_HSI_ON" Name="HSIState" Type="list">
		<PossibleValue Comment="Hsi On" Value="RCC_HSI_ON"/>
	</RefParameter>
        
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForSys" Min="1" Max="1" Type="integer">
            <Condition Expression="(SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK)|((RCC_MCO1Source=RCC_MCO1SOURCE_PLLCLK)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLCLK)&amp;(MCO2Config))" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForSys" Min="0" Max="0" Type="integer"/>
        
        <!-- PLLUsedForCK48 used -->
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForCK48" Min="1" Max="1" Type="integer">
            <Condition Expression="(USB_OTG_FSUsed_ForRCC|USB_OTG_HSEmbeddedPHYUsed_ForRCC|SDIOUsed_ForRCC|RNGUsed_ForRCC)" Diagnostic=" "/>
        </RefParameter>
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForCK48" Min="0" Max="0" Type="integer"/>
<!-- PLLUsedForI2S used -->
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLI2SUsedForI2S" Min="1" Max="1" Type="integer">
            <Condition Expression="((I2SSourceIsPll &amp; I2SUsed_ForRCC) |((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config))" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLI2SUsedForI2S" Min="0" Max="0" Type="integer"/>
	<!-- Main PLL state control-->
	<RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsed" Min="1" Type="integer">
		<Condition Expression="(SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK)|((RCC_MCO1Source=RCC_MCO1SOURCE_PLLCLK)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLCLK)&amp;(MCO2Config))|USB_OTG_HSEmbeddedPHYUsed_ForRCC|USB_OTG_FSUsed_ForRCC|SDIOUsed_ForRCC|RNGUsed_ForRCC" Diagnostic="LSE is used if "/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsed" Min="0" Type="integer"/>
	<RefParameter Visible="false" Comment="Pll State" DefaultValue="RCC_PLL_OFF" Name="PLLState" Type="list">
		<Condition Expression="PLLUsed=0" Diagnostic=""/>
		<PossibleValue Comment="Pll Off" Value="RCC_PLL_OFF"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Pll State" DefaultValue="RCC_PLL_ON" Name="PLLState" Type="list">
		<PossibleValue Comment="Pll ON" Value="RCC_PLL_ON"/>
	</RefParameter>
	<!-- <RefParameter Visible="false" Comment="Pf Latency" DefaultValue="FLASH_LATENCY_0" Name="FLatency" Type="list">
        <PossibleValue Comment="" Value="FLASH_LATENCY_0"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_1"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_2"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_3"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_4"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_5"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_6"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_7"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_8"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_9"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_10"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_11"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_12"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_13"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_14"/>
        <PossibleValue Comment="" Value="FLASH_LATENCY_15"/>
    </RefParameter> -->
	<RefParameter Visible="false" Comment="Pr Voltage" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE3" Name="RVoltage" Type="list">
		<PossibleValue Comment="" Value="PWR_REGULATOR_VOLTAGE_SCALE1"/>
		<PossibleValue Comment="" Value="PWR_REGULATOR_VOLTAGE_SCALE2"/>
		<PossibleValue Comment="" Value="PWR_REGULATOR_VOLTAGE_SCALE3"/>
	</RefParameter>
    	
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_PLLSOURCE_HSE" Name="PLLSourceVirtual" Type="list">
        <Condition Diagnostic="PLL Mux should have HSE as input" Expression="((USB_OTG_FSUsed_ForRCC|USB_OTG_HSEmbeddedPHYUsed_ForRCC)) "/>
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_PLLSOURCE_HSI" Name="PLLSourceVirtual" Type="list">
        <PossibleValue Comment="Pllsource Hsi" Value="RCC_PLLSOURCE_HSI"/>
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+PLLSourceVirtual" Name="PLLSourceVirtualString" Type="string"/>
 
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+PLLSourceVirtualString" Name="PLLSource" Type="list">
        <PossibleValue Comment="Pllsource Hsi" Value="RCC_PLLSOURCE_HSI" />
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE"/>
    </RefParameter>


	<RefParameter Visible="false" Comment="PLLM" DefaultValue="16" Max="63" Min="2" Name="PLLM" Type="integer"/>
	<RefParameter Visible="false" Comment="PLLN" DefaultValue="192" Max="432" Min="50" Name="PLLN" Type="integer"/>
	<RefParameter Visible="false" Comment="PLLP" DefaultValue="RCC_PLLP_DIV2" Name="PLLP" Type="list">
		<PossibleValue Comment="2" Value="RCC_PLLP_DIV2"/>
		<PossibleValue Comment="4" Value="RCC_PLLP_DIV4"/>
		<PossibleValue Comment="6" Value="RCC_PLLP_DIV6"/>
		<PossibleValue Comment="8" Value="RCC_PLLP_DIV8"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLQ" DefaultValue="4" Max="15" Min="2" Name="PLLQ" Type="integer"/>
	 <RefParameter Visible="false" Comment="Clock Type" DefaultValue="+ClockTypeHCLK+|ClockTypeSysClk+|ClockTypePCLK1+|ClockTypePCLK2" Name="ClockType" Type="list"/>

    <RefParameter Visible="false" Comment="Clock Type SysClk" DefaultValue="RCC_CLOCKTYPE_SYSCLK" Name="ClockTypeSysClk" Type="list">
        <PossibleValue Comment="Sysclk" Value="RCC_CLOCKTYPE_SYSCLK" Semaphore="SysClkToConfigure"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type AHB" DefaultValue="RCC_CLOCKTYPE_HCLK" Name="ClockTypeHCLK" Type="list">
        <PossibleValue Comment="RCC_CLOCKTYPE_HCLK" Value="RCC_CLOCKTYPE_HCLK" Semaphore="HCLKtoConfigure"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type HCLK1" DefaultValue="RCC_CLOCKTYPE_PCLK1" Name="ClockTypePCLK1" Type="list">
        <PossibleValue Comment="PCLK1" Value="RCC_CLOCKTYPE_PCLK1" Semaphore="PCLK1toConfigure"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type HCLK2" DefaultValue="RCC_CLOCKTYPE_PCLK2" Name="ClockTypePCLK2" Type="list">
        <PossibleValue Comment="PCLK2" Value="RCC_CLOCKTYPE_PCLK2" Semaphore="PCLK2toConfigure"/>
    </RefParameter>
	<RefParameter Visible="false" Comment="SysClock Source" DefaultValue="RCC_SYSCLKSOURCE_HSI" Name="SYSCLKSource" Type="list">
		<PossibleValue Comment="HSI" Value="RCC_SYSCLKSOURCE_HSI"/>
		<PossibleValue Comment="HSE" Value="RCC_SYSCLKSOURCE_HSE"/>
		<PossibleValue Comment="Pllclk" Value="RCC_SYSCLKSOURCE_PLLCLK"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock Divider" DefaultValue="RCC_SYSCLK_DIV1" Name="AHBCLKDivider" Type="list">
		<PossibleValue Comment="1" Value="RCC_SYSCLK_DIV1"/>
		<PossibleValue Comment="2" Value="RCC_SYSCLK_DIV2"/>
		<PossibleValue Comment="4" Value="RCC_SYSCLK_DIV4"/>
		<PossibleValue Comment="8" Value="RCC_SYSCLK_DIV8"/>
		<PossibleValue Comment="16" Value="RCC_SYSCLK_DIV16"/>
		<PossibleValue Comment="64" Value="RCC_SYSCLK_DIV64"/>
		<PossibleValue Comment="128" Value="RCC_SYSCLK_DIV128"/>
		<PossibleValue Comment="256" Value="RCC_SYSCLK_DIV256"/>
		<PossibleValue Comment="512" Value="RCC_SYSCLK_DIV512"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="APB1 Clock Divider" DefaultValue="RCC_HCLK_DIV1" Name="APB1CLKDivider" Type="list">
		<PossibleValue Comment="1" Value="RCC_HCLK_DIV1"/>
		<PossibleValue Comment="2" Value="RCC_HCLK_DIV2"/>
		<PossibleValue Comment="4" Value="RCC_HCLK_DIV4"/>
		<PossibleValue Comment="8" Value="RCC_HCLK_DIV8"/>
		<PossibleValue Comment="16" Value="RCC_HCLK_DIV16"/>
	</RefParameter>
    <!--APB1 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="1" Name="APB1TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="((APB1CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED))"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="1" Name="APB1TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV2)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="4" Name="APB1TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV4)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="4" Name="APB1TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2"/>
	
    <!--APB1 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="1" Name="APB2TimCLKDivider" Type="integer" Max="1" Min="1">
<Condition Diagnostic="" Expression="((APB2CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED))"/>  
  </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="1" Name="APB2TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV2)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="4" Name="APB2TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV4)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="4" Name="APB2TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2"/>
	

	<RefParameter Visible="false" Comment="APB2 Clock Divider" DefaultValue="RCC_HCLK_DIV1" Name="APB2CLKDivider" Type="list">
		<PossibleValue Comment="1" Value="RCC_HCLK_DIV1"/>
		<PossibleValue Comment="2" Value="RCC_HCLK_DIV2"/>
		<PossibleValue Comment="4" Value="RCC_HCLK_DIV4"/>
		<PossibleValue Comment="8" Value="RCC_HCLK_DIV8"/>
		<PossibleValue Comment="16" Value="RCC_HCLK_DIV16"/>
	</RefParameter>

	<RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO1" DefaultValue="RCC_MCO1" Type="list">
		<Condition Diagnostic="" Expression="MCO1Config"/>
		<PossibleValue Comment="Clock Output 1" Value="RCC_MCO1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO1" DefaultValue="null" Type="list"/>
	<RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO2" DefaultValue="RCC_MCO2" Type="list">
		<Condition Diagnostic="" Expression="MCO2Config"/>
		<PossibleValue Comment="Clock Output 2" Value="RCC_MCO2"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO2" DefaultValue="null" Type="list"/>
	<RefParameter Visible="false" Comment="MCO1 Clock Source" DefaultValue="RCC_MCO1SOURCE_HSI" Name="RCC_MCO1Source" Type="list">
		<PossibleValue Comment="MCO1SRC HSI" Value="RCC_MCO1SOURCE_HSI"/>
		<PossibleValue Comment="MCO1SRC LSE" Value="RCC_MCO1SOURCE_LSE"/>
		<PossibleValue Comment="MCO1SRC HSE" Value="RCC_MCO1SOURCE_HSE"/>
		<PossibleValue Comment="MCO1SRC PLLCLK" Value="RCC_MCO1SOURCE_PLLCLK"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="MCO2 Clock Source" DefaultValue="RCC_MCO2SOURCE_SYSCLK" Name="RCC_MCO2Source" Type="list">
		<PossibleValue Comment="MCO1SRC SYSCLK" Value="RCC_MCO2SOURCE_SYSCLK"/>
		<PossibleValue Comment="MCO1SRC PLLI2SCLK" Value="RCC_MCO2SOURCE_PLLI2SCLK" />
		<PossibleValue Comment="MCO1SRC HSE" Value="RCC_MCO2SOURCE_HSE"/>
		<PossibleValue Comment="MCO1SRC PLLCLK" Value="RCC_MCO2SOURCE_PLLCLK"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="MCO1 Prescaler" DefaultValue="RCC_MCODIV_1" Name="RCC_MCODiv1" Type="list">
		<PossibleValue Comment="1" Value="RCC_MCODIV_1"/>
		<PossibleValue Comment="2" Value="RCC_MCODIV_2"/>
		<PossibleValue Comment="3" Value="RCC_MCODIV_3"/>
		<PossibleValue Comment="4" Value="RCC_MCODIV_4"/>
		<PossibleValue Comment="5" Value="RCC_MCODIV_5"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="MCO2 Prescaler" DefaultValue="RCC_MCODIV_1" Name="RCC_MCODiv2" Type="list">
		<PossibleValue Comment="1" Value="RCC_MCODIV_1"/>
		<PossibleValue Comment="2" Value="RCC_MCODIV_2"/>
		<PossibleValue Comment="3" Value="RCC_MCODIV_3"/>
		<PossibleValue Comment="4" Value="RCC_MCODIV_4"/>
		<PossibleValue Comment="5" Value="RCC_MCODIV_5"/>
	</RefParameter>
	
	<!-- RTC  MUX-->
	<!-- RTC mustbe HSE DIv when Timer remap HSE is selected-->
  
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_RTCCLKSOURCE_HSE_DIV2" Name="RCC_RTC_Clock_SourceVirtual" Type="list">
        <Condition Diagnostic="RTC Mux should have HSE as input when TIM11 remap is used" Expression="((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_RTCCLKSOURCE_LSI" Name="RCC_RTC_Clock_SourceVirtual" Type="list">
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+RCC_RTC_Clock_SourceVirtual" Name="RCC_RTC_Clock_SourceVirtualString" Type="string"/>
 
	
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="+RCC_RTC_Clock_SourceVirtualString" Name="RCC_RTC_Clock_Source" Type="list" IP="RTC">
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
        <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_LSE" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <Condition Expression="RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE" Diagnostic=""/>
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_LSI" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <Condition Expression="RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI" Diagnostic=""/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_HSE" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <PossibleValue Comment="HSE" Value="RCC_RTCCLKSOURCE_HSE"/>
    </RefParameter>
	<RefParameter Visible="false" Comment="RTC Clock Source_HSEDiv" DefaultValue="RCC_RTCCLKSOURCE_HSE_DIV2" Name="RCC_RTC_Clock_Source_FROM_HSE" Type="list" IP="RTC">
		<PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
		<PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
		<PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
		<PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
		<PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
		<PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
		<PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
		<PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
		<PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
		<PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
		<PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
		<PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
		<PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
		<PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
		<PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
		<PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
		<PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
		<PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
		<PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
		<PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
		<PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
		<PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
		<PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
		<PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
		<PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
		<PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
		<PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
		<PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
		<PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
		<PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
	</RefParameter>
<RefParameter Visible="false" Comment="Cortex Div" DefaultValue="SYSTICK_CLKSOURCE_HCLK" Name="Cortex_Div" Type="list">
         <PossibleValue Comment="1" Value="SYSTICK_CLKSOURCE_HCLK" Semaphore="HCLKDiv1"/>
		 <PossibleValue Comment="8" Value="SYSTICK_CLKSOURCE_HCLK_DIV8"/>
   </RefParameter>
      <RefParameter Visible="false" Comment="Cortex_DivARG" DefaultValue="HAL_RCC_GetHCLKFreq()/1000" Name="Cortex_DivARG" Type="String">
        <Condition Expression="HCLKDiv1" Diagnostic=""/>
    </RefParameter>	
    <RefParameter Visible="false" Comment="Cortex_DivARG" DefaultValue="HAL_RCC_GetHCLKFreq()/8000" Name="Cortex_DivARG" Type="String"/>
   <!--   Frequency values-->
        <RefParameter Visible="false" Comment="HSE OSC" Name="HSE_VALUE" DefaultValue="25000000" Max="50000000" Min="1000000" Type="double" Display="value/1000000" Unit="MHz">
            <Condition Diagnostic="HSEByPass" Expression="HSEByPass"/>
        </RefParameter>
	<RefParameter Visible="false" Comment="HSE OSC" Name="HSE_VALUE" DefaultValue="25000000" Max="26000000" Min="4000000" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="HSI Source" Name="HSI_VALUE" DefaultValue="16000000" Max="16000000" Min="16000000" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="LSE OSC" Name="LSE_VALUE" DefaultValue="32768" Max="32768" Min="32768" Type="double" Display="value/1000" Unit="KHz">
		<Condition Diagnostic="LSE In crystal Mode" Expression="LSEOscillator"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSE OSC" Name="LSE_VALUE" DefaultValue="32768" Max="1000000" Min="0" Type="double" Display="value/1000" Unit="KHz"/>
	<RefParameter Visible="false" Comment="LSI Source" Name="LSI_VALUE" DefaultValue="32000" Max="32000" Min="32000" Type="double" Display="value/1000" Unit="KHz"/>
	<RefParameter Visible="false" Comment="Audio Clock Input" Name="EXTERNAL_CLOCK_VALUE" DefaultValue="12288000" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="System Clock" Name="SYSCLKFreq_VALUE" DefaultValue="16000000" Max="100000000" Type="double" Display="value/1000000" Unit="MHz">
	<Condition Diagnostic="not TM MCU" Expression="!TM"/>
	</RefParameter>
        <RefParameter Visible="false" Comment="System Clock" Name="SYSCLKFreq_VALUE" DefaultValue="16000000" Max="100000000" Type="double" Display="value/1000000" Unit="MHz"/>

        <RefParameter Name="FamilyName" Comment="FamilyName" DefaultValue="TM" Type="list" Visible="false">
            <PossibleValue Comment="M" Value="M" />
            <PossibleValue Comment="TM" Value="TM" Semaphore="TM"/>
        </RefParameter>
        <RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="30000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_HSUsed_ForRCC&amp;!TM"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="25000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="ETHUsed_ForRCC&amp;!TM"/>
	</RefParameter>        
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="14200000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_FSUsed_ForRCC&amp;!TM"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="14200000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_FSUsed_ForRCC&amp;!TM"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
                <Condition Expression="!TM" Diagnostic=""/>
        </RefParameter>
        <RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="30000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_HSUsed_ForRCC"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="25000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="ETHUsed_ForRCC"/>
	</RefParameter>        
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="14200000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_FSUsed_ForRCC"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Min="14200000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_FSUsed_ForRCC"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz"/>
                <!--MCO freq va  --> 
	    <RefParameter Visible="false" Comment="MCO Output" Name="MCO1PinFreq_Value" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>
		
		
	    <RefParameter Visible="false" Comment="MCO Output" Name="MCO2PinFreq_Value" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>
        
    <!--ADC frequency  --> 
    <RefParameter Visible="false" Comment="ADC synchr"  Name="synchADCFreq_Value"  DefaultValue="=APB2Freq_Value" Type="double" Display="value/1000000" Unit="MHz" IP="ADC1,ADC2,ADC3"/>
	
	
	<RefParameter Visible="false" Comment="IWDG" Name="WatchDogFreq_Value" DefaultValue="32000" Type="double" IP="IWATCHDOG" Display="value/1000" Unit="KHz"/>
    <RefParameter Visible="false" Comment="RTC Clock Source"     Name="RTCFreq_Value" Type="double" DefaultValue="32000" IP="RTC" Max="1000000" Min="0" Display="value/1000" Unit="KHz">
		<Condition Diagnostic="RTC Has HSE as source" Expression="(!(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)&amp;!(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI))"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="RTC" Name="RTCFreq_Value" Type="double" IP="RTC" DefaultValue="32000" Display="value/1000" Unit="KHz"/>
	<RefParameter Visible="false" Comment="RTC Clock Source_HSEDiv" Name="RTCHSEDivFreq_Value" DefaultValue="12500000" Max="1000000" Type="double" Display="value/1000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="Ethernet PTP Clock" Name="EthernetFreq_Value" DefaultValue="16000000" Type="double" IP="Ehternet" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="HCLK" Name="AHBFreq_Value" DefaultValue="16000000" Min="0" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="Cortex System Timer" Name="CortexFreq_Value" DefaultValue="2000000" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="FCLK Cortex" Name="FCLKCortexFreq_Value" DefaultValue="16000000" Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="APB1 Timers" Name="APB1TimFreq_Value" DefaultValue="16000000" Type="double" IP="TIMER6,TIMER7,,TIMER2,TIMER3,TIMER4,TIMER5,TIMER12,TIMER13,TIMER14" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="APB2 Timers" Name="APB2TimFreq_Value" DefaultValue="16000000" Type="double" IP="TIMER1,TIMER8,TIMER9,TIMER10,TIMER11" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="48MHz Clocks" Name="48MHZClocksFreq_Value" DefaultValue="48000000" Min="47880000" Max="48120000" Type="double" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="USB activated" Expression="USB_OTG_FSUsed_ForRCC|USB_OTG_HSEmbeddedPHYUsed_ForRCC"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="48MHz Clocks" Name="48MHZClocksFreq_Value" DefaultValue="48000000" Max="48000000" Type="double" Display="value/1000000" Unit="MHz"/>

        <RefParameter Visible="false" Comment="APB1 Peripheral Clock" Name="APB1Freq_Value" DefaultValue="16000000" Max="50000000" Min="=RTCFreq_Value*4" Type="double" IP="DAC1,DAC2,WinWATCHDOG,CAN1,CAN2,I2C1,I2C2,I2C3,SPI3,SPI2,UART4,UART7,UART8,USART2,USART3,UART5" Display="value/1000000" Unit="MHz">
		<Condition Diagnostic="overDrive activated" Expression="RTCUsed_ForRCC"/>
	</RefParameter>
	
	<RefParameter Visible="false" Comment="APB1 Peripheral Clock" Name="APB1Freq_Value" DefaultValue="16000000" Max="50000000" Type="double" IP="DAC1,DAC2,WinWATCHDOG,CAN1,CAN2,I2C1,I2C2,I2C3,SPI3,SPI2,UART4,UART7,UART8,USART2,USART3,UART5" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="APB2 Peripheral Clock" Name="APB2Freq_Value" DefaultValue="16000000" Max="100000000" Type="double" IP="SPI1,SPI4,SPI5,SPI6,USART1,USART6,EXTI,SDIO" Display="value/1000000" Unit="MHz"/>
		       
	    <RefParameter Visible="false" Comment="PLLQCLK"   Name="PLLQCLKFreq_Value" DefaultValue="48000000" Max="75000000"  Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="((USB_OTG_HSEmbeddedPHYUsed_ForRCC|USB_OTG_FSUsed_ForRCC))"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLQCLK"   Name="PLLQCLKFreq_Value" DefaultValue="96000000"  Type="double" Display="value/1000000" Unit="MHz"/>
	
	<RefParameter Visible="false" Comment="I2S Clock" Name="I2SClocksFreq_Value" DefaultValue="96000000" Max="192000000" Type="double" IP="I2S1,I2S2,I2S3,I2S4,I2S5" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="VCOInput" Name="VCOInputFreq_Value" DefaultValue="1000000" Min="950000" Max="2100000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>
		<RefParameter Visible="false" Comment="VCOInput" Name="VCOInputFreq_Value" DefaultValue="1000000"  Type="double" Display="value/1000000" Unit="MHz"/>

	<RefParameter Visible="false" Comment="PLL Clock" Name="PLLCLKFreq_Value" DefaultValue="96000000" Max="100000000"  Min="24000000"  Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>
		<RefParameter Visible="false" Comment="PLL Clock" Name="PLLCLKFreq_Value" DefaultValue="96000000"  Type="double" Display="value/1000000" Unit="MHz"/>

	<RefParameter Visible="false" Comment="VCOOutput" Name="VCOOutputFreq_Value" DefaultValue="192000000" Min="100000000" Max="432000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>
		<RefParameter Visible="false" Comment="VCOOutput" Name="VCOOutputFreq_Value" DefaultValue="192000000"  Type="double" Display="value/1000000" Unit="MHz"/>
		
		
	<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VCOInputMFreq_Value" DefaultValue="16000000" Min="950000" Max="2100000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)"/>
    </RefParameter>
		<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VCOInputMFreq_Value" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>

	<!--prescaler M output -->
	
	<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VCOI2SOutputFreq_Value" DefaultValue="192000000" Max="432000000" Min="100000000"   Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)"/>
    </RefParameter><!--prescaler N output -->
	<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VCOI2SOutputFreq_Value" DefaultValue="192000000"   Type="double" Display="value/1000000" Unit="MHz"/>
	<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VcooutputI2S" DefaultValue="96000000"  Max="216000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)"/>
    </RefParameter><!--prescaler R output -->
		<RefParameter Visible="false" Comment="VCOI2SOutput" Name="VcooutputI2S" DefaultValue="96000000"  Type="double" Display="value/1000000" Unit="MHz"/>

    
	<RefParameter Visible="false" Comment="Clock Source for I2S" DefaultValue="I2S_CLOCK_PLL" Name="I2SClockSource" Type="list" IP="I2S1,I2S2,I2S3,I2S4,I2S5">
		<PossibleValue Comment="Clk Source Pll" Value="I2S_CLOCK_PLL" Semaphore="I2SSourceIsPll"/>
		<PossibleValue Comment="Clk Source  Ext" Value="I2S_CLOCK_EXTERNAL"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLI2S_M" DefaultValue="16" Max="63" Min="2" Name="PLLI2SM" Type="integer" IP="I2S1,I2S2,I2S3,I2S4,I2S5"/>
	<RefParameter Visible="false" Comment="PLLI2S_N" DefaultValue="192" Max="432" Min="50" Name="PLLI2SN" Type="integer" IP="I2S1,I2S2,I2S3,I2S4,I2S5"/>
	
	<RefParameter Visible="false" Comment="PLLI2S_R" DefaultValue="2" Max="7" Min="2" Name="PLLI2SR" Type="integer" IP="I2S1,I2S2,I2S3,I2S4,I2S5"/>
	


<!--params for Code Generation for IPs -->
	<RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelection" DefaultValue="+RCC_PERIPHCLK_TIMVar+|RCC_PERIPHCLK_PLLI2SVar+|RCC_PERIPHCLK_I2SVar+|RCC_PERIPHCLK_RTCVar" Type="list"/>

    <RefParameter Visible="false" Name="RCC_PERIPHCLK_PLLI2SVar" Comment="RCC_PERIPHCLK_PLLI2SVar" Type="list" DefaultValue="RCC_PERIPHCLK_I2S">
        <Condition Expression="((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="I2S Activated and source is PLLI2S"/>
        <PossibleValue Value="RCC_PERIPHCLK_I2S" Comment="RCC_PERIPHCLK_I2S"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_PLLI2SVar" Comment="RCC_PERIPHCLK_PLLI2SVar" Type="list" DefaultValue=""/>

	<RefParameter Visible="false" Name="RCC_PERIPHCLK_I2SVar" Comment="RCC_PERIPHCLK_I2SVar" Type="list" DefaultValue="RCC_PERIPHCLK_I2S">
		<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)" Diagnostic="I2S Activated and source is PLLI2S"/>
		<PossibleValue Value="RCC_PERIPHCLK_I2S" Comment="RCC_PERIPHCLK_I2S"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RCC_PERIPHCLK_I2SVar" Comment="RCC_PERIPHCLK_I2SVar" Type="list" DefaultValue=""/>
	<RefParameter Visible="false" Name="RCC_PERIPHCLK_RTCVar" Comment="RCC_PERIPHCLK_RTCVar" Type="list" DefaultValue="RCC_PERIPHCLK_RTC">
		<Condition Expression="((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|RTCUsed_ForRCC" Diagnostic="RTC Prescaler Activated"/>
		<PossibleValue Value="RCC_PERIPHCLK_RTC" Comment="RCC_PERIPHCLK_RTC"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RCC_PERIPHCLK_RTCVar" Comment="RCC_PERIPHCLK_RTC" Type="list" DefaultValue=""/>
	<RefParameter Visible="false" Name="PLLI2SNARG" Comment="PLLI2SNARG" Type="list" DefaultValue="+PLLI2SN">
		<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="PLLI2SN is used for I2S"/>
		
	</RefParameter>
	<RefParameter Visible="false" Name="PLLI2SNARG" Comment="PLLI2SNARG" Type="list" DefaultValue="null"/>
	<RefParameter Visible="false" Name="PLLI2SMARG" Comment="PLLI2SMARG" Type="list" DefaultValue="+PLLI2SM">
		<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="PLLI2SM is used for I2S"/>
	</RefParameter>
	<RefParameter Visible="false" Name="PLLI2SMARG" Comment="PLLI2SMARG" Type="list" DefaultValue="null"/>
	
	
	
	<RefParameter Visible="false" Name="PLLI2SRARG" Comment="PLLI2SRARG" Type="list" DefaultValue="+PLLI2SR">
		<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="PLLI2S is used for I2S"/>
	</RefParameter>
	<RefParameter Visible="false" Name="PLLI2SRARG" Comment="PLLI2SRARG" Type="list" DefaultValue="null"/>
	<RefParameter Visible="false" Name="RTCClockSelectionARG" Comment="RTCClockSelectionARG" Type="list" DefaultValue="+RCC_RTC_Clock_Source">
		<Condition Expression="RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="PLLSAI is used for SAI"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RTCClockSelectionARG" Comment="RTCClockSelectionARG" Type="list" DefaultValue="null"/>
	
	<RefParameter Visible="false" Comment="Hse StateARG" DefaultValue="+HSEState" Name="HSEStateARG" Type="list">
		<Condition Diagnostic="HSE used" Expression="HSEUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Hse StateARG" DefaultValue="null" Name="HSEStateARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="Lse StateARG" DefaultValue="+LSEState" Name="LSEStateARG" Type="list">
		<Condition Diagnostic="LSE used" Expression="LSEUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Lse StateARG" DefaultValue="null" Name="LSEStateARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="HSI StateARG" DefaultValue="+HSIState" Name="HSIStateARG" Type="list">
		<Condition Diagnostic="HSI used" Expression="HSIUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSI StateARG" DefaultValue="null" Name="HSIStateARG" Type="list"/>

        <RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="RCC_HSICALIBRATION_DEFAULT" Name="HSICalibrationValueARG" Type="list">
            <Condition Diagnostic="HSI used" Expression="HSIUsed=1 &amp; HSICalibrationValue=16"/>
        </RefParameter>	
	<RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="+HSICalibrationValue" Name="HSICalibrationValueARG" Type="list">
		<Condition Diagnostic="HSI used" Expression="HSIUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="null" Name="HSICalibrationValueARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="LSI StateARG" DefaultValue="+LSIState" Name="LSIStateARG" Type="list">
		<Condition Diagnostic="LSI used" Expression="LSIUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="LSI StateARG" DefaultValue="null" Name="LSIStateARG" Type="list"/>

	<RefParameter Visible="false" Comment="PLLStateARG" DefaultValue="+PLLState" Name="PLLStateARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLStateARG" DefaultValue="RCC_PLL_NONE" Name="PLLStateARG" Type="list"/>
	
	
	<RefParameter Visible="false" Comment="PLLSourceARG" DefaultValue="+PLLSource" Name="PLLSourceARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1 | PLLMUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLSourceARG" DefaultValue="null" Name="PLLSourceARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="PLLMARG" DefaultValue="+PLLM" Name="PLLMARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLMARG" DefaultValue="null" Name="PLLMARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="PLLNARG" DefaultValue="+PLLN" Name="PLLNARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLNARG" DefaultValue="null" Name="PLLNARG" Type="list"/>
	<RefParameter Visible="false" Comment="PLLQARG" DefaultValue="+PLLQ" Name="PLLQARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLQARG" DefaultValue="null" Name="PLLQARG" Type="list"/>
	<RefParameter Visible="false" Comment="PLLPARG" DefaultValue="+PLLP" Name="PLLPARG" Type="list">
		<Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="PLLPARG" DefaultValue="null" Name="PLLPARG" Type="list"/>
		
	
	<RefParameter Visible="false" Comment="Clock TypeARG" DefaultValue="+ClockType" Name="ClockTypeARG" Type="list">
		<Condition Expression="SysClkToConfigure|HCLKtoConfigure|PCLK1toConfigure|PCLK2toConfigure" Diagnostic="at least one clock to configure"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Clock TypeARG" DefaultValue="null" Name="ClockTypeARG" Type="list"/>	
	<RefParameter Visible="false" Comment="SysClock SourceARG" DefaultValue="+SYSCLKSource" Name="SYSCLKSourceARG" Type="list">
		<Condition Expression="SysClkToConfigure" Diagnostic=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="SysClock SourceARG" DefaultValue="null" Name="SYSCLKSourceARG" Type="list"/>
	
	
	<RefParameter Visible="false" Comment="AHBCLKDividerARG" DefaultValue="+AHBCLKDivider" Name="AHBCLKDividerARG" Type="list">
		<Condition Expression="HCLKtoConfigure" Diagnostic=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="AHBCLKDividerARG" DefaultValue="null" Name="AHBCLKDividerARG" Type="list"/>
	
	<RefParameter Visible="false" Comment="APB1CLKDividerARG" DefaultValue="+APB1CLKDivider" Name="APB1CLKDividerARG" Type="list">
		<Condition Expression="PCLK1toConfigure" Diagnostic=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="APB1CLKDividerARG" DefaultValue="null" Name="APB1CLKDividerARG" Type="list"/>
	<RefParameter Visible="false" Comment="APB2CLKDividerARG" DefaultValue="+APB2CLKDivider" Name="APB2CLKDividerARG" Type="list">
		<Condition Expression="PCLK2toConfigure" Diagnostic=""/>
	</RefParameter>
	<RefParameter Visible="false" Comment="APB2CLKDividerARG" DefaultValue="null" Name="APB2CLKDividerARG" Type="list"/>
	<RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelectionARG" DefaultValue="+PeriphClockSelection" Type="list">
	<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; (MCO2Config))|TimPrescalerEnabled|RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="clock used by RCC"/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelectionARG" DefaultValue="null" Type="list"/>	
	
    <RefParameter Visible="false" Name="TIMPresSelectionARG" Comment="TIMPresSelectionARG" Type="list" DefaultValue="+RCC_TIM_PRescaler_Selection">
        <Condition Expression="TimPrescalerEnabled" Diagnostic="PLLSAI is used for SAI"/>
    </RefParameter>
    <RefParameter Visible="false" Name="TIMPresSelectionARG" Comment="TIMPresSelectionARG" Type="list" DefaultValue="null"/>
		
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_TIMVar" Comment="RCC_PERIPHCLK_TIMVar" Type="list" DefaultValue="RCC_PERIPHCLK_TIM">
        <Condition Expression="TimPrescalerEnabled" Diagnostic="Timer Prescaler Activated"/>
        <PossibleValue Value="RCC_PERIPHCLK_TIM" Comment="RCC_PERIPHCLK_TIM"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_TIMVar" Comment="RCC_PERIPHCLK_TIMVar" Type="list" DefaultValue=""/>
	
	
	<!-- Enable refParameters list -->
	<!--RefEnabel Parameters -->
	<RefParameter Visible="false" Name="EnableHSE" Comment="EnableHSE" Type="list" DefaultValue="true">
		<Condition Expression="(HSEOscillator | HSEByPass)|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="Disabled if RTC is used and HSE ON"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableHSE" Comment="EnableHSE" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--RTC Enable-->
	<RefParameter Visible="false" Name="EnableHSERTCDevisor" Comment="RTC and HSE Oscillator" Type="list" DefaultValue="true" IP="RTC">
		<Condition Expression="((RTCUsed_ForRCC) &amp; (HSEOscillator|HSEByPass))|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="Disabled if RTC is used"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableHSERTCDevisor" Comment="RTC and HSE Oscillator" Type="list" DefaultValue="false" IP="RTC">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RTCEnable" Comment="RTC" Type="list" DefaultValue="true" IP="RTC">
		<Condition Expression="RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="Disabled if RTC is used"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RTCEnable" Comment="RTC" Type="list" DefaultValue="false" IP="RTC">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableLSERTC" Comment="EnableLSERTC" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="(((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|RTCUsed_ForRCC) &amp; (LSEOscillator | LSEByPass)" Diagnostic="Disabled if RTC is used and LSE ON"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableLSERTC" Comment="EnableLSERTC" Type="list" DefaultValue="false" IP="RTC">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableLSE" Comment="EnableLSE" Type="list" DefaultValue="true">
		<Condition Expression="(LSEOscillator | LSEByPass)" Diagnostic="Disabled if RTC is used and LSE ON"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableLSE" Comment="EnableLSE" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--I2S Enable-->
	<RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="false">
		<Condition Expression="!I2SUsed_ForRCC" Diagnostic="I2S ip not used"/>
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="true">
		<Condition Expression="I2SUsed_ForRCC" Diagnostic="I2S ip used"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="true">
		<PossibleValue Value="true" Comment="true"/>
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableExtClockForI2S" Comment="EnableExtClockForI2S" Type="list" DefaultValue="true" IP="Audio_ClockIn">
		<Condition Expression="I2SUsed_ForRCC&amp;AudioClockConfig" Diagnostic="Disabled if RTC is used"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="EnableExtClockForI2S" Comment="EnableExtClockForI2S" Type="list" DefaultValue="false" IP="Audio_ClockIn">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!-- Clock Out  Enable-->
	<RefParameter Visible="false" Name="MCO1OutPutEnable" Comment="Master Clock Output 1" Type="list" DefaultValue="true" IP="Clock-out-1">
		<Condition Expression="MCO1Config" Diagnostic="MCO1 mode is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="MCO1OutPutEnable" Comment="Master Clock Output 1" Type="list" DefaultValue="false" IP="Clock-out-1">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<RefParameter Visible="false" Name="MCO2OutPutEnable" Comment="Master Clock Output 2" Type="list" DefaultValue="false" IP="Clock-out-2">
		<Condition Expression="MCO2Config" Diagnostic="MCO2 mode is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="MCO2OutPutEnable" Comment="Clock Output 2" Type="list" DefaultValue="false" IP="Clock-out-2">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!-- Ext Clock  Enable-->
	<RefParameter Visible="false" Name="ExtClockEnable" Comment="Audio Clock Input(I2S_CKIN)" Type="list" DefaultValue="true" IP="Audio_ClockIn">
		<Condition Expression="AudioClockConfig" Diagnostic="Ext clock is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="ExtClockEnable" Comment="Audio Clock Input(I2S_CKIN)" Type="list" DefaultValue="false" IP="Audio_ClockIn">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!-- IWDG  Enable-->
	<RefParameter Visible="false" Name="IWDGEnable" Comment="IWDG" Type="list" DefaultValue="true" IP="IWDG">
		<Condition Expression="IWDGUsed_ForRCC" Diagnostic="IWDG is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="IWDGEnable" Comment="IWDG" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--RNG Enable-->
	<RefParameter Visible="false" Name="RNGEnable" Comment="RNG" Type="list" DefaultValue="true">
		<Condition Expression="RNGUsed_ForRCC" Diagnostic="RNG is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="RNGEnable" Comment="RNG" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--SDIO Enable-->
	<RefParameter Visible="false" Name="SDIOEnable" Comment="SDIO" Type="list" DefaultValue="true">
		<Condition Expression="SDIOUsed_ForRCC" Diagnostic="SDIO is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="SDIOEnable" Comment="SDIO" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--USBFS Enable -->
	<RefParameter Visible="false" Name="USBFSEnable" Comment="USBFS" Type="list" DefaultValue="true">
		<Condition Expression="USB_OTG_FSUsed_ForRCC" Diagnostic="USBFS Enabled"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="USBFSEnable" Comment="USBFS" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!--USBHS Enable -->
	<RefParameter Visible="false" Name="USBHSEnable" Comment="USBHS" Type="list" DefaultValue="true">
		<Condition Expression="USB_OTG_HSEmbeddedPHYUsed_ForRCC" Diagnostic="USBHS Enabled"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="USBHSEnable" Comment="USBHS" Type="list" DefaultValue="false">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
	<!-- refParameter for dynamic labels constraints-->
	<!-- Advanced Parameters-->
	<!-- <RefParameter Name="VDD_VALUE" Comment="VDD voltage (V)" DefaultValue="3" Min="1.8" Max="3.6" Type="double" Unit="V"/>	-->
	<RefParameter Name="VDD_VALUE" Comment="VDD voltage (V)" DefaultValue="3.3" Max="3.6" Min="1.7" Type="double" Unit="V" Group="System Parameters">
		
	</RefParameter>
	
       
       
         <!-- 
              (#) STM32F401xB/C and STM32F401xD/E
    +____________________________________________________________________________________-+     
    | Latency       |                HCLK clock frequency (MHz)                           |
    |               |____________________________________________________________________-|     
    |               | voltage range  | voltage range  | voltage range   | voltage range   |
    |               | 2.7 V - 3.6 V  | 2.4 V - 2.7 V  | 2.1 V - 2.4 V   | 1.71 V - 2.1 V  |
    |______________-|________________|________________|________________-|________________-|              
    |0WS(1CPU cycle)|0 < HCLK <= 30  |0 < HCLK <= 24  |0 < HCLK <= 18   |0 < HCLK <= 16   |
    |______________-|________________|________________|________________-|________________-|   
    |1WS(2CPU cycle)|30 < HCLK <= 60 |24 < HCLK <= 48 |18 < HCLK <= 36  |16 < HCLK <= 32  | 
    |______________-|________________|________________|________________-|________________-|   
    |2WS(3CPU cycle)|60 < HCLK <= 84 |48 < HCLK <= 72 |36 < HCLK <= 54  |32 < HCLK <= 48  |
    |______________-|________________|________________|________________-|________________-| 
    |3WS(4CPU cycle)|84 < HCLK <= 100|72 < HCLK <= 84 |54 < HCLK <= 72  |48 < HCLK <= 64  |
    |______________-|________________|________________|________________-|________________-| 
    |4WS(5CPU cycle)|                |84 < HCLK <= 100|72 < HCLK <= 84  |64 < HCLK<= 80   |
    |______________-|________________|________________|________________-|________________-| 
    |5WS(6CPU cycle)|                |                |84 < HCLK <= 100 |80 < HCLK <= 84  | 
    |______________-|________________|________________|________________-|________________-| 
    |6WS(7CPU cycle)|                |                |                 |84 < HCLK <= 100 | 
    |______________-|________________|________________|________________-|________________-| 
                          2.7 V - 3.6 V     2.4 V - 2.7 V       2.1 V - 2.4 V       1.71 V - 2.1 V
0 WS (1 CPU cycle)     |0 < HCLK? 30     | 0 < HCLK ? 24    |0 < HCLK ? 18     |0 < HCLK ? 16
1 WS (2 CPU cycles)    | 30 < HCLK ? 64  | 24 < HCLK ? 48   | 18 < HCLK ? 36   |16 <HCLK ? 32
2 WS (3 CPU cycles)    |64 < HCLK ? 90   | 48 < HCLK ? 72   |36 < HCLK ? 54    |32 < HCLK ? 48
3 WS (4 CPU cycles)    |90 < HCLK ? 100  | 72 < HCLK ? 96   |54 < HCLK ? 72    |48 < HCLK ? 64
4 WS (5 CPU cycles)                      | 96 < HCLK ? 100  |72 < HCLK ? 90    |64 < HCLK ? 80
5 WS (6 CPU cycles)                                         |90 < HCLK ? 100   |80 < HCLK ? 96
6 WS (7 CPU cycles)                                                            |96 < HCLK ? 100
-->
 <!--0 < HCLK <= 30  |0 < HCLK <= 24  |0 < HCLK <= 18   |0 < HCLK <= 16  -->
  <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_0" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 0) &amp;((HCLKFreq_Value &lt;  30000000)|(HCLKFreq_Value =30000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt;  24000000)|(HCLKFreq_Value =24000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt;  18000000)|(HCLKFreq_Value= 18000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt; 16000000)|(HCLKFreq_Value =16000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_0" Comment="0 WS (1 CPU cycle)"/>
    </RefParameter>
    <!--1 WS 30 < HCLK <= 60 |24 < HCLK <= 48 |18 < HCLK <= 36  |16 < HCLK <= 32 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_1" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 30000000) &amp; ((HCLKFreq_Value &lt;  64000000)|(HCLKFreq_Value= 60000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  24000000) &amp; ((HCLKFreq_Value &lt;  48000000)|(HCLKFreq_Value= 48000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  18000000) &amp; ((HCLKFreq_Value &lt;  36000000)|(HCLKFreq_Value =36000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 16000000) &amp; ((HCLKFreq_Value &lt;  32000000)|(HCLKFreq_Value= 32000000)))))"/>
        <PossibleValue Value="FLASH_LATENCY_1" Comment="1 WS (2 CPU cycle)"/>
    </RefParameter>
    <!--2WS(3CPU cycle) -->
   <!-- 60 < HCLK <= 84 |48 < HCLK <= 72 |36 < HCLK <= 54  |32 < HCLK <= 48 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_2" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 64000000) &amp; ((HCLKFreq_Value &lt;  90000000)|(HCLKFreq_Value= 90000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  48000000) &amp; ((HCLKFreq_Value &lt; 72000000)|(HCLKFreq_Value = 72000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  36000000) &amp; ((HCLKFreq_Value &lt; 54000000)|(HCLKFreq_Value=  54000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 32000000) &amp; ((HCLKFreq_Value &lt; 48000000)|(HCLKFreq_Value=  48000000)))))"/>
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
    </RefParameter>
    <!--3WS(4CPU cycle) -->
    <!--  |90 < HCLK ? 100  | 72 < HCLK ? 96   |54 < HCLK ? 72    |48 < HCLK ? 64 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_3" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6)))&amp; ((HCLKFreq_Value &gt;  90000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt; 72000000) &amp; ((HCLKFreq_Value &lt; 96000000)|(HCLKFreq_Value = 96000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp;  ((HCLKFreq_Value &gt; 54000000) &amp; ((HCLKFreq_Value &lt; 72000000)|(HCLKFreq_Value = 72000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 48000000) &amp; ((HCLKFreq_Value &lt; 64000000)|(HCLKFreq_Value=  64000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_3" Comment="3 WS (4 CPU cycle)"/>
    </RefParameter>
    <!--4WS(5CPU cycle) -->
    <!--| 96 < HCLK ? 100  |72 < HCLK ? 90    |64 < HCLK ? 80-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_4" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  96000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; (((HCLKFreq_Value &gt; 72000000) )&amp; ((HCLKFreq_Value &lt; 90000000)|(HCLKFreq_Value = 90000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 64000000) &amp; ((HCLKFreq_Value &lt;  80000000)|(HCLKFreq_Value =80000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_4" Comment="4 WS (5 CPU cycle)"/>
    </RefParameter>
    <!--5WS(6CPU cycle) -->
    <!-- |90 < HCLK ? 100   |80 < HCLK ? 96-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_5" Group="System Parameters">
        <Condition Diagnostic="" Expression="(
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  90000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 80000000)&amp; ((HCLKFreq_Value &lt; 96000000)|(HCLKFreq_Value = 96000000)) ))) "/>
        <PossibleValue Value="FLASH_LATENCY_5" Comment="5 WS (6 CPU cycle)"/>
    </RefParameter>
	<!--6WS(7CPU cycle) -->
    <!--  |96 < HCLK ? 100-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_6" Group="System Parameters">
        <Condition Diagnostic="" Expression="(
		
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; (HCLKFreq_Value &gt;  96000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))) )"/>
        <PossibleValue Value="FLASH_LATENCY_6" Comment="6 WS (7 CPU cycle)"/>
    </RefParameter>
       
   
    <!--Should not Happen!-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="list" DefaultValue="FLASH_LATENCY_0" Group="System Parameters">
        <PossibleValue Value="FLASH_LATENCY_0" Comment="0 WS (1 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_1" Comment="1 WS (2 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_3" Comment="3 WS (4 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_4" Comment="4 WS (5 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_5" Comment="5 WS (6 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_6" Comment="6 WS (7 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_7" Comment="7 WS (8 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_8" Comment="8 WS (9 CPU cycle)"/>
    </RefParameter>
    <RefParameter Comment="HSI Calibration Value" DefaultValue="16" Min="0" Max="31" Name="HSICalibrationValue" Type="integer" Group="RCC Parameters"/>
    <RefParameter Visible="false" Name="EnbaleCSS" Comment="Clock Security System: available only when HSE is used directly or undirectly as System Clock" Type="list" DefaultValue="false">
        <Condition Diagnostic="" Expression="(((PLLSource=RCC_PLLSOURCE_HSE) &amp;SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK )|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)) &amp; (HSEOscillator | HSEByPass)"/>
        <PossibleValue Value="true" Comment="Enabled" Semaphore="CSSEnabled"/>
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>

    <RefParameter Visible="false" Name="EnbaleCSS" Comment="Clock Security System: available only when HSE is used directly or undirectly as System Clock" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="INSTRUCTION_CACHE_ENABLE" Comment="Instruction Cache" Type="list" DefaultValue="1" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="PREFETCH_ENABLE" Comment="Prefetch Buffer" Type="list" DefaultValue="0" Group="System Parameters">
        <Condition Diagnostic="" Expression="(VDD_VALUE &lt; 2.1)"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="PREFETCH_ENABLE" Comment="Prefetch Buffer" Type="list" DefaultValue="1" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="DATA_CACHE_ENABLE" Comment="Data Cache" Type="list" DefaultValue="1" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
      <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
        <Condition Diagnostic="" Expression="(HCLKFreq_Value  &gt; 84000000)"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>
    </RefParameter>
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
	<Condition Diagnostic="" Expression="(HCLKFreq_Value  &gt; 64000000)"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>

    </RefParameter>
	 <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">

        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE3" Comment="Power Regulator Voltage Scale 3"/>

    </RefParameter>
	
	<RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLMUsed" Min="1" Type="integer">
		<Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="LSE is used if "/>
	</RefParameter>
	<RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLMUsed" Min="0" Type="integer"/>
	<RefParameter Visible="false" Name="PLLMARGForMacro" Comment="PLLMARGForMacro" Type="list" DefaultValue="+PLLM">
        <Condition Diagnostic="PLLSAIP not used" Expression=" ((PLLMUsed=1) &amp; PLLState=RCC_PLL_OFF)"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PLLMARGForMacro" Comment="PLLMARGForMacro" Type="list" DefaultValue="null"/>
	
	<RefParameter Visible="false" Name="PLLSourceMARGForMacro" Comment="PLLSourceMARGForMacro" Type="list" DefaultValue="+PLLSource">
        <Condition Diagnostic="PLLSAIP not used" Expression=" ((PLLMUsed=1) &amp; PLLState=RCC_PLL_OFF)"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PLLSourceMARGForMacro" Comment="PLLSourceMARGForMacro" Type="list" DefaultValue="null"/>
    

	<RefParameter Name="RCC_TIM_PRescaler_Selection" Comment="TIM Prescaler Selection" Type="list" DefaultValue="RCC_TIMPRES_DESACTIVATED" Group="RCC Parameters">
        <PossibleValue Value="RCC_TIMPRES_ACTIVATED" Comment="Enabled" Semaphore="TimPrescalerEnabled"/>
        <PossibleValue Value="RCC_TIMPRES_DESACTIVATED" Comment="Disabled"/>
    </RefParameter>
    
    <RefParameter Visible="false" Comment="Overdrive enable" DefaultValue="0" Name="OverDriveEnable" Type="integer" Min="1" Max="1"/>
    
    <RefMode Name="ClockTree">
	    <ConfigForMode>RCC_PLL_PLLM_CONFIG</ConfigForMode>
        <ConfigForMode>RCC_PLL_PLLSOURCE_CONFIG</ConfigForMode>
        <ConfigForMode>RCC_ConfigVoltageScaling</ConfigForMode>
        <ConfigForMode>RCC_OSCConfig</ConfigForMode>        
        <ConfigForMode>PWR_ActivateOverDrive</ConfigForMode>

        <ConfigForMode>RCC_ClockConfig</ConfigForMode>        
        <ConfigForMode>RCC_MCO1Config</ConfigForMode>        
        <ConfigForMode>RCC_MCO2Config</ConfigForMode>        
        <ConfigForMode>RCC_CSS_Enable</ConfigForMode>
		 <ConfigForMode>RCC_interrupt_Time_SYSTICK_Config</ConfigForMode>
		 <ConfigForMode>RCC_SYSTICK_CONFIG</ConfigForMode>
        <Parameter Name="OscillatorType"/>
        <Parameter Name="OscillatorTypeLSI"/>
        <Parameter Name="LSIUsed"/>
        <Parameter Name="LSIState"/>
        <Parameter Name="OscillatorTypeHSE"/>
        <Parameter Name="HSEUsed"/>
        <Parameter Name="HSEState"/>
        <Parameter Name="OscillatorTypeLSE"/>
        <Parameter Name="LSEUsed"/>
        <Parameter Name="LSEState"/>
        <Parameter Name="OscillatorTypeHSI"/>
        <Parameter Name="HSIUsed"/>
        <Parameter Name="HSIState"/>
        <Parameter Name="PLLUsed"/>
        <Parameter Name="PLLState"/>
        <Parameter Name="PLLSource"/>
        <Parameter Name="PLLM"/>
        <Parameter Name="PLLN"/>
        <Parameter Name="PLLP"/>
        <Parameter Name="PLLQ"/>
        <Parameter Name="ClockType"/>
        <Parameter Name="ClockTypeSysClk"/>
        <Parameter Name="ClockTypeHCLK"/>
        <Parameter Name="ClockTypePCLK1"/>
        <Parameter Name="ClockTypePCLK2"/>
        <Parameter Name="SYSCLKSource"/>
        <Parameter Name="AHBCLKDivider"/>
        <Parameter Name="APB1CLKDivider"/>
        <Parameter Name="APB1TimCLKDivider"/>
        <Parameter Name="APB2CLKDivider"/>
        <Parameter Name="RCC_MCO1"/>
        <Parameter Name="RCC_MCO2"/>
        <Parameter Name="RCC_MCO1Source"/>
        <Parameter Name="RCC_MCO2Source"/>
        <Parameter Name="RCC_MCODiv1"/>
        <Parameter Name="RCC_MCODiv2"/>
        <Parameter Name="RCC_RTC_Clock_Source"/>
        <Parameter Name="RCC_RTC_Clock_Source_FROM_HSE"/>
        <Parameter Name="Cortex_Div"/>
        <Parameter Name="HSE_VALUE"/>
        <Parameter Name="HSI_VALUE"/>
        <Parameter Name="LSE_VALUE"/>
        <Parameter Name="LSI_VALUE"/>
        <Parameter Name="EXTERNAL_CLOCK_VALUE"/>
        <Parameter Name="SYSCLKFreq_VALUE"/>
        <Parameter Name="HCLKFreq_Value"/>
        <Parameter Name="APB1Freq_Value"/>
        <Parameter Name="APB2Freq_Value"/>
        <Parameter Name="WatchDogFreq_Value"/>
        <Parameter Name="RTCFreq_Value"/>
        <Parameter Name="RTCHSEDivFreq_Value"/>
        <Parameter Name="EthernetFreq_Value"/>
        <Parameter Name="AHBFreq_Value"/>
        <Parameter Name="CortexFreq_Value"/>
        <Parameter Name="FCLKCortexFreq_Value"/>
        <Parameter Name="APB1TimFreq_Value"/>
        <Parameter Name="APB2TimFreq_Value"/>
        <Parameter Name="48MHZClocksFreq_Value"/>
        <Parameter Name="I2SClocksFreq_Value"/>
        <Parameter Name="VCOInputFreq_Value"/>
        <Parameter Name="PLLCLKFreq_Value"/>
		<Parameter Name="PLLSourceVirtual"/>
        <Parameter Name="PLLCLKFreq_Value"/>
        <Parameter Name="VCOOutputFreq_Value"/>
        <Parameter Name="VCOI2SOutputFreq_Value"/>
        <Parameter Name="MCO1PinFreq_Value"/>
        <Parameter Name="MCO2PinFreq_Value"/>
        <Parameter Name="I2SClockSource"/>
        <Parameter Name="PLLI2SN"/>
        <Parameter Name="PLLI2SM"/>
        <Parameter Name="PLLI2SR"/>
        <Parameter Name="EnableHSE"/>
        <Parameter Name="EnableHSERTCDevisor"/>
        <Parameter Name="RTCEnable"/>
        <Parameter Name="EnableLSERTC"/>
        <Parameter Name="EnableLSE"/>
        <Parameter Name="I2SEnable"/>
        <Parameter Name="EnableExtClockForI2S"/>
        <Parameter Name="MCO1OutPutEnable"/>
        <Parameter Name="MCO2OutPutEnable"/>
        <Parameter Name="ExtClockEnable"/>
        <Parameter Name="IWDGEnable"/>
        <Parameter Name="RNGEnable"/>
        <Parameter Name="SDIOEnable"/>
        <Parameter Name="USBFSEnable"/>
        <Parameter Name="USBHSEnable"/>
        <Parameter Name="PeriphClockSelection"/>
        <Parameter Name="RCC_PERIPHCLK_I2SVar"/>
        <Parameter Name="RCC_PERIPHCLK_RTCVar"/>
        <Parameter Name="PLLI2SNARG"/>
        <Parameter Name="PLLI2SMARG"/>
        <Parameter Name="PLLI2SRARG"/>
        <Parameter Name="RTCClockSelectionARG"/>
        <Parameter Name="FamilyName"/>
    </RefMode>
    <RefMode Name="AdvancedSettings">
        <Parameter Name="VDD_VALUE"/>
        <Parameter Name="INSTRUCTION_CACHE_ENABLE"/>
        <Parameter Name="PREFETCH_ENABLE"/>
        <Parameter Name="DATA_CACHE_ENABLE"/>
        <Parameter Name="FLatency"/>
        <Parameter Name="HSICalibrationValue"/>
        <Parameter Name="PWR_Regulator_Voltage_Scale"/>
		   <Parameter Name="RCC_TIM_PRescaler_Selection"/>
		<Parameter Name="HSE_Timout"/>
        <Parameter Name="LSE_Timout"/>
    </RefMode>
    <RefMode Name="Clock-out-1" HalMode="RCC">
        <!--ConfigForMode>RTC_RefClock</ConfigForMode-->
    </RefMode>
    <RefMode Name="Clock-out-2" HalMode="RCC">
        <!--ConfigForMode>RTC_RefClock</ConfigForMode-->
    </RefMode>
    <ModeLogicOperator Name="OR">
        <!-- Modes for Oscillators & Clocks -->
        <Mode Name="OSC" UserName="High Speed Clock (HSE)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="HSE-External-Clock-Source" UserName="BYPASS Clock Source">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC_IN"/>
                        <Signal Name="OSC_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>HSEByPass</Semaphore>
                </Mode>
                <Mode Name="HSE-External-Oscillator" UserName="Crystal/Ceramic Resonator">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC_IN"/>
                        <Signal Name="OSC_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>HSEOscillator</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="OSC32" UserName="Low Speed Clock (LSE) ">
            <ModeLogicOperator Name="XOR">
                <Mode Name="LSE-External-Clock-Source" UserName="BYPASS Clock Source">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC32_IN"/>
                        <Signal Name="OSC32_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>LSEByPass</Semaphore>
                </Mode>
                <Mode Name="LSE-External-Oscillator" UserName="Crystal/Ceramic Resonator">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC32_IN"/>
                        <Signal Name="OSC32_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>LSEOscillator</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Clock-out-1" UserName="Master Clock Output 1">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out-1">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="MCO_1"/>
                    </SignalLogicalOp>
                    <Semaphore>MCO1Config</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Clock-out-2" UserName="Master Clock Output 2">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out-2">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="MCO_2"/>
                    </SignalLogicalOp>
                    <Semaphore>MCO2Config</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Audio_ClockIn" UserName="Audio Clock Input (I2S_CKIN)">
            <ModeLogicOperator Name="OR">
                <Mode Name="Audio_ClockIn">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="$SingleInstanceI2S_CKIN"/>
                    </SignalLogicalOp>
                    <Semaphore>AudioClockConfig</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
    </ModeLogicOperator>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="MCO_1"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="MCO_2"/>
    <RefSignal IOMode="System" Name="OSC32_IN"/>
    <RefSignal IOMode="System" Name="OSC32_OUT"/>
    <RefSignal IOMode="System" Name="OSC_IN"/>
    <RefSignal IOMode="System" Name="OSC_OUT"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="$SingleInstanceI2S_CKIN"/>
</IP>
