1<?xml version="1.0" encoding="utf-8"?> 2 3 4<!--**************************************************************************** 5* \file pwm_v2.cypersonality 6* \version 1.0 7* 8* \brief 9* PWM personality description file. 10* 11******************************************************************************** 12* \copyright 13* Copyright 2018-2022 Cypress Semiconductor Corporation 14* SPDX-License-Identifier: Apache-2.0 15* 16* Licensed under the Apache License, Version 2.0 (the "License"); 17* you may not use this file except in compliance with the License. 18* You may obtain a copy of the License at 19* 20* http://www.apache.org/licenses/LICENSE-2.0 21* 22* Unless required by applicable law or agreed to in writing, software 23* distributed under the License is distributed on an "AS IS" BASIS, 24* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25* See the License for the specific language governing permissions and 26* limitations under the License. 27*****************************************************************************--> 28 29<Personality id="mxs40pwm_ver2" name="PWM" version="1.0" xmlns="http://cypress.com/xsd/cyhwpersonality_v8"> 30 <Dependencies> 31 <IpBlock name="mxtcpwm_ver2,mxs40tcpwm" /> 32 <Resource name="tcpwm\.group\.cnt" /> 33 <OperatingMode value="MCU"/> 34 </Dependencies> 35 <ExposedMembers /> 36 <Parameters> 37 <!-- PDL documentation --> 38 <ParamDoc id="pdlDoc" name="Configuration Help" group="Overview" default="file:///`${cy_libs_path()}`/docs/pdl_api_reference_manual/html/group__group__tcpwm__pwm.html" linkText="Open PWM (TCPWM) Documentation" visible="true" desc="Opens the Peripheral Driver Library Documentation" /> 39 40 <!--General--> 41 <ParamRange id="pCntGroup" name="pCntGroup" desc="pCntGroup" group="Internal" default="`${getInstNumber("group")}`" min="0" max="3" resolution="1" visible="false" editable="false" /> 42 <ParamRange id="pMaxGroupCount" name="pMaxGroupCount" desc="pMaxGroupCount" group="Internal" default="4" min="0" max="4" resolution="1" visible="false" editable="false" /> 43 <ParamString id="pCntWidthEx" name="pCntWidthEx" desc="pCntWidthEx" group="Internal" default="GRP_NR[`${pCntGroup}`].CNT.GRP_CNT_WIDTH" visible="false" editable="false" /> 44 <ParamRange id="pCntWidth" name="pCntWidth" desc="pCntWidth" group="Internal" default="`${lookupExpression(pCntWidthEx)}`" min="0" max="32" resolution="1" visible="false" editable="false" /> 45 <ParamRange id="pCntWidthMax" name="pCntWidthMax" desc="pCntWidthMax" group="Internal" default="`${pow(2, pCntWidth)-1}`" min="0" max="4294967296" resolution="1" visible="false" editable="false" /> 46 <ParamRange id="tcpwmInst" name="TCPWM Number" group="Internal" default="`${getInstNumber("tcpwm")}`" min="0" max="3" resolution="1" visible="false" editable="false" desc="" /> 47 <ParamRange id="cntInst" name="CNT Number" group="Internal" default="`${getInstNumber("cnt") + pCntGroup * 256}`" min="0" max="1023" resolution="1" visible="false" editable="false" desc="" /> 48 <ParamString id="pCntCC1Ex" name="pCntCC1Ex" desc="pCntCC1Ex" group="Internal" default="GRP_NR[`${pCntGroup}`].CNT.GRP_CC1_PRESENT" visible="false" editable="false" /> 49 <ParamBool id="pCntCC1" name="pCntCC1" desc="pCntCC1" group="Internal" default="`${lookupExpression(pCntCC1Ex) eq 1}`" visible="false" editable="false" /> 50 <ParamString id="pCntAMCEx" name="pCntAMCEx" desc="pCntAMCEx" group="Internal" default="GRP_NR[`${pCntGroup}`].CNT.GRP_AMC_PRESENT" visible="false" editable="false" /> 51 <ParamBool id="pCntAMC" name="pCntAMC" desc="pCntAMC" group="Internal" default="`${lookupExpression(pCntAMCEx) eq 1}`" visible="false" editable="false" /> 52 53 <ParamString id="TCPWM_version" name="TCPWM Version" group="General" default="TCPWM_ver2" visible="false" editable="false" desc="Version of the TCPWM hardware block"/> 54 55 <ParamChoice id="PwmMode" name="PWM Mode" group="General" default="CY_TCPWM_PWM_MODE_PWM" visible="true" editable="true" desc="Selects the PWM mode of operation."> 56 <Entry name="PWM" value="CY_TCPWM_PWM_MODE_PWM" visible="true" /> 57 <Entry name="PWM Dead Time" value="CY_TCPWM_PWM_MODE_DEADTIME" visible="true" /> 58 <Entry name="PWM Pseudo random" value="CY_TCPWM_PWM_MODE_PSEUDORANDOM" visible="`${("mxs40tcpwm" ne getIpBlockName())}`" /> 59 </ParamChoice> 60 <ParamBool id="pPwmNePrs" name="pPwmNePrs" desc="pPwmNePrs" group="Internal" default="`${PwmMode ne CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" visible="false" editable="false" /> 61 62 <ParamChoice id="ClockPrescaler" name="Clock Prescaler" group="General" default="CY_TCPWM_PWM_PRESCALER_DIVBY_1" visible="`${(PwmMode ne CY_TCPWM_PWM_MODE_DEADTIME) || ("mxs40tcpwm" eq getIpBlockName())}`" editable="true" desc="Divides down the input clock." > 63 <Entry name="Divide by 1" value="CY_TCPWM_PWM_PRESCALER_DIVBY_1" visible="true" /> 64 <Entry name="Divide by 2" value="CY_TCPWM_PWM_PRESCALER_DIVBY_2" visible="true" /> 65 <Entry name="Divide by 4" value="CY_TCPWM_PWM_PRESCALER_DIVBY_4" visible="true" /> 66 <Entry name="Divide by 8" value="CY_TCPWM_PWM_PRESCALER_DIVBY_8" visible="true" /> 67 <Entry name="Divide by 16" value="CY_TCPWM_PWM_PRESCALER_DIVBY_16" visible="true" /> 68 <Entry name="Divide by 32" value="CY_TCPWM_PWM_PRESCALER_DIVBY_32" visible="true" /> 69 <Entry name="Divide by 64" value="CY_TCPWM_PWM_PRESCALER_DIVBY_64" visible="true" /> 70 <Entry name="Divide by 128" value="CY_TCPWM_PWM_PRESCALER_DIVBY_128" visible="true" /> 71 </ParamChoice> 72 <ParamChoice id="Resolution" name="PWM Resolution" group="General" default="`${(pCntWidth eq 16) ? "CY_TCPWM_PWM_RESOLUTION_WIDTH_16_BITS" : "CY_TCPWM_PWM_RESOLUTION_WIDTH_32_BITS"}`" visible="true" editable="false" desc="Selects the width of the PWM."> 73 <Entry name="16-bits" value="CY_TCPWM_PWM_RESOLUTION_WIDTH_16_BITS" visible="true" /> 74 <Entry name="32-bits" value="CY_TCPWM_PWM_RESOLUTION_WIDTH_32_BITS" visible="true" /> 75 </ParamChoice> 76 <ParamChoice id="PwmAlignment" name="PWM Alignment" group="General" default="CY_TCPWM_PWM_LEFT_ALIGN" visible="`${pPwmNePrs}`" editable="true" desc="Selects which direction the PWM counts in. Left = Up, Right = Down, Center/Asymmetric = Up/Down." > 77 <Entry name="Left Aligned" value="CY_TCPWM_PWM_LEFT_ALIGN" visible="true" /> 78 <Entry name="Right Aligned" value="CY_TCPWM_PWM_RIGHT_ALIGN" visible="true" /> 79 <Entry name="Center Aligned" value="CY_TCPWM_PWM_CENTER_ALIGN" visible="true" /> 80 <Entry name="Asymmetric" value="CY_TCPWM_PWM_ASYMMETRIC_ALIGN" visible="true" /> 81 <Entry name="Asymmetric CC0 & CC1" value="CY_TCPWM_PWM_ASYMMETRIC_CC0_CC1_ALIGN" visible="`${pCntAMC}`" /> 82 <Entry name="Center Asymmetric CC0 & CC1" value="CY_TCPWM_PWM_CENTER_ASYMMETRIC_CC0_CC1_ALIGN" visible="`${pCntAMC}`" /> 83 </ParamChoice> 84 <ParamBool id="SwapUnderflowOverflow" name="Swap Underflow Overflow Set/Clear" group="General" default="false" visible="`${((pPwmNePrs) && ((PwmAlignment eq CY_TCPWM_PWM_CENTER_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_ASYMMETRIC_ALIGN)))}`" editable="true" desc="If checked on underflow event, output is SET and on overflow event output is CLEAR." /> 85 <ParamChoice id="RunMode" name="Run Mode" group="General" default="CY_TCPWM_PWM_CONTINUOUS" visible="true" editable="true" desc="If Continuous is selected counter runs forever. If One Shot is selected counter runs for one period and stops."> 86 <Entry name="Continuous" value="CY_TCPWM_PWM_CONTINUOUS" visible="true" /> 87 <Entry name="One Shot" value="CY_TCPWM_PWM_ONESHOT" visible="true" /> 88 </ParamChoice> 89 <ParamRange id="DeadClocks" name="Dead Time Clocks" group="General" default="0" min="0" max="`${(pCntAMC) ? 65535 : 255}`" resolution="1" visible="`${PwmMode eq CY_TCPWM_PWM_MODE_DEADTIME}`" editable="true" desc="Number of clock cycles of dead time between PWM outputs. Range: 0-255 on standard PWM or 0-65535 on PWM with advanced motor control." /> 90 <ParamRange id="DeadClocks_compl" name="Line Compl Dead Time Clock" group="General" default="0" min="0" max="`${(pCntAMC) ? 65535 : 255}`" resolution="1" visible="`${PwmMode eq CY_TCPWM_PWM_MODE_DEADTIME}`" editable="true" desc="Number of clock cycles of dead time between PWM linecmpl outputs. Range: 0-255 on standard PWM or 0-65535 on PWM with advanced motor control." /> 91 <ParamRange id="DeadClocksBuff" name="Dead Time Clocks Buff" group="General" default="0" min="0" max="`${(pCntAMC) ? 65535 : 255}`" resolution="1" visible="`${(PwmMode eq CY_TCPWM_PWM_MODE_DEADTIME) && ("mxs40tcpwm" eq getIpBlockName())}`" editable="true" desc="Buffered PWM Dead time values. Sames as Dead CLocks." /> 92 <ParamRange id="DeadClocksBuff_compl" name="Line Compl DT Clock Buff" group="General" default="0" min="0" max="`${(pCntAMC) ? 65535 : 255}`" resolution="1" visible="`${(PwmMode eq CY_TCPWM_PWM_MODE_DEADTIME) && ("mxs40tcpwm" eq getIpBlockName())}`" editable="true" desc="Buffered PWM Dead time value for line compl output." /> 93 94 <ParamBool id="ImmediateKill" name="Immediate Kill" group="General" default="false" visible="true" editable="true" desc="If checked kill event immediately deactivates the dt_line_out and dt_line_compl_out. If not with the next module clock." /> 95 96 <ParamBool id="copy_enable" name="Shadow Copy Enable" group="General" default="false" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" editable="`${("mxs40tcpwm" eq getIpBlockName())}`" desc="Specifies whether swapping mechanism between CC0 and buffered CC0, CC1 and buffered CC1, PERIOD and buffered PERIOD, DT and buffered DT are disabled. " /> 97 98 <ParamChoice id="kill_line_polarity" name="Kill Line Polarity" group="General" default="CY_TCPWM_LINEOUT_AND_LINECMPOUT_IS_LOW" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" editable="true" desc="Specifies the behavior of the PWM outputs line_out and line_out_compl_out during kill." > 99 <Entry name="Line Out and Line Complimentary Out is Low" value="CY_TCPWM_LINEOUT_AND_LINECMPOUT_IS_LOW" visible="true" /> 100 <Entry name="Line Out is High and Line Complimentary Out is Low" value="CY_TCPWM_LINEOUT_IS_HIGH_AND_LINECMPOUT_IS_LOW" visible="true" /> 101 <Entry name="Line Out is Low and Line Complimentary Out is High" value="CY_TCPWM_LINECMPOUT_IS_HIGH_LINEOUT_IS_LOW" visible="true" /> 102 <Entry name="Line Out and Line Complimentary Out is High" value="CY_TCPWM_LINEOUT_AND_LINECMPOUT_IS_HIGH" visible="true" /> 103 </ParamChoice> 104 105 <!--Glitch Filter--> 106 <ParamBool id="gf_enable" name="Glitch Filter Enable" group="Glitch Filter" default="false" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" editable="`${("mxs40tcpwm" eq getIpBlockName())}`" desc="Enables Glitch filter for input triggers. The Number of glitch filters is design specific and if there is a glitch filter connected to this input trigger it will be used. " /> 107 108 <ParamChoice id="gf_depth" name="Glitch Filter Depth" group="Glitch Filter" default="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_0" visible="`${(gf_enable) && ("mxs40tcpwm" eq getIpBlockName())}`" editable="true" desc="Glitch filter depth support values.GF depth set for one to one triggers will be applied to specific trigger and GF depth set for general purpose trigger will be applicable for all general purpose triggers" > 109 <Entry name="Depth Value 0" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_0" visible="true" /> 110 <Entry name="Depth Value 1" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_1" visible="true" /> 111 <Entry name="Depth Value 2" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_2" visible="true" /> 112 <Entry name="Depth Value 4" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_4" visible="true" /> 113 <Entry name="Depth Value 8" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_8" visible="true" /> 114 <Entry name="Depth Value 16" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_16" visible="true" /> 115 <Entry name="Depth Value 32" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_32" visible="true" /> 116 <Entry name="Depth Value 64" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_64" visible="true" /> 117 <Entry name="Depth Value 128" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_128" visible="true" /> 118 <Entry name="Depth Value 256" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_256" visible="true" /> 119 <Entry name="Depth Value 512" value="CY_GLITCH_FILTER_DEPTH_SUPPORT_VALUE_512" visible="true" /> 120 </ParamChoice> 121 122 <!--Period--> 123 <ParamBool id="EnablePeriodSwap" name="Enable Period Swap" group="Period" default="false" visible="`${!(PwmMode eq CY_TCPWM_PWM_MODE_PSEUDORANDOM)}`" editable="true" desc="If checked the periods will be swapped at the next OV/UN when a swap event has been registered." /> 124 <ParamRange id="Period0" name="`${EnablePeriodSwap ? "Period 0" : "Period"}`" group="Period" default="32768" min="0" max="`${pCntWidthMax}`" resolution="1" visible="true" editable="true" desc="Sets the period of the counter. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 125 <ParamRange id="Period1" name="Period 1" group="Period" default="32768" min="0" max="`${pCntWidthMax}`" resolution="1" visible="`${EnablePeriodSwap}`" editable="true" desc="Sets the period of the counter. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 126 127 <!--Taps Enabled--> 128 <ParamRange id="TapsEnabled" name="Taps Enabled" group="Taps Enabled" default="45" min="0" max="`${pCntWidthMax}`" resolution="1" visible="`${PwmMode eq CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" editable="true" desc="Sets the tap value. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 129 130 <!--Compare--> 131 <ParamBool id="EnableCompare0Swap" name="Enable Compare 0 Swap" group="Compare" default="false" visible="true" editable="true" desc="If checked the compare register will be swapped at the next OV/UN when a swap event has been registered." /> 132 <ParamRange id="Compare0" name="Compare 0" group="Compare" default="16384" min="0" max="`${pCntWidthMax}`" resolution="1" visible="true" editable="true" desc="Sets the compare value. When the count value equals the compare the compare output pulses high. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 133 <ParamRange id="Compare1" name="Compare 0 Buff" group="Compare" default="16384" min="0" max="`${pCntWidthMax}`" resolution="1" visible="`${EnableCompare0Swap}`" editable="true" desc="Sets the buffered compare value. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 134 135 <!--Compare1--> 136 <ParamBool id="EnableCompare1Swap" name="Enable Compare 1 Swap" group="Compare" default="false" visible="`${pCntCC1}`" editable="true" desc="If checked the compare register will be swapped at the next OV/UN when a swap event has been registered." /> 137 <ParamRange id="Compare2" name="Compare 1" group="Compare" default="16384" min="0" max="`${pCntWidthMax}`" resolution="1" visible="`${pCntCC1}`" editable="true" desc="Sets the compare value. When the count value equals the compare the compare output pulses high. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 138 <ParamRange id="Compare3" name="Compare 1 Buff" group="Compare" default="16384" min="0" max="`${pCntWidthMax}`" resolution="1" visible="`${EnableCompare1Swap && pCntCC1}`" editable="true" desc="Sets the buffered compare value. Range: 0-65535 (for 16 bit resolution) or 0–4294967295 (for 32 bit resolution)." /> 139 140 <!--Dithering--> 141 <ParamString id="dithering_Ex" name="ditheringEx" desc="look up expression for dithering" group="Internal" default="GRP_NR[`${pCntGroup}`].CNT.GRP_DITHERING_PRESENT" visible="false" editable="false" /> 142 143 <ParamBool id="pCntdithering" name="pCntdithering" desc="Dithering present or not" group="Internal" default="`${lookupExpression(dithering_Ex, 0) ne 0}`" visible="false" editable="false" /> 144 145 <ParamChoice id="dithering_mode" name="Dithering Mode" group="Dithering" default="CY_TCPWM_DITHERING_DISABLE" visible="`${pCntdithering}`" editable="`${pCntdithering}`" desc="Sets Dithering mode for PWM and PWM DT modes" > 146 <Entry name="Dithering is Disabled" value="CY_TCPWM_DITHERING_DISABLE" visible="true" /> 147 <Entry name="Period Dithering Enabled" value="CY_TCPWM_DITHERING_PERIOD" visible="true" /> 148 <Entry name="Duty Dithering Enabled" value="CY_TCPWM_DITHERING_DUTY" visible="true" /> 149 <Entry name="Period and Duty Dithering Enabled" value="CY_TCPWM_DITHERING_PERIOD_DUTY" visible="true" /> 150 </ParamChoice> 151 152 <ParamRange id="Period_Dithering" name="Period Dithering Value" group="Dithering" default="128" min="1" max="128" resolution="1" visible="`${(dithering_mode eq CY_TCPWM_DITHERING_PERIOD) || (dithering_mode eq CY_TCPWM_DITHERING_PERIOD_DUTY)}`" editable="true" desc="Initial value for period LFSR. Should be non zero value." /> 153 <ParamRange id="Duty_Dithering" name="Duty Dithering Value" group="Dithering" default="128" min="1" max="128" resolution="1" visible="`${(dithering_mode eq CY_TCPWM_DITHERING_DUTY) || (dithering_mode eq CY_TCPWM_DITHERING_PERIOD_DUTY)}`" editable="true" desc="Initail value for Duty LFSR. Should be non zero value." /> 154 <ParamChoice id="limiter" name="Limiter Values" group="Dithering" default="CY_TCPWM_DITHERING_LIMITER_7" visible="`${dithering_mode ne CY_TCPWM_DITHERING_DISABLE}`" editable="true" desc="It defines the magnitude of the pseudo-random value to be added to period/CC0/CC1. When PWM alignment mode set to asymmetric CC0 and CC1, The duty width remains the same, because the same value is added to CC0 and CC1." > 155 <Entry name="limiter value 7" value="CY_TCPWM_DITHERING_LIMITER_7" visible="true" /> 156 <Entry name="limiter value 6" value="CY_TCPWM_DITHERING_LIMITER_6" visible="true" /> 157 <Entry name="limiter value 5" value="CY_TCPWM_DITHERING_LIMITER_5" visible="true" /> 158 <Entry name="limiter value 4" value="CY_TCPWM_DITHERING_LIMITER_4" visible="true" /> 159 <Entry name="limiter value 3" value="CY_TCPWM_DITHERING_LIMITER_3" visible="true" /> 160 <Entry name="limiter value 2" value="CY_TCPWM_DITHERING_LIMITER_2" visible="true" /> 161 <Entry name="limiter value 1" value="CY_TCPWM_DITHERING_LIMITER_1" visible="true" /> 162 </ParamChoice> 163 164 <!--HRPWM--> 165 <ParamString id="hrpwm_Ex" name="hrpwmEx" desc="look up expression for hrpwm" group="Internal" default="GRP_NR[`${pCntGroup}`].CNT.GRP_HRPWM_PRESENT" visible="false" editable="false" /> 166 167 <ParamBool id="pCnthrpwm" name="pCnthrpwm" desc="hrpwm present or not" group="Internal" default="`${lookupExpression(hrpwm_Ex, 0) ne 0}`" visible="false" editable="false" /> 168 169 <ParamBool id="enable_hrpwm" name="Enable HRPWM" group="HRPWM" default="false" visible="`${pCnthrpwm}`" editable="true" desc="If checked enables High resolution PWM." /> 170 171 <ParamChoice id="hrpwm_input_clock" name="HRPWM Operating Frequency" group="HRPWM" default="CY_TCPWM_HRPWM_FREQ_80MHZ_OR_100MHZ" visible="`${pCnthrpwm}`" editable="true" desc="Operating Frequency for HRPWM. It should be same as CLK_OUT = CLK_PERI = CLK_HF" > 172 <Entry name="80MHz or 100MHz" value="CY_TCPWM_HRPWM_FREQ_80MHZ_OR_100MHZ" visible="true" /> 173 <Entry name="150MHz or 160MHz or 180MHz" value="CY_TCPWM_HRPWM_FREQ_150MHZ_OR_160MHZ_OR_180MHZ" visible="true" /> 174 <Entry name="200MHz" value="CY_TCPWM_HRPWM_FREQ_200MHZ" visible="true" /> 175 <Entry name="240MHz" value="CY_TCPWM_HRPWM_FREQ_240MHZ" visible="true" /> 176 </ParamChoice> 177 178 <!--SMC--> 179 <ParamString id="smc_Ex" name="smcEx" desc="look up expression for hrpwm" group="SMC" default="GRP_NR[`${pCntGroup}`].CNT.GRP_SMC_PRESENT" visible="false" editable="false" /> 180 181 <ParamBool id="pCntsmc" name="pCntsmc" desc="SMC present or not" group="SMC" default="`${lookupExpression(smc_Ex, 0) ne 0}`" visible="false" editable="false" /> 182 183 <ParamBool id="reload_line_sel" name="Enable Line Sel Swap" desc="If checked, Line out and Line cmpl out will be swapped on a terminal count event" group="SMC" default="false" visible="`${pCntsmc}`" editable="true" /> 184 <ParamChoice id="line_out_source" name="Line Out Source Signal" group="SMC" default="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="`${pCntsmc}`" editable="true" desc="Source for the output signal line_out" > 185 <Entry name="Constant 0" value="CY_TCPWM_OUTPUT_CONSTANT_0" visible="true" /> 186 <Entry name="Constant 1" value="CY_TCPWM_OUTPUT_CONSTANT_1" visible="true" /> 187 <Entry name="PWM Signal" value="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="true" /> 188 <Entry name="Inverted PWM Signal" value="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="true" /> 189 <Entry name="GPIO Port Default" value="CY_TCPWM_OUTPUT_PORT_DEFAULT" visible="true" /> 190 <Entry name="Motif Out" value="CY_TCPWM_OUTPUT_SOURCE_MOTIF" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" /> 191 </ParamChoice> 192 193 <ParamChoice id="linecompl_out_source" name="Line Compl Out Source Signal" group="SMC" default="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="`${pCntsmc}`" editable="true" desc="Source for the output signal linecmpl_out" > 194 <Entry name="Constant 0" value="CY_TCPWM_OUTPUT_CONSTANT_0" visible="true" /> 195 <Entry name="Constant 1" value="CY_TCPWM_OUTPUT_CONSTANT_1" visible="true" /> 196 <Entry name="PWM Signal" value="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="true" /> 197 <Entry name="Inverted PWM Signal" value="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="true" /> 198 <Entry name="GPIO Port Default" value="CY_TCPWM_OUTPUT_PORT_DEFAULT" visible="true" /> 199 <Entry name="Motif Out" value="CY_TCPWM_OUTPUT_SOURCE_MOTIF" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" /> 200 </ParamChoice> 201 202 <ParamChoice id="buff_line_out_source" name="Buf Line Out Source Signal" group="SMC" default="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="`${pCntsmc}`" editable="true" desc="Source for the output signal line_out" > 203 <Entry name="Constant 0" value="CY_TCPWM_OUTPUT_CONSTANT_0" visible="true" /> 204 <Entry name="Constant 1" value="CY_TCPWM_OUTPUT_CONSTANT_1" visible="true" /> 205 <Entry name="PWM Signal" value="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="true" /> 206 <Entry name="Inverted PWM Signal" value="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="true" /> 207 <Entry name="GPIO Port Default" value="CY_TCPWM_OUTPUT_PORT_DEFAULT" visible="true" /> 208 <Entry name="Motif Out" value="CY_TCPWM_OUTPUT_SOURCE_MOTIF" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" /> 209 </ParamChoice> 210 211 <ParamChoice id="buff_linecompl_out_source" name="Buff Line Compl Out Source Signal" group="SMC" default="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="`${pCntsmc}`" editable="true" desc="Source for the output signal linecmpl_out" > 212 <Entry name="Constant 0" value="CY_TCPWM_OUTPUT_CONSTANT_0" visible="true" /> 213 <Entry name="Constant 1" value="CY_TCPWM_OUTPUT_CONSTANT_1" visible="true" /> 214 <Entry name="PWM Signal" value="CY_TCPWM_OUTPUT_PWM_SIGNAL" visible="true" /> 215 <Entry name="Inverted PWM Signal" value="CY_TCPWM_OUTPUT_INVERTED_PWM_SIGNAL" visible="true" /> 216 <Entry name="GPIO Port Default" value="CY_TCPWM_OUTPUT_PORT_DEFAULT" visible="true" /> 217 <Entry name="Motif Out" value="CY_TCPWM_OUTPUT_SOURCE_MOTIF" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" /> 218 </ParamChoice> 219 220 <!-- Event Generation --> 221 <ParamBool id="pEventGenerationVisible" name="pEventGenerationVisible" group="Internal" default="`${(pCntAMC && ((PwmAlignment eq CY_TCPWM_PWM_CENTER_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_ASYMMETRIC_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_CENTER_ASYMMETRIC_CC0_CC1_ALIGN)))}`" visible="false" editable="false" desc="" /> 222 <ParamBool id="Compare0MatchUp" name="Compare 0 match up" group="Event Generation" default="true" visible="`${pEventGenerationVisible}`" editable="true" desc="test" /> 223 <ParamBool id="Compare0MatchDown" name="Compare 0 match Down" group="Event Generation" default="false" visible="`${pEventGenerationVisible}`" editable="true" desc="test" /> 224 <ParamBool id="Compare1MatchUp" name="Compare 1 match up" group="Event Generation" default="true" visible="`${pEventGenerationVisible}`" editable="true" desc="test" /> 225 <ParamBool id="Compare1MatchDown" name="Compare 1 match Down" group="Event Generation" default="false" visible="`${pEventGenerationVisible}`" editable="true" desc="test" /> 226 227 <!--Interrupts--> 228 <ParamBool id="InterruptTC" name="Overflow & Underflow" group="Interrupt Source" default="false" visible="true" editable="true" desc="Generate interrupt on Overflow & Underflow events" /> 229 <ParamBool id="InterruptCC0" name="Compare 0" group="Interrupt Source" default="false" visible="true" editable="true" desc="Generates interrupt when counter value matches with compare 0 value" /> 230 <ParamBool id="InterruptCC1" name="Compare 1" group="Interrupt Source" default="false" visible="`${pCntCC1}`" editable="true" desc="Generates interrupt when counter value matches with compare 1 value" /> 231 <ParamString id="InterruptSource" name="InterruptSource" desc="InterruptSource" group="Interrupt Source" default="(CY_TCPWM_INT_ON_TC `${(InterruptTC)? "" : "& 0U"}`) | (CY_TCPWM_INT_ON_CC0 `${(InterruptCC0)? "" : "& 0U"}`) | (CY_TCPWM_INT_ON_CC1 `${(InterruptCC1)? "" : "& 0U"}`)" visible="false" editable="false" /> 232 233 <!--Inputs--> 234 <ParamSignal port="clock[0]" name="Clock Signal" group="Inputs" visible="`${hasVisibleOption("clock[0]")}`" desc="The clock input defines the operating frequency." canBeEmpty="`${!hasVisibleOption("clock[0]")}`" /> 235 <ParamSignal port="clock_counter_en[0]" name="Clock Signal" group="Inputs" visible="`${hasVisibleOption("clock_counter_en[0]")}`" desc="The clock input defines the operating frequency." canBeEmpty="`${!hasVisibleOption("clock_counter_en[0]")}`" /> 236 237 <ParamChoice id="CountInput" name="Count Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="`${pPwmNePrs}`" editable="true" desc="Determines if a count input is needed and how that input is registered." > 238 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 239 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 240 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 241 <Entry name="Level" value="CY_TCPWM_INPUT_LEVEL" visible="true" /> 242 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 243 </ParamChoice> 244 <ParamSignal port="count[0]" name="Count Signal" group="Inputs" visible="`${((pPwmNePrs) && (CountInput ne CY_TCPWM_INPUT_DISABLED))}`" desc="This digital input causes the PWM to count depending on how the it is configured." canBeEmpty="`${CountInput eq CY_TCPWM_INPUT_DISABLED}`" > 245 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 246 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 247 <Fixed value="CY_GPIO_DM_HIGHZ" /> 248 </Parameter> 249 </Constraint> 250 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 251 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 252 <Fixed value="CY_GPIO_DM_HIGHZ" /> 253 </Parameter> 254 </Constraint> 255 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 256 </ParamSignal> 257 <ParamChoice id="Kill0Input" name="Kill 0 Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="true" editable="true" desc="Determines how the kill 0 input behaves." > 258 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 259 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 260 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 261 <Entry name="Level" value="CY_TCPWM_INPUT_LEVEL" visible="true" /> 262 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 263 </ParamChoice> 264 <ParamSignal port="stop[0]" name="Kill 0 Signal" group="Inputs" visible="`${Kill0Input ne CY_TCPWM_INPUT_DISABLED}`" desc="This digital input kills the PWM, based on the Kill0 Input selection." canBeEmpty="`${Kill0Input eq CY_TCPWM_INPUT_DISABLED}`" > 265 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 266 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 267 <Fixed value="CY_GPIO_DM_HIGHZ" /> 268 </Parameter> 269 </Constraint> 270 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 271 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 272 <Fixed value="CY_GPIO_DM_HIGHZ" /> 273 </Parameter> 274 </Constraint> 275 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 276 </ParamSignal> 277 <ParamChoice id="ReloadInput" name="Reload Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="true" editable="true" desc="Determines if a reload input is needed and how the reload signal input is registered." > 278 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 279 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 280 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 281 <Entry name="Level" value="CY_TCPWM_INPUT_LEVEL" visible="`${PwmMode eq CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" /> 282 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 283 </ParamChoice> 284 <ParamSignal port="reload[0]" name="Reload Signal" group="Inputs" visible="`${ReloadInput ne CY_TCPWM_INPUT_DISABLED}`" desc="This digital input triggers a reload of the PWM, and starts the PWM." canBeEmpty="`${ReloadInput eq CY_TCPWM_INPUT_DISABLED}`" > 285 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 286 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 287 <Fixed value="CY_GPIO_DM_HIGHZ" /> 288 </Parameter> 289 </Constraint> 290 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 291 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 292 <Fixed value="CY_GPIO_DM_HIGHZ" /> 293 </Parameter> 294 </Constraint> 295 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 296 </ParamSignal> 297 <ParamChoice id="StartInput" name="Start Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="true" editable="true" desc="Determines if a start input is needed and how that input is registered." > 298 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 299 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 300 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 301 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 302 </ParamChoice> 303 <ParamSignal port="start[0]" name="Start Signal" group="Inputs" visible="`${StartInput ne CY_TCPWM_INPUT_DISABLED}`" desc="This digital input triggers a Start of the PWM." canBeEmpty="`${StartInput eq CY_TCPWM_INPUT_DISABLED}`" > 304 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 305 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 306 <Fixed value="CY_GPIO_DM_HIGHZ" /> 307 </Parameter> 308 </Constraint> 309 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 310 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 311 <Fixed value="CY_GPIO_DM_HIGHZ" /> 312 </Parameter> 313 </Constraint> 314 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 315 </ParamSignal> 316 <ParamChoice id="SwapInput" name="Swap Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="true" editable="true" desc="This input controls when compare and period swaps occur." > 317 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 318 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 319 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 320 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 321 </ParamChoice> 322 <ParamSignal port="capture0[0]" name="Swap Signal" group="Inputs" visible="`${SwapInput ne CY_TCPWM_INPUT_DISABLED}`" desc="This input latches a SWAP command. The swap doesn’t occur until the next Overflow/Underflow event." canBeEmpty="`${SwapInput eq CY_TCPWM_INPUT_DISABLED}`" > 323 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 324 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 325 <Fixed value="CY_GPIO_DM_HIGHZ" /> 326 </Parameter> 327 </Constraint> 328 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 329 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 330 <Fixed value="CY_GPIO_DM_HIGHZ" /> 331 </Parameter> 332 </Constraint> 333 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 334 </ParamSignal> 335 <ParamChoice id="Kill1Input" name="Kill 1 Input" group="Inputs" default="CY_TCPWM_INPUT_DISABLED" visible="`${pCntCC1}`" editable="true" desc="Determines how the kill 1 input behaves." > 336 <Entry name="Rising Edge" value="CY_TCPWM_INPUT_RISINGEDGE" visible="true" /> 337 <Entry name="Falling Edge" value="CY_TCPWM_INPUT_FALLINGEDGE" visible="true" /> 338 <Entry name="Either Edge" value="CY_TCPWM_INPUT_EITHEREDGE" visible="true" /> 339 <Entry name="Level" value="CY_TCPWM_INPUT_LEVEL" visible="true" /> 340 <Entry name="Disabled" value="CY_TCPWM_INPUT_DISABLED" visible="true" /> 341 </ParamChoice> 342 <ParamSignal port="capture1[0]" name="Kill 1 Signal" group="Inputs" visible="`${Kill1Input ne CY_TCPWM_INPUT_DISABLED}`" desc="This digital input kills the PWM, based on the Kill1 Input selection." canBeEmpty="`${Kill1Input eq CY_TCPWM_INPUT_DISABLED}`" > 343 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 344 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 345 <Fixed value="CY_GPIO_DM_HIGHZ" /> 346 </Parameter> 347 </Constraint> 348 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 349 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 350 <Fixed value="CY_GPIO_DM_HIGHZ" /> 351 </Parameter> 352 </Constraint> 353 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 354 </ParamSignal> 355 356 <!--Kill Mode--> 357 <ParamChoice id="KillMode" name="Kill Mode" group="Kill Mode" default="CY_TCPWM_PWM_STOP_ON_KILL" visible="`${Kill0Input ne CY_TCPWM_INPUT_DISABLED}`" editable="true" desc="Determines what the kill signal does to the PWM." > 358 <Entry name="Asynchronous Kill" value="CY_TCPWM_PWM_ASYNC_KILL" visible="true" /> 359 <Entry name="Synchronous Kill" value="CY_TCPWM_PWM_SYNCH_KILL" visible="true" /> 360 <Entry name="Stop on Kill" value="CY_TCPWM_PWM_STOP_ON_KILL" visible="true" /> 361 </ParamChoice> 362 363 <!--PWM Output Polarity--> 364 <ParamBool id="InvertPwm" name="Invert PWM Output" group="PWM Output Polarity" default="false" visible="true" editable="true" desc="If checked the main PWM output is inverted." /> 365 <ParamBool id="InvertPwm_n" name="Invert PWM_n Output" group="PWM Output Polarity" default="false" visible="true" editable="true" desc="If checked the main PWM_n output is inverted." /> 366 367 <!--PWM output on Disable--> 368 <ParamChoice id="PwmDisabledOutput" name="PWM Disabled Output" group="PWM Disabled Output" default="CY_TCPWM_PWM_OUTPUT_HIGHZ" visible="true" editable="true" desc="Specifies the behavior of the PWM outputs while PWM is disabled." > 369 <Entry name="High Impedance" value="CY_TCPWM_PWM_OUTPUT_HIGHZ" visible="true" /> 370 <Entry name="Retain" value="CY_TCPWM_PWM_OUTPUT_RETAIN" visible="true" /> 371 <Entry name="Low" value="CY_TCPWM_PWM_OUTPUT_LOW" visible="true" /> 372 <Entry name="High" value="CY_TCPWM_PWM_OUTPUT_HIGH" visible="true" /> 373 </ParamChoice> 374 375 <!--Outputs--> 376 <ParamSignal port="line[0]" name="PWM (line)" group="Outputs" visible="`${("mxs40tcpwm" ne getIpBlockName())}`" desc="PWM output" canBeEmpty="true" > 377 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 378 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 379 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 380 </Parameter> 381 </Constraint> 382 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 383 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 384 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 385 </Parameter> 386 </Constraint> 387 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 388 </ParamSignal> 389 <ParamSignal port="line_compl[0]" name="PWM_n (line_compl)" group="Outputs" visible="`${("mxs40tcpwm" ne getIpBlockName())}`" desc="Complimentary PWM output." canBeEmpty="true" > 390 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 391 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 392 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 393 </Parameter> 394 </Constraint> 395 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 396 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 397 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 398 </Parameter> 399 </Constraint> 400 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 401 </ParamSignal> 402 403 <ParamSignal port="tr_line[0]" name="PWM (line)" group="Outputs" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" desc="PWM output" canBeEmpty="true" > 404 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 405 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 406 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 407 </Parameter> 408 </Constraint> 409 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 410 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 411 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 412 </Parameter> 413 </Constraint> 414 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 415 </ParamSignal> 416 <ParamSignal port="tr_line_compl[0]" name="PWM_n (line_compl)" group="Outputs" visible="`${("mxs40tcpwm" eq getIpBlockName())}`" desc="Complimentary PWM output." canBeEmpty="true" > 417 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 418 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 419 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 420 </Parameter> 421 </Constraint> 422 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 423 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 424 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 425 </Parameter> 426 </Constraint> 427 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 428 </ParamSignal> 429 430 <!--Trigger Outputs--> 431 <ParamChoice id="trigger0Event" name="Trigger 0 Event" group="Trigger Outputs" default="CY_TCPWM_CNT_TRIGGER_ON_DISABLED" visible="true" editable="true" desc="This output used to connect TCPWM event signals to other peripherals." > 432 <Entry name="Overflow" value="CY_TCPWM_CNT_TRIGGER_ON_OVERFLOW" visible="`${PwmMode ne CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" /> 433 <Entry name="Underflow" value="CY_TCPWM_CNT_TRIGGER_ON_UNDEFLOW" visible="`${PwmMode ne CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" /> 434 <Entry name="Terminal Count" value="CY_TCPWM_CNT_TRIGGER_ON_TC" visible="true" /> 435 <Entry name="Compare 0 Match" value="CY_TCPWM_CNT_TRIGGER_ON_CC0_MATCH" visible="true" /> 436 <Entry name="Compare 1 Match" value="CY_TCPWM_CNT_TRIGGER_ON_CC1_MATCH" visible="`${pCntCC1}`" /> 437 <Entry name="PWM (line_out)" value="CY_TCPWM_CNT_TRIGGER_ON_LINE_OUT" visible="true" /> 438 <Entry name="Disabled" value="CY_TCPWM_CNT_TRIGGER_ON_DISABLED" visible="true" /> 439 </ParamChoice> 440 <ParamSignal port="tr_out0[0]" name="Trigger 0 Signal" group="Trigger Outputs" visible="`${trigger0Event ne CY_TCPWM_CNT_TRIGGER_ON_DISABLED}`" desc="Signals to connect on Trigger 0 Event" canBeEmpty="`${trigger0Event eq CY_TCPWM_CNT_TRIGGER_ON_DISABLED}`" > 441 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 442 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 443 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 444 </Parameter> 445 </Constraint> 446 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 447 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 448 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 449 </Parameter> 450 </Constraint> 451 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 452 </ParamSignal> 453 <ParamChoice id="trigger1Event" name="Trigger 1 Event" group="Trigger Outputs" default="CY_TCPWM_CNT_TRIGGER_ON_DISABLED" visible="true" editable="true" desc="This output used to connect TCPWM event signals to other peripherals." > 454 <Entry name="Overflow" value="CY_TCPWM_CNT_TRIGGER_ON_OVERFLOW" visible="`${PwmMode ne CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" /> 455 <Entry name="Underflow" value="CY_TCPWM_CNT_TRIGGER_ON_UNDEFLOW" visible="`${PwmMode ne CY_TCPWM_PWM_MODE_PSEUDORANDOM}`" /> 456 <Entry name="Terminal Count" value="CY_TCPWM_CNT_TRIGGER_ON_TC" visible="true" /> 457 <Entry name="Compare 0 Match" value="CY_TCPWM_CNT_TRIGGER_ON_CC0_MATCH" visible="true" /> 458 <Entry name="Compare 1 Match" value="CY_TCPWM_CNT_TRIGGER_ON_CC1_MATCH" visible="`${pCntCC1}`" /> 459 <Entry name="PWM (line_out)" value="CY_TCPWM_CNT_TRIGGER_ON_LINE_OUT" visible="true" /> 460 <Entry name="Disabled" value="CY_TCPWM_CNT_TRIGGER_ON_DISABLED" visible="true" /> 461 </ParamChoice> 462 <ParamSignal port="tr_out1[0]" name="Trigger 1 Signal" group="Trigger Outputs" visible="`${trigger1Event ne CY_TCPWM_CNT_TRIGGER_ON_DISABLED}`" desc="Signals to connect on Trigger 1 Event " canBeEmpty="`${trigger1Event eq CY_TCPWM_CNT_TRIGGER_ON_DISABLED}`" > 463 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 464 <Parameter id="DriveModes" severity="DEFAULT" reason=""> 465 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 466 </Parameter> 467 </Constraint> 468 <Constraint type="ACCEPT" targetLocation="ioss\[\d+\]\.port\[\d+\]\.pin.*" valid="true" > 469 <Parameter id="DriveModes" severity="INFO" reason="The pin Drive Mode parameter does not match expected."> 470 <Fixed value="CY_GPIO_DM_STRONG_IN_OFF" /> 471 </Parameter> 472 </Constraint> 473 <Constraint type="ACCEPT" targetLocation=".*" valid="true" /> 474 </ParamSignal> 475 476 <!--Config--> 477 <ParamBool id="inFlash" name="Store Config in Flash" group="Advanced" default="true" visible="true" editable="true" desc="Controls whether the configuration structure is stored in flash (const, true) or SRAM (not const, false)." /> 478 479 <!-- Peripheral clock divider connection --> 480 <ParamString id="definePrefix" name="Define prefix" group="Internal" default="`${"TCPWM" . tcpwmInst . "_GRP" . pCntGroup . "_CNT" . getInstNumber("cnt")}`" visible="false" editable="false" desc="" /> 481 <ParamString id="defineInputDisabled" name="Define input disabled" group="Internal" default="`${INST_NAME . "_INPUT_DISABLED & 0x3U"}`" visible="false" editable="false" desc="" /> 482 <ParamString id="pclk" name="PCLK" group="Internal" default="`${hasVisibleOption("clock_counter_en[0]") ? getBlockFromSignal("clock_counter_en[0]"):getBlockFromSignal("clock[0]")}`" visible="false" editable="false" desc="Connected peripheral clock divider (PCLK)" /> 483 <ParamBool id="pclkOk" name="PCLK Valid" group="Internal" default="`${hasVisibleOption("clock_counter_en[0]") ? hasConnection("clock_counter_en", 0) && isBlockUsed(pclk) : hasConnection("clock", 0) && isBlockUsed(pclk)}`" visible="false" editable="false" desc="Checks whether there is a PCLK connected and enabled" /> 484 <ParamString id="pclkDst" name="PCLK Destination" group="Internal" default="`${hasVisibleOption("clock_counter_en[0]") ? "PCLK_TCPWM" . tcpwmInst . "_CLOCK_COUNTER_EN" . cntInst : "PCLK_TCPWM" . tcpwmInst . "_CLOCKS" . cntInst}`" visible="false" editable="false" desc="" /> 485 486 <!-- Auxiliary internal parameters--> 487 <ParamBool id="pC0GtP0" name="pC0GtP0" desc="pC0GtP0" group="Internal" default="`${Compare0 > Period0}`" visible="false" editable="false" /> 488 <ParamBool id="pC0GtP1" name="pC0GtP1" desc="pC0GtP1" group="Internal" default="`${Compare0 > Period1}`" visible="false" editable="false" /> 489 <ParamBool id="pC1GtP0" name="pC1GtP0" desc="pC1GtP0" group="Internal" default="`${Compare1 > Period0}`" visible="false" editable="false" /> 490 <ParamBool id="pC1GtP1" name="pC1GtP1" desc="pC1GtP1" group="Internal" default="`${Compare1 > Period1}`" visible="false" editable="false" /> 491 <ParamBool id="pC2GtP0" name="pC2GtP0" desc="pC2GtP0" group="Internal" default="`${Compare2 > Period0}`" visible="false" editable="false" /> 492 <ParamBool id="pC2GtP1" name="pC2GtP1" desc="pC2GtP1" group="Internal" default="`${Compare2 > Period1}`" visible="false" editable="false" /> 493 <ParamBool id="pC3GtP0" name="pC3GtP0" desc="pC3GtP0" group="Internal" default="`${Compare3 > Period0}`" visible="false" editable="false" /> 494 <ParamBool id="pC3GtP1" name="pC3GtP1" desc="pC3GtP1" group="Internal" default="`${Compare3 > Period1}`" visible="false" editable="false" /> 495 496 <ParamBool id="pAlignAsymm" name="pAlignAsymm" desc="pAlignAsymm" group="Internal" default="`${(PwmAlignment eq CY_TCPWM_PWM_ASYMMETRIC_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_ASYMMETRIC_CC0_CC1_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_CENTER_ASYMMETRIC_CC0_CC1_ALIGN)}`" visible="false" editable="false" /> 497 <ParamBool id="pAlignCenter" name="pAlignCenter" desc="pAlignCenter" group="Internal" default="`${PwmAlignment eq CY_TCPWM_PWM_CENTER_ALIGN}`" visible="false" editable="false" /> 498 <ParamBool id="pAlignAsymmOrCenter" name="pAlignAsymmOrCenter" desc="pAlignAsymmOrCenter" group="Internal" default="`${pAlignAsymm || pAlignCenter}`" visible="false" editable="false" /> 499 <ParamBool id="pPwmNePrsAndC0GtP0" name="pPwmNePrsAndC0GtP0" desc="pPwmNePrsAndC0GtP0" group="Internal" default="`${pPwmNePrs && pC0GtP0}`" visible="false" editable="false" /> 500 <ParamBool id="pPwmNePrsAndC0GtP1" name="pPwmNePrsAndC0GtP1" desc="pPwmNePrsAndC0GtP1" group="Internal" default="`${pPwmNePrs && pC0GtP1}`" visible="false" editable="false" /> 501 <ParamBool id="pKillEqSynch" name="pKillEqSynch" desc="pKillEqSynch" group="Internal" default="`${KillMode eq CY_TCPWM_PWM_SYNCH_KILL}`" visible="false" editable="false" /> 502 <ParamBool id="pEnCAndNEnP" name="pEnCAndNEnP" desc="pEnCAndNEnP" group="Internal" default="`${EnableCompare0Swap && (!EnablePeriodSwap)}`" visible="false" editable="false" /> 503 <ParamBool id="pEnCAndEnP" name="pEnCAndEnP" desc="pEnCAndEnP" group="Internal" default="`${EnableCompare0Swap && EnablePeriodSwap}`" visible="false" editable="false" /> 504 <ParamBool id="pNEnCOrAssymAndC0GtP1" name="pNEnCOrAssymAndC0GtP1" desc="pNEnCOrAssymAndC0GtP1" group="Internal" default="`${((!EnableCompare0Swap) || pAlignAsymm)&& pC0GtP1}`" visible="false" editable="false" /> 505 <ParamBool id="pNePrsAndEnCAndEnP" name="pNePrsAndEnCAndEnP" desc="pNePrsAndEnCAndEnP" group="Internal" default="`${pPwmNePrs && pEnCAndEnP}`" visible="false" editable="false" /> 506 507 <!-- Clock Frequency --> 508 <ParamString id="sourceClock" name="sourceClock" group="General" default="`${(hasVisibleOption("clock[0]")) ? (getBlockFromSignal("clock[0]")) : (getBlockFromSignal("clock_counter_en[0]"))}`" visible="false" editable="false" desc="Source Clock Resource" /> 509 <ParamRange id="tcpwmClkHz" name="tcpwmClkHz" group="General" default="`${getExposedMember(sourceClock, "frequency")}`" min="0" max="400000000" resolution="1" visible="false" editable="false" desc="TCPWM clock frequency in Hz" /> 510 511 </Parameters> 512 513 <DRCs> 514 <DRC type="ERROR" paramId="clock_en[0]" text="Maximum input clock signal frequency supported is 100 Mhz. Please fix input clock setting." condition="`${(hasVisibleOption("clock[0]")) && (tcpwmClkHz > 100000000)}`" /> 515 <DRC type="ERROR" paramId="clock_counter_en[0]" text="Maximum input clock signal frequency supported is 100 Mhz. Please fix input clock setting." condition="`${(hasVisibleOption("clock_counter_en[0]")) && (tcpwmClkHz > 100000000)}`" /> 516 517 <!--Compare0 DRCs--> 518 <DRC type="INFO" text="Compare 0 value have to be less or equal to Period 0 (Period). A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pPwmNePrsAndC0GtP0}`" /> 519 <DRC type="INFO" text="Compare 0 value have to be less or equal to Period 1. A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pPwmNePrs && EnablePeriodSwap && pNEnCOrAssymAndC0GtP1}`" /> 520 521 <DRC type="ERROR" text="Compare 0 value must be less or equal to Period 0 (Period)." condition="`${pPwmNePrs &&pAlignAsymmOrCenter && pC0GtP0}`" paramId="Compare0" /> 522 <DRC type="ERROR" text="Compare 0 value must be less or equal to Period 1." condition="`${pPwmNePrs && pAlignAsymmOrCenter && EnablePeriodSwap && pNEnCOrAssymAndC0GtP1}`" paramId="Compare0" /> 523 524 <!--Compare0Buff DRCs--> 525 <DRC type="INFO" text="Compare 0 Buff value have to be less or equal to Period 0 (Period). A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pPwmNePrs && pEnCAndNEnP && pC1GtP0}`" /> 526 <DRC type="INFO" text="Compare 0 Buff value have to be less or equal to Period 1. A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pNePrsAndEnCAndEnP && pC1GtP1}`" /> 527 <DRC type="INFO" text="Compare 0 Buff value have to be less or equal to Period 0 (Period). A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pNePrsAndEnCAndEnP && pAlignAsymm && pC1GtP0}`" /> 528 529 <DRC type="ERROR" text="Compare 0 Buff value must be less or equal to Period 0 (Period)." condition="`${pAlignAsymmOrCenter && pEnCAndNEnP && pC1GtP0}`" paramId="Compare1" /> 530 <DRC type="ERROR" text="Compare 0 Buff value must be less or equal to Period 1." condition="`${pNePrsAndEnCAndEnP && pAlignAsymmOrCenter && pC1GtP1}`" paramId="Compare1" /> 531 <DRC type="ERROR" text="Compare 0 Buff value must be less or equal to Period 0 (Period)." condition="`${pNePrsAndEnCAndEnP && pAlignAsymmOrCenter && pC1GtP0}`" paramId="Compare1" /> 532 533 <!--Compare1 DRCs--> 534 <DRC type="INFO" text="Compare 1 value have to be less or equal to Period 0 (Period). A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pCntCC1 && pPwmNePrs && pC2GtP0}`" /> 535 <DRC type="INFO" text="Compare 1 value have to be less or equal to Period 1. A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pCntCC1 && pPwmNePrs && EnablePeriodSwap && ((!EnableCompare1Swap) || pAlignAsymm) && pC2GtP1}`" /> 536 537 <DRC type="ERROR" text="Compare 1 value must be less or equal to Period 0 (Period)." condition="`${pAlignAsymmOrCenter && pCntCC1 && pPwmNePrs && pC2GtP0}`" paramId="Compare2" /> 538 <DRC type="ERROR" text="Compare 1 value must be less or equal to Period 1." condition="`${pAlignAsymmOrCenter && pCntCC1 && pPwmNePrs && EnablePeriodSwap && ((!EnableCompare1Swap) || pAlignAsymm) && pC2GtP1}`" paramId="Compare2" /> 539 540 <!--Compare1Buff DRCs--> 541 <DRC type="INFO" text="Compare 1 Buff value have to be less or equal to Period 0 (Period). A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pCntCC1 && pPwmNePrs && EnableCompare1Swap && ((!EnablePeriodSwap) || (EnablePeriodSwap && pAlignAsymm)) && pC3GtP0}`" /> 542 <DRC type="INFO" text="Compare 1 Buff value have to be less or equal to Period 1. A value larger than period is uses to get 100% duty cycle (Left Aligned alignment) or 0% duty cycle (Right Aligned alignment)." condition="`${pCntCC1 && pPwmNePrs && EnablePeriodSwap && pC3GtP1}`" /> 543 544 <DRC type="ERROR" text="Compare 1 Buff value must be less or equal to Period 0 (Period)." condition="`${pAlignAsymmOrCenter && pCntCC1 && pPwmNePrs && EnableCompare1Swap && ((!EnablePeriodSwap) || (EnablePeriodSwap && pAlignAsymm)) && pC3GtP0}`" paramId="Compare3" /> 545 <DRC type="ERROR" text="Compare 1 Buff value must be less or equal to Period 1." condition="`${pAlignAsymmOrCenter && pCntCC1 && pPwmNePrs && EnablePeriodSwap && pC3GtP1}`" paramId="Compare3" /> 546 547 <!--CountInput DRCs--> 548 <DRC type="ERROR" text="Count Event has to be enabled to use Count Signal." condition="`${hasConnection("count", 0) && (CountInput eq CY_TCPWM_INPUT_DISABLED)}`" paramId="CountInput"> 549 <FixIt action="SET_PARAM" target="CountInput" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 550 <FixIt action="SET_PARAM" target="CountInput" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 551 <FixIt action="SET_PARAM" target="CountInput" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 552 <FixIt action="SET_PARAM" target="CountInput" value="CY_TCPWM_INPUT_LEVEL" valid="true" /> 553 </DRC> 554 555 <!--ReloadInput DRCs--> 556 <DRC type="ERROR" text="Reload Event has to be enabled to use Reload Signal." condition="`${hasConnection("reload", 0) && (ReloadInput eq CY_TCPWM_INPUT_DISABLED)}`" paramId="ReloadInput"> 557 <FixIt action="SET_PARAM" target="ReloadInput" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 558 <FixIt action="SET_PARAM" target="ReloadInput" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 559 <FixIt action="SET_PARAM" target="ReloadInput" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 560 <FixIt action="SET_PARAM" target="ReloadInput" value="CY_TCPWM_INPUT_LEVEL" valid="true" /> 561 </DRC> 562 563 <!--StartInput DRCs--> 564 <DRC type="ERROR" text="Start Event has to be enabled to use Start Signal." condition="`${hasConnection("start", 0) && (StartInput eq CY_TCPWM_INPUT_DISABLED)}`" paramId="StartInput"> 565 <FixIt action="SET_PARAM" target="StartInput" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 566 <FixIt action="SET_PARAM" target="StartInput" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 567 <FixIt action="SET_PARAM" target="StartInput" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 568 </DRC> 569 570 <!--SwapInput DRCs--> 571 <DRC type="ERROR" text="Swap Event has to be enabled to use Swap Signal." condition="`${hasConnection("capture0", 0) && (SwapInput eq CY_TCPWM_INPUT_DISABLED)}`" paramId="SwapInput"> 572 <FixIt action="SET_PARAM" target="SwapInput" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 573 <FixIt action="SET_PARAM" target="SwapInput" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 574 <FixIt action="SET_PARAM" target="SwapInput" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 575 <FixIt action="SET_PARAM" target="SwapInput" value="CY_TCPWM_INPUT_LEVEL" valid="true" /> 576 </DRC> 577 578 <!--Kill0Input DRCs--> 579 <DRC type="ERROR" text="Level is not supported for Stop on Kill mode." condition="`${((KillMode eq CY_TCPWM_PWM_STOP_ON_KILL) && (Kill0Input eq CY_TCPWM_INPUT_LEVEL))}`" paramId="Kill0Input" /> 580 <DRC type="ERROR" text="Asynchronous Kill mode just supports Level mode." condition="`${((Kill0Input ne CY_TCPWM_INPUT_DISABLED) && (KillMode eq CY_TCPWM_PWM_ASYNC_KILL) && (Kill0Input ne CY_TCPWM_INPUT_LEVEL))}`" paramId="Kill0Input" /> 581 <DRC type="ERROR" text="Synchronous Kill mode just supports Rising Edge mode." condition="`${((Kill0Input ne CY_TCPWM_INPUT_DISABLED) && pKillEqSynch && (Kill0Input ne CY_TCPWM_INPUT_RISINGEDGE))}`" 582 paramId="Kill0Input" /> 583 <DRC type="ERROR" text="Kill 0 Event has to be enabled to use Kill 0 Signal." condition="`${hasConnection("stop", 0) && (Kill0Input eq CY_TCPWM_INPUT_DISABLED)}`" paramId="Kill0Input"> 584 <FixIt action="SET_PARAM" target="Kill0Input" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 585 <FixIt action="SET_PARAM" target="Kill0Input" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 586 <FixIt action="SET_PARAM" target="Kill0Input" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 587 <FixIt action="SET_PARAM" target="Kill0Input" value="CY_TCPWM_INPUT_LEVEL" valid="true" /> 588 </DRC> 589 590 <!--Kill1Input DRCs--> 591 <DRC type="ERROR" text="Level is not supported for Stop on Kill mode." condition="`${(pCntCC1 &&(KillMode eq CY_TCPWM_PWM_STOP_ON_KILL) && (Kill1Input eq CY_TCPWM_INPUT_LEVEL))}`" paramId="Kill1Input" /> 592 <DRC type="ERROR" text="Asynchronous Kill mode just supports Level mode." condition="`${((Kill1Input ne CY_TCPWM_INPUT_DISABLED) && pCntCC1 &&(KillMode eq CY_TCPWM_PWM_ASYNC_KILL) && (Kill1Input ne CY_TCPWM_INPUT_LEVEL))}`" paramId="Kill1Input" /> 593 <DRC type="ERROR" text="Synchronous Kill mode just supports Rising Edge mode." condition="`${((Kill1Input ne CY_TCPWM_INPUT_DISABLED) && pCntCC1 && pKillEqSynch && (Kill1Input ne CY_TCPWM_INPUT_RISINGEDGE))}`" 594 paramId="Kill1Input" /> 595 <DRC type="ERROR" text="Kill 1 Event has to be enabled to use Kill 1 Signal." condition="`${hasConnection("capture1", 0) && (Kill1Input eq CY_TCPWM_INPUT_DISABLED)}`" paramId="Kill1Input"> 596 <FixIt action="SET_PARAM" target="Kill1Input" value="CY_TCPWM_INPUT_RISINGEDGE" valid="true" /> 597 <FixIt action="SET_PARAM" target="Kill1Input" value="CY_TCPWM_INPUT_FALLINGEDGE" valid="true" /> 598 <FixIt action="SET_PARAM" target="Kill1Input" value="CY_TCPWM_INPUT_EITHEREDGE" valid="true" /> 599 <FixIt action="SET_PARAM" target="Kill1Input" value="CY_TCPWM_INPUT_LEVEL" valid="true" /> 600 </DRC> 601 602 <!--KillMode DRCs--> 603 <DRC type="ERROR" text="Synchronous Kill mode is not supported for PWM Pseudo Random mode." condition="`${pKillEqSynch && (PwmMode eq CY_TCPWM_PWM_MODE_PSEUDORANDOM)}`" paramId="PwmMode" /> 604 605 <!--Trigger Output DRCs--> 606 <DRC type="ERROR" text="Trigger 0 Event has to be enabled to use Trigger 0 Signal." condition="`${hasConnection("tr_out0", 0) && (trigger0Event eq CY_TCPWM_CNT_TRIGGER_ON_DISABLED)}`" paramId="trigger0Event"> 607 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_OVERFLOW" valid="true" /> 608 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_UNDEFLOW" valid="true" /> 609 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_TC" valid="true" /> 610 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_CC0_MATCH" valid="true" /> 611 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_CC1_MATCH" valid="`${pCntCC1}`" /> 612 <FixIt action="SET_PARAM" target="trigger0Event" value="CY_TCPWM_CNT_TRIGGER_ON_LINE_OUT" valid="true" /> 613 </DRC> 614 <DRC type="ERROR" text="Trigger 1 Event has to be enabled to use Trigger 1 Signal." condition="`${hasConnection("tr_out1", 0) && (trigger1Event eq CY_TCPWM_CNT_TRIGGER_ON_DISABLED)}`" paramId="trigger1Event"> 615 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_OVERFLOW" valid="true" /> 616 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_UNDEFLOW" valid="true" /> 617 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_TC" valid="true" /> 618 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_CC0_MATCH" valid="true" /> 619 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_CC1_MATCH" valid="`${pCntCC1}`" /> 620 <FixIt action="SET_PARAM" target="trigger1Event" value="CY_TCPWM_CNT_TRIGGER_ON_LINE_OUT" valid="true" /> 621 </DRC> 622 </DRCs> 623 624 <ConfigFirmware> 625 <ConfigInclude value="cy_tcpwm_pwm.h" include="true" /> 626 <ConfigInclude value="cy_sysclk.h" include="`${pclkOk}`" /> 627 <ConfigInclude value="cycfg_routing.h" include="true" /> 628 <ConfigInclude value="cyhal_hwmgr.h" include="true" guard="defined (CY_USING_HAL)" /> 629 <ConfigInclude value="cyhal.h" include="true" guard="defined (CY_USING_HAL)" /> 630 <ConfigInclude value="cyhal_hw_types.h" include="true" guard="defined (CY_USING_HAL_LITE)" /> 631 632 <ConfigDefine name="`${INST_NAME}`_HW" value="TCPWM`${tcpwmInst}`" public="true" include="true" /> 633 <ConfigDefine name="`${INST_NAME}`_NUM" value="`${cntInst}`UL" public="true" include="true" /> 634 <ConfigDefine name="`${INST_NAME}`_IRQ" value="tcpwm_`${tcpwmInst}`_interrupts_`${cntInst}`_IRQn" public="true" include="`${InterruptTC || InterruptCC0 || InterruptCC1}`" /> 635 <ConfigDefine name="`${INST_NAME}`_INPUT_DISABLED" value="0x7U" public="false" include="true" /> 636 <ConfigStruct name="`${INST_NAME . "_config"}`" type="cy_stc_tcpwm_pwm_config_t" const="`${inFlash}`" public="true" include="true" > 637 <Member name="pwmMode" value="`${PwmMode}`" /> 638 <Member name="clockPrescaler" value="`${ClockPrescaler}`" /> 639 <Member name="pwmAlignment" value="`${PwmAlignment}`" /> 640 <Member name="deadTimeClocks" value="`${DeadClocks}`" /> 641 <Member name="runMode" value="`${RunMode}`" /> 642 <Member name="period0" value="`${Period0}`" /> 643 <Member name="period1" value="`${Period1}`" /> 644 <Member name="enablePeriodSwap" value="`${EnablePeriodSwap}`" /> 645 <Member name="compare0" value="`${Compare0}`" /> 646 <Member name="compare1" value="`${Compare1}`" /> 647 <Member name="enableCompareSwap" value="`${EnableCompare0Swap}`" /> 648 <Member name="interruptSources" value="`${InterruptSource}`" /> 649 <Member name="invertPWMOut" value="`${InvertPwm ? "CY_TCPWM_PWM_INVERT_ENABLE" : "CY_TCPWM_PWM_INVERT_DISABLE"}`" /> 650 <Member name="invertPWMOutN" value="`${InvertPwm_n ? "CY_TCPWM_PWM_INVERT_ENABLE" : "CY_TCPWM_PWM_INVERT_DISABLE"}`" /> 651 <Member name="killMode" value="`${KillMode}`" /> 652 <Member name="swapInputMode" value="`${SwapInput eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : SwapInput}`" /> 653 <Member name="swapInput" value="`${SwapInput eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_0" : (definePrefix . "_CAPTURE0_VALUE")}`" /> 654 <Member name="reloadInputMode" value="`${ReloadInput eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : ReloadInput}`" /> 655 <Member name="reloadInput" value="`${ReloadInput eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_0" : (definePrefix . "_RELOAD_VALUE")}`" /> 656 <Member name="startInputMode" value="`${StartInput eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : StartInput}`" /> 657 <Member name="startInput" value="`${StartInput eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_0" : (definePrefix . "_START_VALUE")}`" /> 658 <Member name="killInputMode" value="`${Kill0Input eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : Kill0Input}`" /> 659 <Member name="killInput" value="`${Kill0Input eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_0" : (definePrefix . "_STOP_VALUE")}`" /> 660 <Member name="countInputMode" value="`${CountInput eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : CountInput}`" /> 661 <Member name="countInput" value="`${CountInput eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_1" : (definePrefix . "_COUNT_VALUE")}`" /> 662 <Member name="swapOverflowUnderflow" value="`${((PwmAlignment eq CY_TCPWM_PWM_CENTER_ALIGN) || (PwmAlignment eq CY_TCPWM_PWM_ASYMMETRIC_ALIGN)) ? SwapUnderflowOverflow : false}`" /> 663 <Member name="immediateKill" value="`${ImmediateKill}`" /> 664 <Member name="tapsEnabled" value="`${TapsEnabled}`" /> 665 <Member name="compare2" value="`${pCntCC1 ? Compare2 : "CY_TCPWM_GRP_CNT_CC0_DEFAULT"}`" /> 666 <Member name="compare3" value="`${pCntCC1 ? Compare3 : "CY_TCPWM_GRP_CNT_CC0_BUFF_DEFAULT"}`" /> 667 <Member name="enableCompare1Swap" value="`${EnableCompare1Swap}`" /> 668 <Member name="compare0MatchUp" value="`${Compare0MatchUp}`" /> 669 <Member name="compare0MatchDown" value="`${Compare0MatchDown}`" /> 670 <Member name="compare1MatchUp" value="`${Compare1MatchUp}`" /> 671 <Member name="compare1MatchDown" value="`${Compare1MatchDown}`" /> 672 <Member name="kill1InputMode" value="`${Kill1Input eq CY_TCPWM_INPUT_DISABLED ? defineInputDisabled : Kill1Input}`" /> 673 <Member name="kill1Input" value="`${Kill1Input eq CY_TCPWM_INPUT_DISABLED ? "CY_TCPWM_INPUT_0" : (definePrefix . "_CAPTURE1_VALUE")}`" /> 674 <Member name="pwmOnDisable" value="`${PwmDisabledOutput}`" /> 675 <Member name="trigger0Event" value="`${trigger0Event}`" /> 676 <Member name="trigger1Event" value="`${trigger1Event}`" /> 677 <Member name="reloadLineSelect" value="`${reload_line_sel}`" /> 678 <Member name="line_out_sel" value="`${line_out_source}`" /> 679 <Member name="linecompl_out_sel" value="`${linecompl_out_source}`" /> 680 <Member name="line_out_sel_buff" value="`${buff_line_out_source}`" /> 681 <Member name="linecompl_out_sel_buff" value="`${buff_linecompl_out_source}`" /> 682 <Member name="deadTimeClocks_linecompl_out" value="`${DeadClocks_compl}`" /> 683 <Member name="hrpwm_enable" value="`${enable_hrpwm}`" guard="defined (CY_IP_MXS40TCPWM)" /> 684 <Member name="hrpwm_input_freq" value="`${hrpwm_input_clock}`" guard="defined (CY_IP_MXS40TCPWM)" /> 685 <Member name="kill_line_polarity" value="`${kill_line_polarity}`" guard="defined (CY_IP_MXS40TCPWM)" /> 686 <Member name="deadTimeClocksBuff" value="`${DeadClocksBuff}`" guard="defined (CY_IP_MXS40TCPWM)" /> 687 <Member name="deadTimeClocksBuff_linecompl_out" value="`${DeadClocksBuff_compl}`" guard="defined (CY_IP_MXS40TCPWM)" /> 688 <Member name="buffer_swap_enable" value="`${copy_enable}`" guard="defined (CY_IP_MXS40TCPWM)" /> 689 <Member name="glitch_filter_enable" value="`${gf_enable}`" guard="defined (CY_IP_MXS40TCPWM)" /> 690 <Member name="gf_depth" value="`${gf_depth}`" guard="defined (CY_IP_MXS40TCPWM)" /> 691 <Member name="dithering_mode" value="`${dithering_mode}`" guard="defined (CY_IP_MXS40TCPWM)" /> 692 <Member name="period_dithering_value" value="`${Period_Dithering}`" guard="defined (CY_IP_MXS40TCPWM)" /> 693 <Member name="duty_dithering_value" value="`${Duty_Dithering}`" guard="defined (CY_IP_MXS40TCPWM)" /> 694 <Member name="limiter" value="`${limiter}`" guard="defined (CY_IP_MXS40TCPWM)" /> 695 </ConfigStruct> 696 697 <ConfigStruct name="`${INST_NAME}`_obj" type="cyhal_resource_inst_t" const="true" public="true" include="true" guard="defined (CY_USING_HAL) || defined(CY_USING_HAL_LITE)"> 698 <Member name="type" value="CYHAL_RSC_TCPWM" /> 699 <Member name="block_num" value="`${(getInstNumber("tcpwm") * pMaxGroupCount) + pCntGroup}`U" /> 700 <Member name="channel_num" value="`${getInstNumber("cnt")}`U" /> 701 </ConfigStruct> 702 703 <ConfigStruct name="`${INST_NAME}`_clock" type="cyhal_clock_t" const="`${inFlash}`" public="true" include="true" guard="defined(CY_USING_HAL_LITE) || defined (CY_USING_HAL)"> 704 <Member name="block" value="`${getExposedMember(pclk, "hal_block")}`" /> 705 <Member name="channel" value="`${getExposedMember(pclk, "number")}`" /> 706 <Member name="reserved" value="false" guard="defined (CY_USING_HAL)" /> 707 <Member name="funcs" value="NULL" guard="defined (CY_USING_HAL)" /> 708 </ConfigStruct> 709 710 <ConfigStruct name="`${INST_NAME}`_hal_config" type="cyhal_pwm_configurator_t" const="`${inFlash}`" public="true" include="true" guard="defined (CY_USING_HAL) || defined(CY_USING_HAL_LITE)"> 711 <Member name="resource" value="&`${INST_NAME}`_obj" /> 712 <Member name="config" value="&`${INST_NAME}`_config" /> 713 <Member name="clock" value="&`${INST_NAME}`_clock" /> 714 </ConfigStruct> 715 716 <ConfigInstruction purpose="INITIALIZE" value="Cy_SysClk_PeriGroupSlaveInit(CY_MMIO_TCPWM`${tcpwmInst}`_PERI_NR, CY_MMIO_TCPWM`${tcpwmInst}`_GROUP_NR, CY_MMIO_TCPWM`${tcpwmInst}`_SLAVE_NR, CY_MMIO_TCPWM`${tcpwmInst}`_CLK_HF_NR);" include="true" guard="defined (CY_DEVICE_CONFIGURATOR_IP_ENABLE_FEATURE)" /> 717 <ConfigInstruction purpose="INITIALIZE" value="Cy_SysClk_PeriphAssignDivider(`${pclkDst}`, `${getExposedMember(pclk, "clockSel")}`);" include="`${pclkOk}`" /> 718 <ConfigInstruction purpose="RESERVE" value="cyhal_hwmgr_reserve(&`${INST_NAME}`_obj);" include="true" guard="defined (CY_USING_HAL)" /> 719 </ConfigFirmware> 720</Personality> 721