<?xml version="1.0"?>
<lsccip:ip version="1.0"
    xmlns:lsccip="http://www.latticesemi.com/XMLSchema/Radiant/ip"
    xmlns:xi="http://www.w3.org/2001/XInclude"> 
    <lsccip:general>
        <lsccip:vendor>latticesemi.com</lsccip:vendor>
        <lsccip:library>ip</lsccip:library>
        <lsccip:name>display_port</lsccip:name>
        <lsccip:display_name>DisplayPort</lsccip:display_name>
        <lsccip:version>2.1.1</lsccip:version>
        <lsccip:category>Audio_Video_and_Image_Processing</lsccip:category>
        <lsccip:min_radiant_version>2025.1</lsccip:min_radiant_version>
        <lsccip:min_esi_version>2025.1</lsccip:min_esi_version>
        <lsccip:supported_products>
            <lsccip:supported_family name="LFCPNX">
                <lsccip:supported_device name="LFCPNX-100"></lsccip:supported_device>
                <lsccip:supported_device name="LFCPNX-100AUTODIE"></lsccip:supported_device>
                <lsccip:supported_device name="LFCPNX-50"></lsccip:supported_device>                
            </lsccip:supported_family>
        </lsccip:supported_products>
        <lsccip:supported_platforms>
            <lsccip:supported_platform name="radiant" />
            <lsccip:supported_platform name="esi" />
        </lsccip:supported_platforms>
    </lsccip:general>
    <lsccip:settings>
        <!-- General -->
        <!-- common settings -->
        <lsccip:setting id="SIM"
                        title="Enable SIM Mode"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port"
                        default="False"
                        hidden="True"
                        group1="General"
                        group2="General"
                        editable="1"
        />
        <lsccip:setting id="FAMILY"
                        type="param"
                        conn_mod="display_port"
                        value_type="string"
                        default="LFCPNX"
                        value_expr="runtime_info.device_info.architecture(1)"
                        editable="False"
                        hidden="True"
                        title="Device Architecture"
                        group1="General"
                        group2="General"
        />
        <lsccip:setting id="MODE"
                        title="Mode"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="0"
                        options="[('Tx only', 0), ('Rx only', 1), ('Tx and Rx', 2)]"
                        group1="General"
                        group2="General"
                        editable="1"
        />
        <lsccip:setting id="DP_AXI4_LITE_EN"
                        title="Enable AXI-Lite Interface"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="General"
                        group2="General"
                        editable="True"
                        hidden="True"
        />
        <lsccip:setting id="DP_AXIL_DATA_WIDTH"
                        title="AXI-Lite DATA Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="32"
                        group1="General"
                        group2="General"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="DP_AXIL_ADDR_WIDTH"
                        title="AXI-Lite ADDR Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="32"
                        group1="General"
                        group2="General"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="DP_AXIL_STRB_WIDTH"
                        title="AXI-Lite STRB Width"
                        type="input"
                        value_type="int"
                        conn_mod="display_port" 
                        default="4"
                        value_expr="axil_strb_width(DP_AXIL_DATA_WIDTH)"
                        group1="General"
                        group2="General"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="LANE_ID"
                        title="PHY PCS Lane ID"
                        type="param"
                        value_type="string"
                        conn_mod="display_port" 
                        default="0"
                        options="lane_id_opt(MODE,DP_RX_MAX_LANE_COUNT,DP_TX_MAX_LANE_COUNT)"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="1"
        />
        <lsccip:setting id="CLOCK_SEL"
                        title="PHY Refclk Select"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="1"
                        options="[0, 1]"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="1"
        />
        <lsccip:setting id="GRP_NAME"
                        type="param"
                        conn_mod="display_port"
                        value_type="string"
                        title="Group Name"
                        value_expr="inst()"
                        editable="False"
                        hidden="True"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
        />
        <lsccip:setting id="SWAP_LANE_0_1_TX"
                        title="Swap lanes 0 and 1 for Tx"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="sim_mode(SIM)"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="INVERT_LANE_2_3_TX"
                        title="Invert lanes 2 and 3 for Tx"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="sim_mode(SIM)"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="SWAP_LANE_0_1_2_3_RX"
                        title="Swap lanes 0,1,2,3 for Rx"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="sim_mode(SIM)"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="INVERT_LANE_RX"
                        title="Invert all lanes for Rx"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="sim_mode(SIM)"
                        group1="Lattice Hardware Specific Options"
                        group2="General"
                        editable="not (MODE ==0)"
        />
        <!--  DP RX parameters-->
        <lsccip:setting id="DP_RX_MAX_LANE_COUNT"
                        title="Maximum Lane Count"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="4"
                        options="[1,2,4]"
                        drc= "lane_count_check(DP_TX_MAX_LANE_COUNT,DP_RX_MAX_LANE_COUNT,MODE)" 
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_MAX_LINK_RATE"
                        title="Maximum Link Rate (Gbps)"
                        type="input"
                        value_type="string"
                        conn_mod="display_port" 
                        default="5.4"
                        options="[('1.62') , ('2.7') , ('5.4') , ('8.1')]"
                        drc="link_rate_check(DP_TX_MAX_LINK_RATE,DP_RX_MAX_LINK_RATE,MODE)" 
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_MAX_LANE_RATE"
                        title="Maximum Link Rate (Gbps)"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="20"
                        value_expr="calc_link(DP_RX_MAX_LINK_RATE)"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="True"
                        hidden="True"
        />
        <lsccip:setting id="DP_RX_AXIL_EN"
                        title="AXI4-Lite DPRX Register Enable"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_EDP_EN"
                        title="eDP Enable"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_PPC"
                        title="Pixels per Clock"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="4"
                        options="[1,2,4]"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="False"
        />
        <lsccip:setting id="DP_RX_INTERLACE_EN"
                        title="Enable Interlaced Video"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
                        hidden="True"
        />
        <lsccip:setting id="DP_RX_VIDEO_INTERFACE"
                        title="Video Interface"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="0"
                        options="[('Unified Video Streaming',0), ('Native Video',1)]"
                        group1="Video Interface"
                        group2="DP Rx settings"
                        editable="False"
        />
        <lsccip:setting id="DP_RX_AXIS_TDATA_WIDTH"
                        title="RX Unified AXI Stream TDATA Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        value_expr="cal_tdata_width(DP_RX_MAX_BPC,DP_RX_PPC)"
                        group1="Video Data Interface"
                        group2="DP Rx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_RX_AXIS_TSTRB_WIDTH"
                        title="RX Unified AXI Stream TSTRB/TKEEP Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        value_expr="cal_tstrb_width(DP_RX_MAX_BPC,DP_RX_PPC)"
                        group1="Video Data Interface"
                        group2="DP Rx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_RX_AXIS_TUSER_WIDTH"
                        title="RX Unified AXI Stream TUSER Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="2"
                        group1="Video Data Interface"
                        group2="DP Rx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_RX_MAX_BPC"
                        title="Maximum Bits per Component"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="8"
                        options="[6,8,10,12,16]"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_BPC6"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="0 if (DP_RX_SUPPORT_RGB444 == 0) else calc_bpc(DP_RX_MAX_BPC,6,1)"
                        default="False"
                        title="DPRX Support 6BPC"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and (DP_RX_MAX_BPC > 6) and (DP_RX_SUPPORT_RGB444 == 1)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_BPC8"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_RX_MAX_BPC,8,1)"
                        title="DPRX Support 8BPC"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and (DP_RX_MAX_BPC >= 8)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_BPC10"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_RX_MAX_BPC,10,1)"
                        title="DPRX Support 10BPC"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and (DP_RX_MAX_BPC >= 10)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_BPC12"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_RX_MAX_BPC,12,1)"
                        title="DPRX Support 12BPC"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and (DP_RX_MAX_BPC >= 12)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_BPC16"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_RX_MAX_BPC,16,1)"
                        title="DPRX Support 16BPC"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and (DP_RX_MAX_BPC >= 16)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_RGB444"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="True"
                        title="DPRX Support RGB and YCbCr444"
                        drc="pixel_format_chk('RX',DP_RX_SUPPORT_RGB444,DP_RX_SUPPORT_YCBCR422,DP_RX_SUPPORT_BPC6,DP_RX_SUPPORT_BPC8,DP_RX_SUPPORT_BPC10,DP_RX_SUPPORT_BPC12,DP_RX_SUPPORT_BPC16)"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_SUPPORT_YCBCR422"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        title="DPRX Support YCbCr422"
                        group1="Color Format"
                        group2="DP Rx settings"
                        editable="not (MODE ==0)"
        />
        <lsccip:setting id="DP_RX_ASSR_EN"
                        title="eDP Support ASSR"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        value_expr="(DP_RX_EDP_EN==1)"
                        group1="eDP IP Capability"
                        group2="DP Rx settings"
                        editable="not (MODE ==0) and DP_RX_EDP_EN"
                        hidden="not (DP_RX_EDP_EN==1)"
        />
        <lsccip:setting id="DP_RX_REDUCED_AUX"
                        title="eDP Reduced AUX Timing"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        value_expr="(DP_RX_EDP_EN==1)"
                        group1="eDP IP Capability"
                        group2="DP Rx settings"
                        editable="False"
                        hidden="not (DP_RX_EDP_EN==1)"
        />
        <lsccip:setting id="DP_RX_FAST_LINK"
                        title="eDP Fast Link Training"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="eDP IP Capability"
                        group2="DP Rx settings"
                        editable="False"
                        hidden="not (DP_RX_EDP_EN==1)"
        />
        <lsccip:setting id="DP_RX_INTERNAL_EDID_RAM"
                        title="Enable internal EDID RAM"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="(SIM==1)"
                        group1="IP Capability"
                        group2="DP Rx settings"
                        editable="True"
                        hidden="True"
        />
        <!-- TX parameters -->
        <lsccip:setting id="DP_TX_MAX_LANE_COUNT"
                        title="Maximum Lane Count"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="4"
                        options="[1,2,4]"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="DP_TX_MAX_LINK_RATE"
                        title="Maximum Link Rate (Gbps)"
                        type="input"
                        value_type="string"
                        conn_mod="display_port"
                        default="5.4"                    
                        options="[('1.62') , ('2.7') , ('5.4') , ('8.1')]"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="DP_TX_MAX_LANE_RATE"
                        title="Maximum Link Rate (Gbps)"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="20"
                        value_expr="calc_link(DP_TX_MAX_LINK_RATE)"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="True"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_AXIL_EN"
                        title="AXI4-Lite DPTX Register Enable"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="DP_TX_EDP_EN"
                        title="eDP Enable"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="DP_TX_PPC"
                        title="Pixels Per Clock"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="4"
                        options="[1,2,4]"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="False"
        />
        <lsccip:setting id="DP_TX_INTERLACE_EN"
                        title="Enable Interlaced Video"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="IP Capability"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_VIDEO_INTERFACE"
                        title="Video Interface"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="0"
                        options="[('Unified Video Streaming',0), ('Native Video',1)]"
                        group1="Video Interface"
                        group2="DP Tx settings"
                        editable="False"
        />
        <lsccip:setting id="DP_TX_AXIS_TDATA_WIDTH"
                        title="TX Unified AXI Stream TData Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        value_expr="cal_tdata_width(DP_TX_MAX_BPC,DP_TX_PPC)"
                        group1="Video Interface"
                        group2="DP Tx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_AXIS_TSTRB_WIDTH"
                        title="TX Unified AXI Stream TSTRB/TKEEP Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        value_expr="cal_tstrb_width(DP_TX_MAX_BPC,DP_TX_PPC)"
                        group1="Video Interface"
                        group2="DP Tx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_AXIS_TUSER_WIDTH"
                        title="TX Unified AXI Stream TUSER Width"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="2"
                        group1="Video Interface"
                        group2="DP Tx settings"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_MAX_BPC"
                        title="Maximum Bits per Component"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="8"
                        options="[6,8,10,12,16]"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="not (MODE ==1)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_BPC6"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="0 if (DP_TX_SUPPORT_RGB444==0) else calc_bpc(DP_TX_MAX_BPC,6,DP_TX_AXIL_EN)"
                        default="False"
                        title="DPTX Support 6BPC"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="0 if not DP_TX_AXIL_EN else not (MODE==1) and (DP_TX_MAX_BPC > 6)  and (DP_TX_SUPPORT_RGB444 == 1)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_BPC8"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_TX_MAX_BPC,8,DP_TX_AXIL_EN)"
                        title="DPTX Support 8BPC"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="0 if not DP_TX_AXIL_EN else not (MODE==1) and (DP_TX_MAX_BPC >=8)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_BPC10"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_TX_MAX_BPC,10,DP_TX_AXIL_EN)"
                        title="DPTX Support 10BPC"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="0 if not DP_TX_AXIL_EN else not (MODE==1) and (DP_TX_MAX_BPC >=10)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_BPC12"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_TX_MAX_BPC,12,DP_TX_AXIL_EN)"
                        title="DPTX Support 12BPC"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="0 if not DP_TX_AXIL_EN else not (MODE==1) and (DP_TX_MAX_BPC >=12)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_BPC16"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        value_expr="calc_bpc(DP_TX_MAX_BPC,16,DP_TX_AXIL_EN)"
                        title="DPTX Support 16BPC"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="0 if not DP_TX_AXIL_EN else not (MODE==1) and (DP_TX_MAX_BPC >=16)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_RGB444"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="True"
                        title="DPTX Support RGB and YCbCr444"
                        drc="pixel_format_chk('TX',DP_TX_SUPPORT_RGB444,DP_TX_SUPPORT_YCBCR422,DP_TX_SUPPORT_BPC6,DP_TX_SUPPORT_BPC8,DP_TX_SUPPORT_BPC10,DP_TX_SUPPORT_BPC12,DP_TX_SUPPORT_BPC16)"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="not (MODE==1)"
        />
        <lsccip:setting id="DP_TX_SUPPORT_YCBCR422"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        title="DPTX Support YCbCr422"
                        group1="Color Format"
                        group2="DP Tx settings"
                        editable="not (MODE==1)"
        />
        <lsccip:setting id="DP_TX_ASSR_EN"
                        title="eDP ASSR Enable"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        value_expr="(DP_TX_EDP_EN==1)"
                        group1="eDP IP Capability"
                        group2="DP Tx settings"
                        editable="False"
                        hidden="not (DP_TX_EDP_EN == 1)"
        />
        <lsccip:setting id="DP_TX_REDUCED_AUX"
                        title="eDP Reduced AUX Timing"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        value_expr="(DP_TX_EDP_EN==1)"
                        group1="eDP IP Capability"
                        group2="DP Tx settings"
                        editable="False"
                        hidden="not (DP_TX_EDP_EN == 1)"
        />
        <lsccip:setting id="DP_TX_FAST_LINK"
                        title="eDP Fast Link Training"
                        type="param"
                        value_type="bool"
                        conn_mod="display_port" 
                        default="False"
                        group1="eDP IP Capability"
                        group2="DP Tx settings"
                        editable="False"
                        hidden="not (DP_TX_EDP_EN == 1)"
        />
        <lsccip:setting id="DP_TX_IP_ACTIVE"
                        type="param"
                        conn_mod="display_port"
                        value_type="bool"
                        title="DP Tx Activate"
                        value_expr="not (MODE ==1)"
                        group1="General"
                        group2="TX Video Settings"
                        editable="not (MODE ==1)"
                        hidden="True"
        />
        <lsccip:setting id="DP_TX_AUTOMATE_MSA" 
                        type="input"
                        value_type="bool" 
                        conn_mod="display_port" 
                        title="Set MSA based on default resolution" 
                        default="False" 
                        output_formatter="nostr" 
                        drc="automate_msa_support(DP_TX_AUTOMATE_MSA,DP_TX_SUPPORT_BPC8)"
                        group1="General"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and DP_TX_SUPPORT_RGB444"
        />
        <lsccip:setting id="DP_TX_RESOLUTION"
                        title="Default Resolution"
                        type="param"
                        value_type="int"
                        conn_mod="display_port" 
                        default="5"
                        options="[('3840x2160p,60Hz,RGB,8BPC',1),('1920x1080p,60Hz,RGB,8BPC',5),('1280x720p,60Hz,RGB,8BPC',3)]"
                        group1="General"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="DP_TX_PIXEL_FORMAT" 
                        type="param"
                        value_type="int" 
                        conn_mod="display_port" 
                        title="Color Format" 
                        options="tx_pixel_format_opt(DP_TX_SUPPORT_RGB444,DP_TX_SUPPORT_YCBCR422)"
                        group1="General"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="DP_TX_PIXEL_CLK" 
                        type="input"
                        value_type="string" 
                        conn_mod="display_port" 
                        title="Pixel Clock Frequency(in MHz)" 
                        default="148.5" 
                        value_expr="calc_default_pixel_clk(DP_TX_RESOLUTION)"
                        output_formatter="nostr" 
                        drc="resolution_support(DP_TX_PIXEL_CLK,DP_TX_MAX_LANE_RATE,DP_TX_MAX_BPC,DP_TX_MAX_LANE_COUNT,DP_TX_PIXEL_FORMAT,DP_TX_AUTOMATE_MSA)" 
                        group1="General"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="NVID"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="NVID"
                        default="32768"
                        value_range="(0,32768)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="MVID"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="MVID"
                        value_expr="calc_mvid(DP_TX_PIXEL_CLK,NVID,DP_TX_MAX_LANE_RATE)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="HTOTAL"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Total Horizontal Size"
                        default="2200"
                        value_expr="calc_default_htotal(DP_TX_RESOLUTION)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="VTOTAL"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Total Vertical Size"
                        default="1125"
                        value_expr="calc_default_vtotal(DP_TX_RESOLUTION)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="HWIDTH"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Horizontal Width"
                        default="1920"
                        value_expr="calc_default_hwidth(DP_TX_RESOLUTION)"
                        drc="limit_check(HWIDTH,HTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="VHEIGHT"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Vertical Height"
                        default="1080"
                        value_expr="calc_default_vheight(DP_TX_RESOLUTION)"
                        drc="limit_check(VHEIGHT,VTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="HSTART"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Horizontal Active Start Point"
                        default="192"
                        value_expr="calc_default_hstart(DP_TX_RESOLUTION)"
                        drc="limit_check(HSTART,HTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="VSTART"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Vertical Active Start Point"
                        default="41"
                        value_expr="calc_default_vstart(DP_TX_RESOLUTION)"
                        drc="limit_check(VSTART,VTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="HSYNC_WIDTH"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Horizontal Sync Width"
                        default="44"
                        value_expr="calc_default_hsync_width(DP_TX_RESOLUTION)"
                        drc="limit_check(HSYNC_WIDTH,HTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="VSYNC_WIDTH"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Vertical Sync Width"
                        default="5"
                        value_expr="calc_default_vsync_width(DP_TX_RESOLUTION)"
                        drc="limit_check(VSYNC_WIDTH,VTOTAL)" 
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
        <lsccip:setting id="MISC0"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Miscellaneous 0"
                        value_expr="calc_misc0(DP_TX_PIXEL_FORMAT,DP_TX_MAX_BPC)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="MISC1"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Miscellaneous 1"
                        value_expr="calc_misc1(DP_TX_PIXEL_FORMAT)"
                        default="0"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="HSYNC_POLARITY"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="H Sync Polarity"
                        default="0"
                        value_range="(0,1)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1)"
                        hidden="True"
        />
        <lsccip:setting id="VSYNC_POLARITY"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="V Sync Polarity"
                        default="0"
                        value_range="(0,1)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1)"
                        hidden="True"
        />
        <lsccip:setting id="HBLANK"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Horizontal Blank Size"
                        value_expr="calc_vid_blank_param(HWIDTH, HTOTAL)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="VBLANK"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Vertical Blank Size"
                        value_expr="calc_vid_blank_param(VHEIGHT, VTOTAL)"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="False"
                        hidden="True"
        />
        <lsccip:setting id="FPS"
                        type="param"
                        conn_mod="display_port"
                        value_type="int"
                        title="Frame Rate (Hz)"
                        default="60"
                        group1="Main Stream Attribute"
                        group2="TX Video Settings"
                        editable="not (MODE ==1) and not DP_TX_AUTOMATE_MSA"
        />
    </lsccip:settings>
    <lsccip:ports>
        <!-- General ports -->
        <!-- RESET -->
        <lsccip:port name="rst_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="rst_i"  
        />
        <!-- PHY Refclk -->
        <lsccip:port name="refclk_p_i"
                     dir="in"
                     conn_mod="display_port"
                     conn_port="refclk_p_i"
        />
        <lsccip:port name="refclk_n_i"
                     dir="in"
                     conn_mod="display_port"
                     conn_port="refclk_n_i"
        />
        <lsccip:port name="s_axi_aclk_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="s_axi_aclk_i" 
        />
        <lsccip:port name="s_axi_aresetn_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="s_axi_aresetn_i"   
        />
        <!-- TX Serial pins -->
        <lsccip:port name="dp_tx_sd0txp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd0txp_o"  
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd0txn_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd0txn_o"
                     dangling="MODE == 1" 
        />
        <lsccip:port name="dp_tx_sd1txp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd1txp_o" 
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd1txn_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd1txn_o" 
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd2txp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd2txp_o" 
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd2txn_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd2txn_o" 
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd3txp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd3txp_o" 
                     dangling="MODE == 1"
        />
        <lsccip:port name="dp_tx_sd3txn_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_sd3txn_o"
                     dangling="MODE == 1"  
        />
        <!-- RX Serial pins -->
        <lsccip:port name="dp_rx_sd0rxp_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd0rxp_i"   
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd0rxn_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd0rxn_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd1rxp_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd1rxp_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd1rxn_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd1rxn_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd2rxp_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd2rxp_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd2rxn_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd2rxn_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd3rxp_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd3rxp_i"  
                     stick_low="MODE == 0"
        />
        <lsccip:port name="dp_rx_sd3rxn_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_sd3rxn_i"   
                     stick_low="MODE == 0"
        />
        <!-- AUX Clock -->
        <lsccip:port name="aux_clk_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="aux_clk_i" 
        /> 
        <!-- TX Interface signals -->
        <!-- TX AUX signals -->
        <lsccip:port name="dp_tx_aux_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_aux_o" 
                     dangling="MODE == 1"     
        />
        <lsccip:port name="dp_tx_aux_oe_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_aux_oe_o"  
                     dangling="MODE == 1"   
        />
        <lsccip:port name="dp_tx_aux_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_aux_i"   
                     stick_low="MODE == 1"
        />
        <!-- HOT PULG DETECT-->
        <lsccip:port name="dp_tx_hpd_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_hpd_i"   
                     stick_low="MODE == 1"
        />
        <lsccip:port name="dp_tx_training_done_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_training_done_o"  
                     dangling="MODE == 1"   
        />
        <lsccip:port name="dp_tx_out_clk_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_out_clk_o"  
                     dangling="MODE == 1"   
        />
        <!-- AXI Video stream 0 --> 
        <lsccip:port name="dp_tx_axis_vid_clk_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_clk_s0_i"  
                     stick_low="MODE == 1"
        />
        <lsccip:port name="dp_tx_axis_vid_rstn_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_rstn_s0_i" 
                     stick_low="MODE == 1" 
        /> 
        <lsccip:port name="dp_tx_axis_vid_tvalid_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tvalid_s0_i" 
                     range="(0,0)"
                     bus_interface="DP_TX_AXI4S_S0" 
                     stick_low="MODE == 1"
        />
        <lsccip:port name="dp_tx_axis_vid_tdata_s0_i"
                     dir="in" 
                     range="((DP_TX_AXIS_TDATA_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tdata_s0_i" 
                     conn_range="((DP_TX_AXIS_TDATA_WIDTH)-1,0)" 
                     stick_low="MODE == 1"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <lsccip:port name="dp_tx_axis_vid_tuser_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tuser_s0_i" 
                     range="(1,0)"
                     stick_low="MODE == 1"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <lsccip:port name="dp_tx_axis_vid_tlast_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tlast_s0_i" 
                     range="(0,0)"
                     stick_low="MODE == 1"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <lsccip:port name="dp_tx_axis_vid_tkeep_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tkeep_s0_i" 
                     stick_low="MODE == 1"
                     range="(DP_TX_AXIS_TSTRB_WIDTH-1,0)"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <lsccip:port name="dp_tx_axis_vid_tstrb_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tstrb_s0_i" 
                     stick_low="MODE == 1"
                     range="(DP_TX_AXIS_TSTRB_WIDTH-1,0)"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <lsccip:port name="dp_tx_axis_vid_tready_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_axis_vid_tready_s0_o" 
                     dangling="MODE == 1"
                     range="(0,0)"
                     bus_interface="DP_TX_AXI4S_S0"
        />
        <!-- AXI4-Lite Interface --> 
        <lsccip:port name="dp_tx_s_axil_awaddr_i"
                     dir="in" 
                     range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_awaddr_i" 
                     conn_range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_awprot_i"
                     dir="in" 
                     range="(2,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_awprot_i" 
                     conn_range="(2,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_awvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_awvalid_i" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_awready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_awready_o" 
                     range="(0,0)"
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_wdata_i"
                     dir="in" 
                     range="((DP_AXIL_DATA_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_wdata_i" 
                     conn_range="((DP_AXIL_DATA_WIDTH)-1,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_wstrb_i"
                     dir="in" 
                     range="((DP_AXIL_STRB_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_wstrb_i" 
                     conn_range="((DP_AXIL_STRB_WIDTH)-1,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_wvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_wvalid_i" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_wready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_wready_o" 
                     range="(0,0)"
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_bresp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_bresp_o" 
                     range="(1,0)" 
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_bvalid_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_bvalid_o" 
                     range="(0,0)"
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_bready_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_bready_i" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_araddr_i"
                     dir="in" 
                     range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_araddr_i" 
                     conn_range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_arprot_i"
                     dir="in" 
                     range="(2,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_arprot_i" 
                     conn_range="(2,0)" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
         />
        <lsccip:port name="dp_tx_s_axil_arvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_arvalid_i" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_arready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_arready_o" 
                     range="(0,0)"
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_rdata_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_rdata_o" 
                     range="((DP_AXIL_DATA_WIDTH)-1, 0)" 
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_rresp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_rresp_o" 
                     range="(1,0)" 
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_rvalid_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_rvalid_o" 
                     range="(0,0)"
                     dangling="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <lsccip:port name="dp_tx_s_axil_rready_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_tx_s_axil_rready_i" 
                     stick_low="(MODE==1) or (DP_TX_AXIL_EN==0)"
                     bus_interface="DP_TX_AXI4L"
        />
        <!-- RX Interface signals -->
        <!-- RX AUX and HPD -->
        <lsccip:port name="dp_rx_hpd_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_hpd_o"
                     dangling="MODE ==0"             
        />
        <lsccip:port name="dp_rx_aux_oe_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_aux_oe_o"
                     dangling="MODE ==0"             
        />
        <lsccip:port name="dp_rx_aux_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_aux_i"
                     stick_low="MODE ==0"             
        />
        <lsccip:port name="dp_rx_aux_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_aux_o"
                     dangling="MODE ==0"             
        />
        <!-- RX Recovered Clock Out (LS_CLK) -->
        <lsccip:port name="dp_rx_recvrd_clk_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_recvrd_clk_o"
                     dangling="MODE ==0"             
        />
        <lsccip:port name="dp_rx_clk_valid_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_clk_valid_o"
                     dangling="MODE ==0"             
        />
        <!-- AXI Video stream 0 --> 
        <lsccip:port name="dp_rx_axis_vid_clk_s0_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_clk_s0_i"
                     stick_low="MODE ==0"              
        />
        <lsccip:port name="dp_rx_axis_vid_tvalid_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tvalid_s0_o" 
                     range="(0,0)"
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tready_s0_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tready_s0_i" 
                     stick_low="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tdata_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tdata_s0_o" 
                     range="((DP_RX_AXIS_TDATA_WIDTH)-1, 0)" 
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tuser_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     range="(DP_RX_AXIS_TUSER_WIDTH -1,0)"
                     conn_port="dp_rx_axis_vid_tuser_s0_o" 
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tlast_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tlast_s0_o" 
                     range="(0,0)"
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tkeep_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tkeep_s0_o" 
                     range="(DP_RX_AXIS_TSTRB_WIDTH-1,0)"
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_axis_vid_tstrb_s0_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_axis_vid_tstrb_s0_o" 
                     range="(DP_RX_AXIS_TSTRB_WIDTH-1,0)"
                     dangling="MODE == 0"
                    bus_interface="DP_RX_AXI4S_M0"
        />
        <lsccip:port name="dp_rx_edid_ram_clk_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_edid_ram_clk_o"
                     dangling="(MODE==0) or (DP_RX_INTERNAL_EDID_RAM==1)"             
        />
        <lsccip:port name="dp_rx_edid_ram_rst_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_edid_ram_rst_o"
                     dangling="(MODE==0) or (DP_RX_INTERNAL_EDID_RAM==1)"             
        />
        <lsccip:port name="dp_rx_edid_ram_clken_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_edid_ram_clken_o"
                     dangling="(MODE==0) or (DP_RX_INTERNAL_EDID_RAM==1)"             
        />
        <lsccip:port name="dp_rx_edid_ram_addr_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_edid_ram_addr_o" 
                     range="(7,0)"
                     dangling="(MODE==0) or (DP_RX_INTERNAL_EDID_RAM==1)"
        />
        <lsccip:port name="dp_rx_edid_ram_rdata_i"
                     dir="in" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_edid_ram_rdata_i" 
                     range="(7,0)"
                     stick_low="(MODE==0) or (DP_RX_INTERNAL_EDID_RAM==1)"
        />
        <!-- AXI4-Lite Interface --> 
        <lsccip:port name="dp_rx_s_axil_awaddr_i"
                     dir="in" 
                     range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_awaddr_i" 
                     conn_range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_awprot_i"
                     dir="in" 
                     range="(2,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_awprot_i" 
                     conn_range="(2,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_awvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_awvalid_i" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_awready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_awready_o" 
                     range="(0,0)"
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_wdata_i"
                     dir="in" 
                     range="((DP_AXIL_DATA_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_wdata_i" 
                     conn_range="((DP_AXIL_DATA_WIDTH)-1,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_wstrb_i"
                     dir="in" 
                     range="((DP_AXIL_STRB_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_wstrb_i" 
                     conn_range="((DP_AXIL_STRB_WIDTH)-1,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_wvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_wvalid_i" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_wready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_wready_o" 
                     range="(0,0)"
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_bresp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_bresp_o" 
                     range="(1,0)" 
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_bvalid_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_bvalid_o" 
                     range="(0,0)"
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_bready_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_bready_i" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_araddr_i"
                     dir="in" 
                     range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_araddr_i" 
                     conn_range="((DP_AXIL_ADDR_WIDTH)-1,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_arprot_i"
                     dir="in" 
                     range="(2,0)" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_arprot_i" 
                     conn_range="(2,0)" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
         />
        <lsccip:port name="dp_rx_s_axil_arvalid_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_arvalid_i" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_arready_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_arready_o" 
                     range="(0,0)"
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_rdata_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_rdata_o" 
                     range="((DP_AXIL_DATA_WIDTH)-1, 0)" 
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_rresp_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_rresp_o" 
                     range="(1,0)" 
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_rvalid_o"
                     dir="out" 
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_rvalid_o" 
                     range="(0,0)"
                     dangling="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
        <lsccip:port name="dp_rx_s_axil_rready_i"
                     dir="in" 
                     range="(0,0)"
                     conn_mod="display_port" 
                     conn_port="dp_rx_s_axil_rready_i" 
                     stick_low="(MODE==0) or (DP_RX_AXIL_EN==0)"
                     bus_interface="DP_RX_AXI4L"
        />
    </lsccip:ports>
    <lsccip:outFileConfigs>
      <lsccip:fileConfig name="wrapper" file_suffix="sv" file_description="top_level_system_verilog"/>
      <lsccip:fileConfig name="tcl_constraints" stage="constraint.sdc=lse:all,synplify:all"/>
    </lsccip:outFileConfigs>
    <xi:include href="bus_interface.xml" parse="xml" />
    <xi:include href="memory_map.xml" parse="xml" />
    <lsccip:componentGenerators>
        <lsccip:componentGenerator>
            <lsccip:name>dp_testbench_file</lsccip:name>
            <lsccip:generatorExe>testbench/dp_testbench.py</lsccip:generatorExe>
        </lsccip:componentGenerator>
    </lsccip:componentGenerators>  
</lsccip:ip>
