<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP DBVersion="V4.0" IPType="peripheral" Name="DAC" Version="dacif_v3_0_Cube" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mcd.rou.st.com/modules.php?name=mcu" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd">
  <About>DAC: Digital to Analog Converter</About>
  <Semaphore>$IpInstance</Semaphore>
	<RefParameter Comment="Channel" DefaultValue="DAC_CHANNEL_1" Name="DAC_Channel" Type="list"  Visible="false">
            <PossibleValue Comment="DAC_CHANNEL_1" Value="DAC_CHANNEL_1"/>
        </RefParameter>
        <RefParameter Comment="Channel" DefaultValue="DAC$Index" Name="Instance" Type="list"  Visible="false"/>
        
        <RefParameter Comment="Trigger" DefaultValue="DAC_TRIGGER_NONE" Name="DAC_Trigger" Type="list" >
            <Condition Diagnostic="External Trigger" Expression="$IpInstance_External_Trigger&amp;DIE470"/>
            <PossibleValue Comment="None" Value="DAC_TRIGGER_NONE"/>
            <PossibleValue Comment="Timer 1 Trigger Out event " Value="DAC_TRIGGER_T1_TRGO" Condition="!TIM1_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 2 Trigger Out event " Value="DAC_TRIGGER_T2_TRGO" Condition="!TIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 4 Trigger Out event " Value="DAC_TRIGGER_T4_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 5 Trigger Out event " Value="DAC_TRIGGER_T5_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 6 Trigger Out event " Value="DAC_TRIGGER_T6_TRGO" Condition="!TIM6_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 7 Trigger Out event " Value="DAC_TRIGGER_T7_TRGO" Condition="!TIM7_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 8 Trigger Out event " Value="DAC_TRIGGER_T8_TRGO" Condition="!TIM8_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 15 Trigger Out event " Value="DAC_TRIGGER_T15_TRGO" Condition="!TIM15_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Lptimer 1 Trigger Out event " Value="DAC_TRIGGER_LPTIM1_OUT" Condition="!LPTIM1_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Lptimer 2 Trigger Out event " Value="DAC_TRIGGER_LPTIM2_OUT" Condition="!LPTIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Software trigger " Value="DAC_TRIGGER_SOFTWARE"/>
            <PossibleValue Comment="External line 9" Value="DAC_TRIGGER_EXT_IT9"/>
            <Description>Specifies the external trigger for the selected DAC channel.</Description>
        </RefParameter>
		
        <RefParameter Comment="Trigger" DefaultValue="DAC_TRIGGER_NONE" Name="DAC_Trigger" Type="list" >
		  <Condition Diagnostic="External Trigger" Expression="DIE470"/>
            <PossibleValue Comment="None" Value="DAC_TRIGGER_NONE"/>
            <PossibleValue Comment="Timer 1 Trigger Out event " Value="DAC_TRIGGER_T1_TRGO" Condition="!TIM1_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 2 Trigger Out event " Value="DAC_TRIGGER_T2_TRGO" Condition="!TIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 4 Trigger Out event " Value="DAC_TRIGGER_T4_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 5 Trigger Out event " Value="DAC_TRIGGER_T5_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 6 Trigger Out event " Value="DAC_TRIGGER_T6_TRGO" Condition="!TIM6_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 7 Trigger Out event " Value="DAC_TRIGGER_T7_TRGO" Condition="!TIM7_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 8 Trigger Out event " Value="DAC_TRIGGER_T8_TRGO" Condition="!TIM8_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 15 Trigger Out event " Value="DAC_TRIGGER_T15_TRGO" Condition="!TIM15_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Lptimer 1 Trigger Out event " Value="DAC_TRIGGER_LPTIM1_OUT" Condition="!LPTIM1_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Lptimer 2 Trigger Out event " Value="DAC_TRIGGER_LPTIM2_OUT" Condition="!LPTIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Software trigger " Value="DAC_TRIGGER_SOFTWARE"/>
	</RefParameter>    
    
        <RefParameter Comment="Trigger" DefaultValue="DAC_TRIGGER_NONE" Name="DAC_Trigger" Type="list" >
            <Condition Diagnostic="External Trigger" Expression="$IpInstance_External_Trigger"/>
            <PossibleValue Comment="None" Value="DAC_TRIGGER_NONE"/>
            <PossibleValue Comment="Timer 2 Trigger Out event " Value="DAC_TRIGGER_T2_TRGO" Condition="!TIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 4 Trigger Out event " Value="DAC_TRIGGER_T4_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 5 Trigger Out event " Value="DAC_TRIGGER_T5_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 6 Trigger Out event " Value="DAC_TRIGGER_T6_TRGO" Condition="!TIM6_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 7 Trigger Out event " Value="DAC_TRIGGER_T7_TRGO" Condition="!TIM7_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 8 Trigger Out event " Value="DAC_TRIGGER_T8_TRGO" Condition="!TIM8_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Software trigger " Value="DAC_TRIGGER_SOFTWARE"/>
            <PossibleValue Comment="External line 9" Value="DAC_TRIGGER_EXT_IT9"/>
            <Description>Specifies the external trigger for the selected DAC channel.</Description>
        </RefParameter>
        <RefParameter Comment="Trigger" DefaultValue="DAC_TRIGGER_NONE" Name="DAC_Trigger" Type="list" >
            <PossibleValue Comment="None" Value="DAC_TRIGGER_NONE"/>
            <PossibleValue Comment="Timer 2 Trigger Out event " Value="DAC_TRIGGER_T2_TRGO" Condition="!TIM2_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 4 Trigger Out event " Value="DAC_TRIGGER_T4_TRGO" Condition="!TIM4_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 5 Trigger Out event " Value="DAC_TRIGGER_T5_TRGO" Condition="!TIM5_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 6 Trigger Out event " Value="DAC_TRIGGER_T6_TRGO" Condition="!TIM6_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 7 Trigger Out event " Value="DAC_TRIGGER_T7_TRGO" Condition="!TIM7_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
            <PossibleValue Comment="Timer 8 Trigger Out event " Value="DAC_TRIGGER_T8_TRGO" Condition="!TIM8_Exist" Diagnostic="available only if TIMx exists" Action="Remove"/>
        <PossibleValue Comment="Software trigger " Value="DAC_TRIGGER_SOFTWARE"/>
	</RefParameter>
<!--        <RefParameter Comment="Output Buffer" DefaultValue="DAC_OUTPUTBUFFER_DISABLE" Name="DAC_OutputBuffer" Type="list" >
            <Condition Expression="$IpInstance_OUT1_Int" Diagnostic="DISABLE wave generation"/>
            <PossibleValue Comment="Disable Output Buffer" Value="DAC_OUTPUTBUFFER_DISABLE"/>
	</RefParameter>-->
	<RefParameter Comment="Output Buffer" DefaultValue="DAC_OUTPUTBUFFER_ENABLE" Name="DAC_OutputBuffer" Type="list" >
		<!-- <PossibleValue Comment="Enable" Value="DAC_OUTPUTBUFFER_ENABLE"/>
		<PossibleValue Comment="Disable" Value="DAC_OUTPUTBUFFER_DISABLE"/> -->
                <PossibleValue Comment="Enable" Value="DAC_OUTPUTBUFFER_ENABLE" Condition=" ! ( ( $IpInstance_OUT1_ExtAndInt | $IpInstance_OUT1_Ext | $IpInstance_OUT2_ExtAndInt | $IpInstance_OUT2_Ext) &amp; ((DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE) | (DAC_SampleAndHold=DAC_SAMPLEANDHOLD_ENABLE))) " Action="Remove"  />
		<PossibleValue Comment="Disable" Value="DAC_OUTPUTBUFFER_DISABLE" Condition=" ! ((($IpInstance_OUT2_Ext | $IpInstance_OUT1_Ext) &amp; ( DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE )) | ( ($IpInstance_OUT1_Int | $IpInstance_OUT2_Int )  &amp; ((DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE) | (DAC_SampleAndHold=DAC_SAMPLEANDHOLD_ENABLE))) | ( ($IpInstance_OUT1_ExtAndInt | $IpInstance_OUT2_ExtAndInt) &amp; (DAC_SampleAndHold=DAC_SAMPLEANDHOLD_ENABLE)))"  Action="Remove" />
	</RefParameter>
<!--	 <RefParameter Comment="Output Buffer" DefaultValue="DAC_OUTPUTBUFFER_DISABLE" Name="DAC_OutputBuffer2" Type="list" >
            <Condition Expression="$IpInstance_OUT1_Int" Diagnostic="DISABLE wave generation"/>
            <PossibleValue Comment="Disable Output Buffer" Value="DAC_OUTPUTBUFFER_DISABLE"/>
	</RefParameter>
	<RefParameter Comment="Output Buffer" DefaultValue="DAC_OUTPUTBUFFER_ENABLE" Name="DAC_OutputBuffer2" Type="list" >
		<PossibleValue Comment="Enable Output Buffer" Value="DAC_OUTPUTBUFFER_ENABLE"/>
		<PossibleValue Comment="Disable Output Buffer" Value="DAC_OUTPUTBUFFER_DISABLE"/>
	</RefParameter>-->
	<!-- DISABLE triangle wave generation OUT1-->
	<RefParameter Comment="Triangle Amplitude" DefaultValue="null" Name="TriangleAmplitude" Type="list"  Visible="false">
		<Condition Expression="(WaveGeneration=DISABLE)|(WaveGeneration=NoiseWaveGeneration)" Diagnostic="DISABLE wave generation"/>
	</RefParameter>
<!-- amplitude for triangle OUT1 -->
	<RefParameter Comment="Maximum Triangle Amplitude" DefaultValue="DAC_TRIANGLEAMPLITUDE_1" Name="TriangleAmplitude" Type="list" >
		<Condition Expression="WaveGeneration=TriangleWaveGeneration" Diagnostic="DISABLE wave generation"/>
		<PossibleValue Comment="1" Value="DAC_TRIANGLEAMPLITUDE_1"/>
		<PossibleValue Comment="3" Value="DAC_TRIANGLEAMPLITUDE_3"/>
		<PossibleValue Comment="7" Value="DAC_TRIANGLEAMPLITUDE_7"/>
		<PossibleValue Comment="15" Value="DAC_TRIANGLEAMPLITUDE_15"/>
		<PossibleValue Comment="31" Value="DAC_TRIANGLEAMPLITUDE_31"/>
		<PossibleValue Comment="63" Value="DAC_TRIANGLEAMPLITUDE_63"/>
		<PossibleValue Comment="127" Value="DAC_TRIANGLEAMPLITUDE_127"/>
		<PossibleValue Comment="255" Value="DAC_TRIANGLEAMPLITUDE_255"/>
		<PossibleValue Comment="511" Value="DAC_TRIANGLEAMPLITUDE_511"/>
		<PossibleValue Comment="1023" Value="DAC_TRIANGLEAMPLITUDE_1023"/>
		<PossibleValue Comment="2047" Value="DAC_TRIANGLEAMPLITUDE_2047"/>
		<PossibleValue Comment="4095" Value="DAC_TRIANGLEAMPLITUDE_4095"/>
	</RefParameter>
	<RefParameter Comment="Maximum Triangle Amplitude" DefaultValue="DAC_TRIANGLEAMPLITUDE_1" Name="TriangleAmplitude" Type="list" >
		<PossibleValue Comment="1" Value="DAC_TRIANGLEAMPLITUDE_1"/>
		<PossibleValue Comment="3" Value="DAC_TRIANGLEAMPLITUDE_3"/>
		<PossibleValue Comment="7" Value="DAC_TRIANGLEAMPLITUDE_7"/>
		<PossibleValue Comment="15" Value="DAC_TRIANGLEAMPLITUDE_15"/>
		<PossibleValue Comment="31" Value="DAC_TRIANGLEAMPLITUDE_31"/>
		<PossibleValue Comment="63" Value="DAC_TRIANGLEAMPLITUDE_63"/>
		<PossibleValue Comment="127" Value="DAC_TRIANGLEAMPLITUDE_127"/>
		<PossibleValue Comment="255" Value="DAC_TRIANGLEAMPLITUDE_255"/>
		<PossibleValue Comment="511" Value="DAC_TRIANGLEAMPLITUDE_511"/>
		<PossibleValue Comment="1023" Value="DAC_TRIANGLEAMPLITUDE_1023"/>
		<PossibleValue Comment="2047" Value="DAC_TRIANGLEAMPLITUDE_2047"/>
		<PossibleValue Comment="4095" Value="DAC_TRIANGLEAMPLITUDE_4095"/>
	</RefParameter>
	<!-- DISABLE noise wave generation OUT1-->
	<RefParameter Comment="Noise Amplitude" DefaultValue="null" Name="NoiseAmplitude" Type="list"  Visible="false">
		<Condition Expression="(WaveGeneration=DISABLE)|(WaveGeneration=TriangleWaveGeneration)" Diagnostic="DISABLE wave generation"/>
	</RefParameter>
<!-- amplitude for Noise OUT1-->
	<RefParameter Comment="Noise Amplitude" DefaultValue="DAC_LFSRUNMASK_BIT0" Name="NoiseAmplitude" Type="list" >
		<Condition Expression="WaveGeneration=NoiseWaveGeneration" Diagnostic="DISABLE wave generation"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bit0 " Value="DAC_LFSRUNMASK_BIT0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[1:0] " Value="DAC_LFSRUNMASK_BITS1_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[2:0] " Value="DAC_LFSRUNMASK_BITS2_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[3:0] " Value="DAC_LFSRUNMASK_BITS3_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[4:0] " Value="DAC_LFSRUNMASK_BITS4_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[5:0] " Value="DAC_LFSRUNMASK_BITS5_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[6:0] " Value="DAC_LFSRUNMASK_BITS6_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[7:0] " Value="DAC_LFSRUNMASK_BITS7_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[8:0] " Value="DAC_LFSRUNMASK_BITS8_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[9:0] " Value="DAC_LFSRUNMASK_BITS9_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[10:0] " Value="DAC_LFSRUNMASK_BITS10_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[11:0] " Value="DAC_LFSRUNMASK_BITS11_0"/>
	</RefParameter>	
	<RefParameter Comment="Noise Amplitude" DefaultValue="DAC_LFSRUNMASK_BIT0" Name="NoiseAmplitude" Type="list" >
		<PossibleValue Comment="Unmask DAC channel LFSR bit0 " Value="DAC_LFSRUNMASK_BIT0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[1:0] " Value="DAC_LFSRUNMASK_BITS1_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[2:0] " Value="DAC_LFSRUNMASK_BITS2_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[3:0] " Value="DAC_LFSRUNMASK_BITS3_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[4:0] " Value="DAC_LFSRUNMASK_BITS4_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[5:0] " Value="DAC_LFSRUNMASK_BITS5_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[6:0] " Value="DAC_LFSRUNMASK_BITS6_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[7:0] " Value="DAC_LFSRUNMASK_BITS7_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[8:0] " Value="DAC_LFSRUNMASK_BITS8_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[9:0] " Value="DAC_LFSRUNMASK_BITS9_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[10:0] " Value="DAC_LFSRUNMASK_BITS10_0"/>
		<PossibleValue Comment="Unmask DAC channel LFSR bits[11:0] " Value="DAC_LFSRUNMASK_BITS11_0"/>
	</RefParameter>	
	
	<RefParameter Name="WaveGeneration" Comment="Wave generation mode" Type="list" DefaultValue="DISABLE"  Visible="false">
		<Condition Expression="DAC_Trigger=DAC_TRIGGER_NONE" Diagnostic="DAC Trigger on OUT1 disabled"/>
		<PossibleValue Value="DISABLE" Comment="Disabled"/>
	</RefParameter>
   <RefParameter Name="WaveGeneration" Comment="Wave generation mode" Type="list" DefaultValue="DISABLE" >
		<PossibleValue Value="DISABLE" Comment="Disabled"/>
		<PossibleValue Value="TriangleWaveGeneration" Comment="Triangle wave generation"/>
		<PossibleValue Value="NoiseWaveGeneration" Comment="Noise wave generation"/>
	</RefParameter>
        
        
	<!-- Connect On Chip Peripheral -->
      <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_ENABLE" Name="DAC_ConnectOnChipPeripheral1" Type="list" Visible="false">
            <Condition Expression="$IpInstance_OUT1_ExtAndInt|$IpInstance_OUT1_Int" Diagnostic=""/>
            <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
            <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_ENABLE"/>
        </RefParameter>  
        <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_DISABLE" Name="DAC_ConnectOnChipPeripheral1" Type="list">
            <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
            <PossibleValue Comment="Chipconnect Disable" Value="DAC_CHIPCONNECT_DISABLE"/>
        </RefParameter>
        
        
        <RefParameter Comment="Connect On Chip Peripheral2" DefaultValue="DAC_CHIPCONNECT_ENABLE" Name="DAC_ConnectOnChipPeripheral2" Type="list" Visible="false">
            <Condition Expression="$IpInstance_OUT2_ExtAndInt|$IpInstance_OUT2_Int" Diagnostic=""/>
            <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
            <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_ENABLE"/>
        </RefParameter>  
        <RefParameter Comment="Connect On Chip Peripheral2" DefaultValue="DAC_CHIPCONNECT_DISABLE" Name="DAC_ConnectOnChipPeripheral2" Type="list">
            <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
            <PossibleValue Comment="Chipconnect Disable" Value="DAC_CHIPCONNECT_DISABLE"/>
        </RefParameter>
        
	<!-- Connect On Chip Peripheral nouv version> 
    <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_INTERNAL" Name="DAC_ConnectOnChipPeripheral1" Type="list" Visible="false">
        <Condition Expression="$IpInstance_OUT1_Int" Diagnostic=""/>
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
        <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_INTERNAL"/>
    </RefParameter>  
     <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_BOTH" Name="DAC_ConnectOnChipPeripheral1" Type="list" Visible="false">
        <Condition Expression="$IpInstance_OUT1_ExtAndInt" Diagnostic=""/>
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
        <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_BOTH"/>
    </RefParameter>  
    <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_EXTERNAL" Name="DAC_ConnectOnChipPeripheral1" Type="list">
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
        <PossibleValue Comment="Chipconnect Disable" Value="DAC_CHIPCONNECT_EXTERNAL"/>
    </RefParameter>
    
    
    <RefParameter Comment="Connect On Chip Peripheral2" DefaultValue="DAC_CHIPCONNECT_INTERNAL" Name="DAC_ConnectOnChipPeripheral2" Type="list" Visible="false">
        <Condition Expression="$IpInstance_OUT2_Int" Diagnostic=""/>
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
        <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_INTERNAL"/>
    </RefParameter>  
    <RefParameter Comment="Connect On Chip Peripheral1" DefaultValue="DAC_CHIPCONNECT_BOTH" Name="DAC_ConnectOnChipPeripheral2" Type="list" Visible="false">
        <Condition Expression="$IpInstance_OUT2_ExtAndInt" Diagnostic=""/>
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral .</Description>
        <PossibleValue Comment="Chipconnect Enable" Value="DAC_CHIPCONNECT_BOTH"/>
    </RefParameter>
    <RefParameter Comment="Connect On Chip Peripheral2" DefaultValue="DAC_CHIPCONNECT_EXTERNAL" Name="DAC_ConnectOnChipPeripheral2" Type="list">
        <Description>Specifies whether the DAC output is connected or not to on chip peripheral </Description>
        <PossibleValue Comment="Chipconnect Disable" Value="DAC_CHIPCONNECT_EXTERNAL"/>
    </RefParameter--> 
            
        <!-- User Trimming -->
        <RefParameter Comment="User Trimming" DefaultValue="DAC_TRIMMING_FACTORY" Name="DAC_UserTrimming" Type="list">
            <Description>Specifies the trimming mode This parameter must be a value of DAC User Trimming DAC_UserTrimming is either factory or user trimming </Description>
            <PossibleValue Comment="Factory trimming " Value="DAC_TRIMMING_FACTORY"/>
            <PossibleValue Comment="User trimming " Value="DAC_TRIMMING_USER"/>
        </RefParameter>
        <RefParameter Comment="Trimming Value" DefaultValue="null" Name="DAC_TrimmingValue" Type="list" Visible="false">
            <Condition Expression="DAC_UserTrimming=DAC_TRIMMING_FACTORY" Diagnostic=""/>
            <Description>Specifies the offset trimming value i.</Description>
        </RefParameter>
                
        <RefParameter Comment="Trimming Value" DefaultValue="1" Max="31" Min="1" Name="DAC_TrimmingValue" Type="integer">
            <Description>Specifies the offset trimming value i.</Description>
        </RefParameter>
        
        <!-- Sample and hold settings-->
        <RefParameter Comment="Sample And Hold" DefaultValue="DAC_SAMPLEANDHOLD_DISABLE" Name="DAC_SampleAndHold" Type="list">
            <Description>Specifies whether the DAC mode.</Description>
            <PossibleValue Comment="Sampleandhold Disable" Value="DAC_SAMPLEANDHOLD_DISABLE"/>
            <PossibleValue Comment="Sampleandhold Enable" Value="DAC_SAMPLEANDHOLD_ENABLE" Semaphore="RCC_DAC_SAMPLEANDHOLD"/>
        </RefParameter>
        <RefParameter Comment="Sample Time" DefaultValue="null" Name="DAC_SampleTime" Type="list" Visible="false">
            <Condition Expression="DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE" Diagnostic=""/>
            <Description>Specifies the Sample time for the selected channel.</Description>
        </RefParameter>
        <RefParameter Comment="Hold Time" DefaultValue="null" Name="DAC_HoldTime" Type="list"  Visible="false">
            <Condition Expression="DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE" Diagnostic=""/>
            <Description>Specifies the hold time for the selected channel This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE.</Description>
        </RefParameter>
        <RefParameter Comment="Refresh Time" DefaultValue="null" Name="DAC_RefreshTime" Type="list"  Visible="false">
            <Condition Expression="DAC_SampleAndHold=DAC_SAMPLEANDHOLD_DISABLE" Diagnostic=""/>
            <Description>Specifies the refresh time for the selected channel This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE.</Description>
        </RefParameter>
        
        <RefParameter Comment="Sample Time" DefaultValue="0" Max="1023" Min="0" Name="DAC_SampleTime" Type="integer">
            <Description>Specifies the Sample time for the selected channel.</Description>
        </RefParameter>
        <RefParameter Comment="Hold Time" DefaultValue="0" Max="1023" Min="0" Name="DAC_HoldTime" Type="integer">
            <Description>Specifies the hold time for the selected channel This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE.</Description>
        </RefParameter>
        <RefParameter Comment="Refresh Time" DefaultValue="0" Max="255" Min="0" Name="DAC_RefreshTime" Type="integer">
            <Description>Specifies the refresh time for the selected channel This parameter applies when DAC_SampleAndHold is DAC_SAMPLEANDHOLD_ENABLE.</Description>
        </RefParameter>	
		
	<RefParameter Name="DAC_HighFrequency" Comment="DAC High Frequency" Type="list" DefaultValue="DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE"  Visible="true">
		<Condition Expression="DIE470" Diagnostic="DAC Trigger on OUT1 disabled"/>
		<PossibleValue Value="DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE" Comment="Mode Disable"/>
		<PossibleValue Value="DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_80MHZ" Comment="Mode Above 80MHz" />
		<PossibleValue Value="DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC" Comment="Mode Automatic"/>
	</RefParameter>
		<RefParameter Name="DAC_HighFrequency" Comment="DAC High Frequency" Type="list" DefaultValue="null"  Visible="false">

	</RefParameter>
	
                
    <RefMode Name="DAC_OUT1_ExtAndInt" Comment="DAC Out1 Mode" Group="DAC Out1 Settings" >
        <Condition Expression="$IpInstance_OUT1_ExtAndInt" Diagnostic=""/>
		<ConfigForMode>DAC_ChannelConfig1</ConfigForMode>
		<ConfigForMode>DAC_Init</ConfigForMode>
                <ConfigForMode>DAC_TriangleWaveGenerate1</ConfigForMode>
                <ConfigForMode>DAC_NoiseWaveGenerate1</ConfigForMode>
                <Parameter Name="DAC_OutputBuffer" />
               <!-- <PossibleValue>DAC_OUTPUTBUFFER_ENABLE</PossibleValue>
            </Parameter> -->
                <Parameter Name="DAC_Trigger"/>
                <Parameter Name="DAC_Channel">
                    <PossibleValue>DAC_CHANNEL_1</PossibleValue>
                </Parameter>
                <Parameter Name="WaveGeneration"/>
                <Parameter Name="DAC_HighFrequency"/>
                <Parameter Name="TriangleAmplitude"/>
                <Parameter Name="NoiseAmplitude"/>
                <Parameter Name="DAC_UserTrimming"/>
                <Parameter Name="DAC_TrimmingValue"/>
                <Parameter Name="DAC_SampleAndHold"/>
                <Parameter Name="DAC_SampleTime"/>
                <Parameter Name="DAC_HoldTime"/>
                <Parameter Name="DAC_RefreshTime"/>
    </RefMode>	
    <RefMode Name="DAC_OUT1_Int" Comment="DAC Out1 Mode" Group="DAC Out1 Settings" >
        <Condition Expression="$IpInstance_OUT1_Int" Diagnostic=""/>
		<ConfigForMode>DAC_ChannelConfig1</ConfigForMode>
		<ConfigForMode>DAC_Init</ConfigForMode>
                <ConfigForMode>DAC_TriangleWaveGenerate1</ConfigForMode>
                <ConfigForMode>DAC_NoiseWaveGenerate1</ConfigForMode>
                <Parameter Name="DAC_OutputBuffer" />
               <!-- <PossibleValue>DAC_OUTPUTBUFFER_DISABLE</PossibleValue>
                </Parameter> -->
                <Parameter Name="DAC_Trigger"/>
                <Parameter Name="DAC_Channel">
                    <PossibleValue>DAC_CHANNEL_1</PossibleValue>
                </Parameter>
                <Parameter Name="WaveGeneration"/>
                <Parameter Name="DAC_HighFrequency"/>
                <Parameter Name="TriangleAmplitude"/>
                <Parameter Name="NoiseAmplitude"/>
                <Parameter Name="DAC_UserTrimming"/>
                <Parameter Name="DAC_TrimmingValue"/>
                <Parameter Name="DAC_SampleAndHold"/>
                <Parameter Name="DAC_SampleTime"/>
                <Parameter Name="DAC_HoldTime"/>
                <Parameter Name="DAC_RefreshTime"/>
    </RefMode>	
	<RefMode Name="DAC_OUT1" Comment="DAC Out1 Mode" Group="DAC Out1 Settings" >
    	<!--Condition Expression="$IpInstance_OUT1_Ext" Diagnostic=""/-->
		<ConfigForMode>DAC_ChannelConfig1</ConfigForMode>
		<ConfigForMode>DAC_Init</ConfigForMode>
                <ConfigForMode>DAC_TriangleWaveGenerate1</ConfigForMode>
                <ConfigForMode>DAC_NoiseWaveGenerate1</ConfigForMode>
                <Parameter Name="DAC_OutputBuffer"/>
                <Parameter Name="DAC_Trigger"/>
                <Parameter Name="DAC_Channel">
                    <PossibleValue>DAC_CHANNEL_1</PossibleValue>
                </Parameter>
                <Parameter Name="WaveGeneration"/>
                <Parameter Name="DAC_HighFrequency"/>
                <Parameter Name="TriangleAmplitude"/>
                <Parameter Name="NoiseAmplitude"/>
                <Parameter Name="DAC_UserTrimming"/>
                <Parameter Name="DAC_TrimmingValue"/>
                <Parameter Name="DAC_SampleAndHold"/>
                <Parameter Name="DAC_SampleTime"/>
                <Parameter Name="DAC_HoldTime"/>
                <Parameter Name="DAC_RefreshTime"/>
    </RefMode>
        
<!--	<RefMode Name="DAC_OUT1_Internal" Comment="DAC Out1 Mode" Group="DAC Out1 Settings" BaseMode="DAC_OUT1">
		
            <Parameter Name="DAC_OutputBuffer">
                <PossibleValue>DAC_OUTPUTBUFFER_DISABLE</PossibleValue>
            </Parameter>
                
        </RefMode>
        <RefMode Name="DAC_OUT1_IntAndExt" Comment="DAC Out1 Mode" Group="DAC Out1 Settings" BaseMode="DAC_OUT1">
		
            <Parameter Name="DAC_OutputBuffer">
                <PossibleValue>DAC_OUTPUTBUFFER_ENABLE</PossibleValue>
            </Parameter>
                
    </RefMode>-->
        
    <RefMode Name="DAC_OUT2_ExtAndInt" Comment="DAC Out2 Mode" Group="DAC Out2 Settings">
        <Condition Expression="$IpInstance_OUT2_ExtAndInt" Diagnostic=""/>
        <ConfigForMode>DAC_ChannelConfig2</ConfigForMode>
        <ConfigForMode>DAC_Init</ConfigForMode>
        <ConfigForMode>DAC_TriangleWaveGenerate2</ConfigForMode>
        <ConfigForMode>DAC_NoiseWaveGenerate2</ConfigForMode>
        <Parameter Name="DAC_OutputBuffer" />
        <!--  <PossibleValue>DAC_OUTPUTBUFFER_ENABLE</PossibleValue>
        </Parameter> -->
        <Parameter Name="DAC_Trigger"/>
        <Parameter Name="DAC_Channel">
            <PossibleValue>DAC_CHANNEL_2</PossibleValue>
        </Parameter>
        <Parameter Name="WaveGeneration"/>
        <Parameter Name="DAC_HighFrequency"/>
        <Parameter Name="TriangleAmplitude"/>
        <Parameter Name="NoiseAmplitude"/>
        <Parameter Name="DAC_UserTrimming"/>
        <Parameter Name="DAC_TrimmingValue"/>
        <Parameter Name="DAC_SampleAndHold"/>
        <Parameter Name="DAC_SampleTime"/>
        <Parameter Name="DAC_HoldTime"/>
        <Parameter Name="DAC_RefreshTime"/>
    </RefMode>
    <RefMode Name="DAC_OUT2_Int" Comment="DAC Out2 Mode" Group="DAC Out2 Settings">
        <Condition Expression="$IpInstance_OUT2_Int" Diagnostic=""/>
        <ConfigForMode>DAC_ChannelConfig2</ConfigForMode>
        <ConfigForMode>DAC_Init</ConfigForMode>
        <ConfigForMode>DAC_TriangleWaveGenerate2</ConfigForMode>
        <ConfigForMode>DAC_NoiseWaveGenerate2</ConfigForMode>
        <Parameter Name="DAC_OutputBuffer" />
        <!--  <PossibleValue>DAC_OUTPUTBUFFER_DISABLE</PossibleValue>
        </Parameter> -->
        <Parameter Name="DAC_Trigger"/>
        <Parameter Name="DAC_Channel">
            <PossibleValue>DAC_CHANNEL_2</PossibleValue>
        </Parameter>
        <Parameter Name="WaveGeneration"/>
        <Parameter Name="DAC_HighFrequency"/>
        <Parameter Name="TriangleAmplitude"/>
        <Parameter Name="NoiseAmplitude"/>
        <Parameter Name="DAC_UserTrimming"/>
        <Parameter Name="DAC_TrimmingValue"/>
        <Parameter Name="DAC_SampleAndHold"/>
        <Parameter Name="DAC_SampleTime"/>
        <Parameter Name="DAC_HoldTime"/>
        <Parameter Name="DAC_RefreshTime"/>
    </RefMode>
    <RefMode Name="DAC_OUT2" Comment="DAC Out2 Mode" Group="DAC Out2 Settings">
        <!--Condition Expression="$IpInstance_OUT2_Ext" Diagnostic=""/-->
        <ConfigForMode>DAC_ChannelConfig2</ConfigForMode>
        <ConfigForMode>DAC_Init</ConfigForMode>
        <ConfigForMode>DAC_TriangleWaveGenerate2</ConfigForMode>
        <ConfigForMode>DAC_NoiseWaveGenerate2</ConfigForMode>
        <Parameter Name="DAC_OutputBuffer"/>
        <Parameter Name="DAC_Trigger"/>
        <Parameter Name="DAC_Channel">
            <PossibleValue>DAC_CHANNEL_2</PossibleValue>
        </Parameter>
        <Parameter Name="WaveGeneration"/>
        <Parameter Name="DAC_HighFrequency"/>
        <Parameter Name="TriangleAmplitude"/>
        <Parameter Name="NoiseAmplitude"/>
        <Parameter Name="DAC_UserTrimming"/>
        <Parameter Name="DAC_TrimmingValue"/>
        <Parameter Name="DAC_SampleAndHold"/>
        <Parameter Name="DAC_SampleTime"/>
        <Parameter Name="DAC_HoldTime"/>
        <Parameter Name="DAC_RefreshTime"/>
    </RefMode>
        
    <RefMode Name="DAC_Init" Comment="DAC Initialisation">
        <ConfigForMode>DAC_Init</ConfigForMode>
    </RefMode>	
    <RefMode Name="External-Trigger" Comment="External-Trigger">                   
           
    </RefMode>
    <ModeLogicOperator Name="OR">
        <Mode Name="DAC_OUT1" UserName="OUT1 mode">
            <ModeLogicOperator Name="XOR">
                <Mode Name="DAC_OUT1" UserName="Connected to external pin only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OUT1"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT1_Ext</Semaphore>
                    <Semaphore>$IpInstance_OUT1_Conf</Semaphore>
                </Mode>
                <Mode Name="DAC_OUT1_Int" UserName="Connected to on chip-peripherals only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_DACI1"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT1_Int</Semaphore>
                    <Semaphore>$IpInstance_OUT1_Conf</Semaphore>
                </Mode>
                <Mode Name="DAC_OUT1_ExtAndInt" UserName="Connected to external pin and to on chip-peripherals">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OUT1"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT1_ExtAndInt</Semaphore>
                    <Semaphore>$IpInstance_OUT1_Conf</Semaphore>
                </Mode>
                                
            </ModeLogicOperator>
            <Semaphore>$IpInstance_Channel1_Used</Semaphore>
        </Mode>
        <Mode Name="DAC_OUT2" UserName="OUT2 mode" RemoveCondition="DIE462">
            <ModeLogicOperator Name="XOR">
                <Mode Name="DAC_OUT2"  UserName="Connected to external pin only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OUT2"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT2_Ext</Semaphore>
                    <Semaphore>$IpInstance_OUT2_Conf</Semaphore>
                </Mode>
                <Mode Name="DAC_OUT2_Int" UserName="Connected to on chip-peripherals only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_DACI2"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT2_Int</Semaphore>
                    <Semaphore>$IpInstance_OUT2_Conf</Semaphore>
                </Mode>
                <Mode Name="DAC_OUT2_ExtAndInt" UserName="Connected to external pin and to on chip-peripherals">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OUT2"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_OUT2_ExtAndInt</Semaphore>
                    <Semaphore>$IpInstance_OUT2_Conf</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Semaphore>$IpInstance_Channel2_Used</Semaphore>
        </Mode>
	
        <Mode Name="External-Trigger" UserName="External Trigger">
            <ModeLogicOperator Name="OR">
                <Mode Name="External-Trigger">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="EXTI9"/>
                    </SignalLogicalOp>
                    <Condition Expression="$IpInstance_Channel1_Used|$IpInstance_Channel2_Used" Diagnostic="External Trigger should be available only if an OUT Configuration is selected"/>
                    <Semaphore>$IpInstance_External_Trigger</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <!--<Condition Expression="DAC_Base" Diagnostic="DAC Configuration should be activated"/>-->
        </Mode>
    </ModeLogicOperator>
    <!--	<RefSignal IOMode="EXTI" Name="EXTI9"/>-->
    <RefSignal IOMode="EXTI" Name="EXTI9" ShareableGroupName="GPXTI9" /> <!-- GPXTI is a keyword -->
    <RefSignal IOMode="Analog" Name="OUT1" ShareableGroupName="COMP_$IpInstance1_group"/>
    <RefSignal IOMode="Analog" Name="OUT2" ShareableGroupName="COMP_$IpInstance2_group"/>
    <RefSignal Name="VS_DACI1" Virtual="true"/>
    <RefSignal Name="VS_DACI2" Virtual="true"/>
        

</IP>
