<?xml version="1.0" encoding="UTF-8" standalone="no"?><IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" DBVersion="V3.0" IPType="peripheral" Name="OPAMP" Version="cmosf9_opamp_v1_0_Cube" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../db/IP_Modes_V3_0.xsd">
	
	
	<RefParameter Comment="Instance" DefaultValue="OPAMP$Index" Name="Instance" Type="" Visible="false"/>
	<!-- NonInvertingInput -->
	
	
	<RefParameter Comment="Non Inverting Input" DefaultValue="OPAMP_NONINVERTINGINPUT_DAC_CH1" Group="Basic Parameters" Name="NonInvertingInput" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpInstance_FOLLOWER_DAC_INP|$IpInstance_STANDALONE_DAC_INP) &amp;($IpNumber=1)"/>
		<PossibleValue Comment="OPAMP Non Inverting  Channel 1" Value="OPAMP_NONINVERTINGINPUT_DAC_CH1"/>
	</RefParameter>
	
	<RefParameter Comment="Non Inverting Input" DefaultValue="OPAMP_NONINVERTINGINPUT_DAC_CH1" Group="Basic Parameters" Name="NonInvertingInput" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpInstance_FOLLOWER_DAC1_INP|$IpInstance_STANDALONE_DAC1_INP) &amp;($IpNumber=2)"/>
		<PossibleValue Comment="OPAMP Non Inverting  Channel 1" Value="OPAMP_NONINVERTINGINPUT_DAC_CH1"/>
	</RefParameter>
	<RefParameter Comment="Non Inverting Input" DefaultValue="OPAMP_NONINVERTINGINPUT_DAC_CH2" Group="Basic Parameters" Name="NonInvertingInput" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpInstance_FOLLOWER_DAC2_INP|$IpInstance_STANDALONE_DAC2_INP) &amp;($IpNumber=2)"/>
		<PossibleValue Comment="OPAMP Non Inverting  Channel 2" Value="OPAMP_NONINVERTINGINPUT_DAC_CH2"/>
	</RefParameter>
	<RefParameter Comment="Non Inverting Input" DefaultValue="OPAMP_NONINVERTINGINPUT_DAC_CH2" Group="Basic Parameters" Name="NonInvertingInput" Type="list" Visible="false">
		<Condition Diagnostic="" Expression="($IpInstance_FOLLOWER_DAC_INP|$IpInstance_STANDALONE_DAC_INP) &amp;($IpNumber=3)"/>
		<PossibleValue Comment="OPAMP Non Inverting  Channel 2" Value="OPAMP_NONINVERTINGINPUT_DAC_CH2"/>
	</RefParameter>
	<RefParameter Comment="Non Inverting Input" DefaultValue="OPAMP_NONINVERTINGINPUT_IO0" Group="Basic Parameters" Name="NonInvertingInput" Type="list" Visible="false">
		<PossibleValue Comment="OPAMP Non Inverting Input VP0" Value="OPAMP_NONINVERTINGINPUT_IO0"/>
	</RefParameter>
	
	<!-- InvertingInput -->
	
	<RefParameter Comment="Inverting Input" DefaultValue="OPAMP_INVERTINGINPUT_IO0" Group="Basic Parameters" Name="InvertingInput" Type="list" Visible="false">
	    <Condition Diagnostic="" Expression="PA2_OPAMP1_VINM &amp; ($IpNumber=1) &amp; ($IpInstance_STANDALONE)"/>
		<PossibleValue Comment="OPAMP Inverting Input VM0" Value="OPAMP_INVERTINGINPUT_IO0"/>
	</RefParameter>
	<RefParameter Comment="Inverting Input" DefaultValue="OPAMP_INVERTINGINPUT_IO0" Group="Basic Parameters" Name="InvertingInput" Type="list" Visible="false">
	    <Condition Diagnostic="" Expression="PA7_OPAMP2_VINM &amp; ($IpNumber=2) &amp; ($IpInstance_STANDALONE)"/>
		<PossibleValue Comment="OPAMP Inverting Input VM0" Value="OPAMP_INVERTINGINPUT_IO0"/>
	</RefParameter>
	<RefParameter Comment="Inverting Input" DefaultValue="OPAMP_INVERTINGINPUT_IO0" Group="Basic Parameters" Name="InvertingInput" Type="list" Visible="false">
	    <Condition Diagnostic="" Expression="PC2_OPAMP3_VINM &amp; ($IpNumber=3) &amp; ($IpInstance_STANDALONE)"/>
		<PossibleValue Comment="OPAMP Inverting Input VM0" Value="OPAMP_INVERTINGINPUT_IO0"/>
	</RefParameter>
	<RefParameter Comment="Inverting Input" DefaultValue="OPAMP_INVERTINGINPUT_IO1" Group="Basic Parameters" Name="InvertingInput" Type="list" Visible="false">
		 <Condition Diagnostic="" Expression="($IpInstance_STANDALONE)"/>
		<PossibleValue Comment="OPAMP Inverting Input VM1" Value="OPAMP_INVERTINGINPUT_IO1"/>
	</RefParameter>
	
	<RefParameter Comment="Inverting Input" DefaultValue="null" Group="Basic Parameters" Name="InvertingInput" Type="list" Visible="false"/>
	
	
	

	
	<RefParameter Comment="Power Mode" DefaultValue="OPAMP_POWERMODE_NORMAL" Group="Basic Parameters" Name="PowerMode" Type="list">
		<PossibleValue Comment="Normal" Value="OPAMP_POWERMODE_NORMAL"/>
		<PossibleValue Comment="Low Power" Value="OPAMP_POWERMODE_LOWPOWER"/>
	</RefParameter>
	
	<RefParameter Comment="Power Supply Range" DefaultValue="OPAMP_POWERSUPPLY_LOW" Group="Basic Parameters" Name="PowerSupplyRange" Type="list">
		<PossibleValue Comment="Power Supply Range Low" Value="OPAMP_POWERSUPPLY_LOW"/>
		<PossibleValue Comment="Power Supply Range High" Value="OPAMP_POWERSUPPLY_HIGH"/>
	</RefParameter>
	
	
	<RefParameter Comment="User Trimming" DefaultValue="OPAMP_TRIMMING_FACTORY" Group="Basic Parameters" Name="UserTrimming" Type="list">
		<PossibleValue Comment="Enable" Semaphore="userTrimming" Value="OPAMP_TRIMMING_USER"/>
		<PossibleValue Comment="Disable" Value="OPAMP_TRIMMING_FACTORY"/>
	</RefParameter>
	
	
 <RefParameter Comment="Self Calibration" DefaultValue="Disable" Group="Basic Parameters" Name="SelfCalibration" Type="list">
	    <Condition Diagnostic="" Expression="UserTrimming = OPAMP_TRIMMING_USER"/>
		<PossibleValue Comment="Enable" Semaphore="$IpInstance_Self_Calibrate" Value="Enable"/>
		<PossibleValue Comment="Disable" Value="Disable"/>
	</RefParameter>
        <RefParameter Comment="Self Calibration" DefaultValue="null" Group="Basic Parameters" Name="SelfCalibration" Type="integer" Visible="false"/>
	
	<RefParameter Comment="OffSet Trimming Value (PMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueP" Type="integer" Visible="false">
		<Condition Diagnostic="" Expression="SelfCalibration = Enable  &amp;  PowerMode = OPAMP_POWERMODE_NORMAL"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value (PMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueP" Type="integer" Visible="true">
		<Condition Diagnostic="" Expression="UserTrimming = OPAMP_TRIMMING_USER &amp; SelfCalibration = Disable &amp;  PowerMode = OPAMP_POWERMODE_NORMAL"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value (PMOS)" DefaultValue="null" Group="Basic Parameters" Name="TrimmingValueP" Type="integer" Visible="false"/>
		
		
	<RefParameter Comment="OffSet Trimming Value (NMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueN" Type="integer" Visible="false">
      <Condition Diagnostic="" Expression="SelfCalibration = Enable  &amp; PowerMode = OPAMP_POWERMODE_NORMAL"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value (NMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueN" Type="integer" Visible="true">
        <Condition Diagnostic="" Expression="UserTrimming = OPAMP_TRIMMING_USER &amp;  SelfCalibration = Disable &amp; PowerMode = OPAMP_POWERMODE_NORMAL"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value (NMOS)" DefaultValue="null" Group="Basic Parameters" Name="TrimmingValueN" Type="integer" Visible="false"/>
	
	
	<RefParameter Comment="OffSet Trimming Value Low Power (PMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValuePLowPower" Type="integer" Visible="false">
		<Condition Diagnostic="" Expression=" SelfCalibration = Enable &amp;  PowerMode = OPAMP_POWERMODE_LOWPOWER"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value Low Power (PMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValuePLowPower" Type="integer">
		<Condition Diagnostic="" Expression="UserTrimming = OPAMP_TRIMMING_USER &amp;  SelfCalibration = Disable &amp; PowerMode = OPAMP_POWERMODE_LOWPOWER"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value Low Power (PMOS)" DefaultValue="null" Group="Basic Parameters" Name="TrimmingValuePLowPower" Type="integer" Visible="false"/>
		
	
	
	<RefParameter Comment="OffSet Trimming Value Low Power (NMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueNLowPower" Type="integer" Visible="false">
        <Condition Diagnostic="" Expression=" SelfCalibration = Enable &amp; PowerMode = OPAMP_POWERMODE_LOWPOWER"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value Low Power (NMOS)" DefaultValue="15" Group="Basic Parameters" Max="31" Min="0" Name="TrimmingValueNLowPower" Type="integer">
        <Condition Diagnostic="" Expression="UserTrimming = OPAMP_TRIMMING_USER &amp;  SelfCalibration = Disable &amp; PowerMode = OPAMP_POWERMODE_LOWPOWER"/>
	</RefParameter>
	<RefParameter Comment="OffSet Trimming Value Low Power (NMOS)" DefaultValue="null" Group="Basic Parameters" Name="TrimmingValueNLowPower" Type="integer" Visible="false"/>
	
	<RefParameter Comment="Mode" DefaultValue="OPAMP_STANDALONE_MODE" Group="Basic Parameters" Name="Mode" Type="list" Visible="false">	
	<Condition Diagnostic="" Expression="$IpInstance_STANDALONE"/>
		<PossibleValue Comment="Standalone" Value="OPAMP_STANDALONE_MODE"/>
	</RefParameter>
	<RefParameter Comment="Mode" DefaultValue="OPAMP_FOLLOWER_MODE" Group="Basic Parameters" Name="Mode" Type="list" Visible="false">	
		<PossibleValue Comment="Follower" Value="OPAMP_FOLLOWER_MODE"/>
	</RefParameter>
	
	
	<RefMode Abstract="true" Name="opamp">
	<Condition Diagnostic="" Expression="$IpInstance_Self_Calibrate"/>
		<ConfigForMode>OPAMP_Init</ConfigForMode>
		<ConfigForMode>OPAMP_SelfCalibration</ConfigForMode>
		<!-- Basic Parameters -->	
		<Parameter Name="PowerSupplyRange"/>
		<Parameter Name="InvertingInput"/>
		<Parameter Name="NonInvertingInput"/>
		<Parameter Name="PowerMode"/>
		<Parameter Name="UserTrimming"/>
		<Parameter Name="SelfCalibration"/>
		<Parameter Name="TrimmingValueP"/>
		<Parameter Name="TrimmingValueN"/>
		<Parameter Name="TrimmingValuePLowPower"/>
		<Parameter Name="TrimmingValueNLowPower"/>
		<Parameter Name="Mode"/>
	</RefMode>
	<RefMode Abstract="true" Name="opamp">
		<ConfigForMode>OPAMP_Init</ConfigForMode>
		<!-- Basic Parameters -->
		<Parameter Name="PowerSupplyRange"/>
		<Parameter Name="InvertingInput"/>
		<Parameter Name="NonInvertingInput"/>
		<Parameter Name="PowerMode"/>
		<Parameter Name="UserTrimming"/>
		<Parameter Name="SelfCalibration"/>
		<Parameter Name="TrimmingValueP"/>
		<Parameter Name="TrimmingValueN"/>
		<Parameter Name="TrimmingValuePLowPower"/>
		<Parameter Name="TrimmingValueNLowPower"/>
		<Parameter Name="Mode"/>
	</RefMode>
		<!-- RefModes for Ext-Gain-Setting mode -->
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Standalone">
		<!-- <ConfigForMode>OPAMP_Init</ConfigForMode>-->
		<!-- Basic Parameters -->	
		<!-- <Parameter Name="PowerSupplyRange"/>
		<Parameter Name="InvertingInput"/>
		<Parameter Name="NonInvertingInput"/>
		<Parameter Name="PowerMode"/>
		<Parameter Name="UserTrimming"/>
		<Parameter Name="TrimmingValueP"/>
		<Parameter Name="TrimmingValueN"/>
		<Parameter Name="TrimmingValuePLowPower"/>
		<Parameter Name="TrimmingValueNLowPower"/>
		<Parameter Name="Mode"/>-->
	</RefMode>
	
		<!-- RefModes for Ext-Gain-Setting-DAC-INP mode -->

	
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Standalone-DAC_OUT1-INP">
		
	</RefMode>
	
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Standalone-DAC_OUT2-INP">
		
	</RefMode>
	
	
		<!-- RefModes for Follower configuration mode -->
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Follower">
		
	</RefMode>
	
		<!-- RefModes for Follower-DAC-INP configuration mode -->
	
	
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Follower-DAC_OUT1-INP">
		
	</RefMode>
	
	<RefMode BaseMode="opamp" HalMode="OPAMP" Name="Follower-DAC_OUT2-INP">
		
	</RefMode>
	
	<ModeLogicOperator Name="OR">
		<Mode Name="Mode">
			<ModeLogicOperator Name="XOR">
				<Mode Name="Standalone">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINM"/>
						<Signal Name="VINP"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Semaphore>$IpInstance_STANDALONE</Semaphore>
				</Mode>
				<Mode Name="Standalone-DAC_OUT1-INP" RemoveCondition="($IpNumber=2)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINM"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out1 is enabled" Expression="(DAC_OUT1_Conf) &amp; ($Index=1) "/>
					<Semaphore>$IpInstance_STANDALONE_DAC_INP</Semaphore>
					<Semaphore>$IpInstance_STANDALONE</Semaphore>
				</Mode>
				<Mode Name="Standalone-DAC_OUT1-INP" RemoveCondition="($IpNumber=1)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINM"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out1 is enabled" Expression="(DAC_OUT1_Conf) &amp; ($Index=2) "/>
					<Semaphore>$IpInstance_STANDALONE_DAC1_INP</Semaphore>
					<Semaphore>$IpInstance_STANDALONE</Semaphore>
				</Mode>
				<Mode Name="Standalone-DAC_OUT2-INP" RemoveCondition="($IpNumber=1)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINM"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out2 is enabled" Expression="(DAC_OUT2_Conf) &amp; ($Index=2) "/>
					<Semaphore>$IpInstance_STANDALONE_DAC2_INP</Semaphore>
					<Semaphore>$IpInstance_STANDALONE</Semaphore>
				</Mode>
					<Mode Name="Standalone-DAC_OUT2-INP" RemoveCondition="($IpNumber=1)|($IpNumber=2)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINM"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out2 is enabled" Expression="(DAC_OUT2_Conf) &amp; ($Index=3) "/>
					<Semaphore>$IpInstance_STANDALONE_DAC_INP</Semaphore>
					<Semaphore>$IpInstance_STANDALONE</Semaphore>
				</Mode>
				<Mode Name="Follower">
					<SignalLogicalOp Name="AND">
						<Signal Name="VINP"/>
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
				</Mode>
				<Mode Name="Follower-DAC_OUT1-INP" RemoveCondition="($IpNumber=2)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out1 is enabled" Expression="(DAC_OUT1_Conf) &amp; ($Index=1) "/>
					<Semaphore>$IpInstance_FOLLOWER_DAC_INP</Semaphore>
				</Mode>
				<Mode Name="Follower-DAC_OUT1-INP" RemoveCondition="($IpNumber=1)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out1 is enabled" Expression="(DAC_OUT1_Conf) &amp; ($Index=2) "/>
					<Semaphore>$IpInstance_FOLLOWER_DAC1_INP</Semaphore>
				</Mode>
				<Mode Name="Follower-DAC_OUT2-INP" RemoveCondition="($IpNumber=1)|($IpNumber=3)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out2 is enabled" Expression="(DAC_OUT2_Conf ) &amp; ($Index=2) "/>
					<Semaphore>$IpInstance_FOLLOWER_DAC2_INP</Semaphore>
				</Mode>
				<Mode Name="Follower-DAC_OUT2-INP" RemoveCondition="($IpNumber=1)|($IpNumber=2)">
					<SignalLogicalOp Name="AND">
						<Signal Name="VOUT"/>
					</SignalLogicalOp>
					<Condition Diagnostic="Only active when DAC channel out2 is enabled" Expression="(DAC_OUT2_Conf) &amp; ($Index=3) "/>
					<Semaphore>$IpInstance_FOLLOWER_DAC_INP</Semaphore>
				</Mode>
			</ModeLogicOperator>
				<Condition Diagnostic="OPAMP IP can be selected if ADC IP channel speed is not set" Expression="(!SPEED_isSetFor_CHANNEL_3 &amp; ($Index=1)) | (!SPEED_isSetFor_CHANNEL_8 &amp; ($Index=2)) |(!SPEED_isSetFor_CHANNEL_13 &amp; ($Index=3)) "/>
			<Semaphore>$IpInstance_OUTPUT_SELECTED_AS_ADC_INPUT</Semaphore>
		</Mode>
	</ModeLogicOperator>
	
	<RefSignal IOMode="Analog" Name="VINM"/>
	<RefSignal IOMode="Analog" Name="VINP"/>
	<RefSignal IOMode="Analog" Name="VOUT"/>
	
	<Semaphore>$IpInstance</Semaphore>
</IP>