<?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>i2c_monitor_apb</lsccip:name>
    <lsccip:display_name>I2C_Monitor</lsccip:display_name>
    <lsccip:version>1.1.1</lsccip:version>
    <lsccip:category>Processors_Controllers_and_Peripherals</lsccip:category>
	<lsccip:keywords>BusType_APB</lsccip:keywords>
    <lsccip:min_radiant_version>2.0</lsccip:min_radiant_version>
    <lsccip:supported_products>
      <lsccip:supported_family name="MachXO3D"/>
      <lsccip:supported_family name="LFMXO4"/>
    </lsccip:supported_products>
	<lsccip:supported_platforms>
      <lsccip:supported_platform name="esi" />
      <lsccip:supported_platform name="radiant"/>
    </lsccip:supported_platforms>
  </lsccip:general>
  <lsccip:settings>
    <lsccip:setting conn_mod           = "i2c_monitor_apb"
                    group1             = "General"
                    id                 = "param"
                    type               = "input"
                    value_type         = "string"
                    default            = "NONE"
                    editable           = "False"
                    hidden             = "False"
                    title              = "Parameter settings"
    />  
  </lsccip:settings>
  
  <lsccip:ports>
    <!-- System IO -->
    <lsccip:port name      = "clk_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "clk_i"
				 port_type = "clock"
    />

	<lsccip:port name      = "reset_n_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "reset_n_i"
				 port_type = "reset"
    />

	<lsccip:port name      = "i2cbf_cs_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "i2cbf_cs_i"
    />
	
    <lsccip:port name      = "i2cbf_sr_o"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
				 range     = "(7, 0)"
                 conn_port = "i2cbf_sr_o"
    />
	
    <lsccip:port name      = "i2cbf_irq_o"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "i2cbf_irq_o"
				 bus_interface = "INTR"
    />
	
    <!-- APB interface -->
    <lsccip:port name          = "apb_penable_i"
                 dir           = "in"
                 conn_mod      = "i2c_monitor_apb"
                 conn_port     = "apb_penable_i"
				 bus_interface = "APB_S0"
    />

    <lsccip:port name      = "apb_psel_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_psel_i"
				 bus_interface = "APB_S0"
				 
    />

    <lsccip:port name      = "apb_pwrite_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_pwrite_i"
				 bus_interface = "APB_S0"
    />
	
    <lsccip:port name      = "apb_paddr_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_paddr_i"
                 range     = "(31, 0)"
				 bus_interface = "APB_S0"
    />

    <lsccip:port name      = "apb_pwdata_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_pwdata_i"
                 range     = "(31, 0)"
				 bus_interface = "APB_S0"
    />
	
    <lsccip:port name      = "apb_pready_o"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_pready_o"
				 bus_interface = "APB_S0"
    />

    <lsccip:port name      = "apb_prdata_o"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_prdata_o"
                 range     = "(31, 0)"
				 bus_interface = "APB_S0"
    />

    <lsccip:port name      = "apb_pslverr_o"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "apb_pslverr_o"
				 bus_interface = "APB_S0"
    />
	
    <!-- I2C interface -->
    <lsccip:port name      = "sda_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "sda_i"
    />

    <lsccip:port name      = "scl_i"
                 dir       = "in"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "scl_i"
    />

    <lsccip:port name      = "scl_oe"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "scl_oe"
    />
	
	<lsccip:port name      = "sda_oe"
                 dir       = "out"
                 conn_mod  = "i2c_monitor_apb"
                 conn_port = "sda_oe"
    />
	
  </lsccip:ports>
  
  <xi:include href="bus_interface.xml" parse="xml" />  
  <xi:include href="memory_map.xml" parse="xml" />

</lsccip:ip>
