#
# 2005.10.21.18:02:50
#:-:
#:-: Author: zhoushuwu
#:-: Guangzhou ZLG-MCU Development Co.,LTD.Research centre
#:-: http://www.zlgmcu.com
#:-:
# DO NOT MODIFY THIS FILE
# If you hand-modify this file you will likely
# interfere with Component Editor's ability to
# read and edit it. And then Component Editor
# will overwrite your changes anyway. So, for
# the very best results, just relax and
# DO NOT MODIFY THIS FILE
#
CLASS oc_i2c_master
{
  MODULE_DEFAULTS 
  {
    class = "oc_i2c_master";
    class_version = "1.0";
    SYSTEM_BUILDER_INFO 
    {
      Instantiate_In_System_Module = "1";
      Top_Level_Ports_Are_Enumerated = "1";
    }
    COMPONENT_BUILDER 
    {
      GLS_SETTINGS 
      {
      }
    }
    PORT_WIRING 
    {
    }
    SIMULATION 
    {
      DISPLAY 
      {
        SIGNAL x101
        {
          name = "oc_i2c_master/global_signals";
          format = "Divider";
        }
        SIGNAL x102
        {
          name = "oc_i2c_master/avalon_slave";
          format = "Divider";
        }
        SIGNAL x103
        {
          name = "scl_pad_io";
        }
        SIGNAL x104
        {
          name = "sda_pad_io";
        }
        SIGNAL x105
        {
          name = "wb_ack_o";
        }
        SIGNAL x106
        {
          name = "wb_adr_i";
          radix = "hexadecimal";
        }
        SIGNAL x107
        {
          name = "wb_clk_i";
        }
        SIGNAL x108
        {
          name = "wb_cyc_i";
        }
        SIGNAL x109
        {
          name = "wb_dat_i";
          radix = "hexadecimal";
        }
        SIGNAL x110
        {
          name = "wb_dat_o";
          radix = "hexadecimal";
        }
        SIGNAL x111
        {
          name = "wb_err_o";
        }
        SIGNAL x112
        {
          name = "wb_rst_i";
        }
        SIGNAL x113
        {
          name = "wb_stb_i";
        }
        SIGNAL x114
        {
          name = "wb_we_i";
        }
        SIGNAL x115
        {
          name = "wb_inta_o";
        }
      }
    }
    SLAVE avalon_slave
    {
      SYSTEM_BUILDER_INFO 
      {
        Bus_Type = "avalon";
        Address_Width = "3";
        Address_Alignment = "native";
        Data_Width = "32";
        Has_Base_Address = "1";
        Has_IRQ = "1";
        Setup_Time = "0";
        Hold_Time = "0";
        Read_Wait_States = "peripheral_controlled";
        Write_Wait_States = "peripheral_controlled";
        Read_Latency = "0";
        Maximum_Pending_Read_Transactions = "0";
        Is_Printable_Device = "0";
        Is_Memory_Device = "0";
        Is_Readable = "1";
        Is_Writable = "1";
        Minimum_Uninterrupted_Run_Length = "1";
      }
      COMPONENT_BUILDER 
      {
        AVS_SETTINGS 
        {
          Setup_Value = "0";
          Read_Wait_Value = "1";
          Write_Wait_Value = "1";
          Hold_Value = "0";
          Timing_Units = "cycles";
          Read_Latency_Value = "0";
          Max_Pending_Read_Transactions_Value = "1";
          Address_Alignment = "native";
          Is_Printable_Device = "0";
          interface_name = "Avalon Slave";
          Minimum_Arbitration_Shares = "1";
          external_wait = "1";
          Is_Memory_Device = "0";
        }
      }
      PORT_WIRING 
      {
        PORT scl_pad_io
        {
          width = "1";
          width_expression = "";
          direction = "inout";
          type = "export";
          is_shared = "0";
        }
        PORT sda_pad_io
        {
          width = "1";
          width_expression = "";
          direction = "inout";
          type = "export";
          is_shared = "0";
        }
        PORT wb_ack_o
        {
          width = "1";
          width_expression = "";
          direction = "output";
          type = "waitrequest_n";
          is_shared = "0";
        }
        PORT wb_adr_i
        {
          width = "3";
          width_expression = "";
          direction = "input";
          type = "address";
          is_shared = "0";
        }
        PORT wb_clk_i
        {
          width = "1";
          width_expression = "";
          direction = "input";
          type = "clk";
          is_shared = "0";
        }
        PORT wb_cyc_i
        {
          width = "1";
          width_expression = "";
          direction = "input";
          type = "chipselect";
          is_shared = "0";
        }
        PORT wb_dat_i
        {
          width = "32";
          width_expression = "";
          direction = "input";
          type = "writedata";
          is_shared = "0";
        }
        PORT wb_dat_o
        {
          width = "32";
          width_expression = "";
          direction = "output";
          type = "readdata";
          is_shared = "0";
        }
        PORT wb_err_o
        {
          width = "1";
          width_expression = "";
          direction = "output";
          type = "wishbone_err";
          is_shared = "0";
        }
        PORT wb_rst_i
        {
          width = "1";
          width_expression = "";
          direction = "input";
          type = "reset";
          is_shared = "0";
        }
        PORT wb_stb_i
        {
          width = "1";
          width_expression = "";
          direction = "input";
          type = "chipselect";
          is_shared = "0";
        }
        PORT wb_we_i
        {
          width = "1";
          width_expression = "";
          direction = "input";
          type = "write";
          is_shared = "0";
        }
        PORT wb_inta_o
        {
          width = "1";
          width_expression = "";
          direction = "output";
          type = "irq";
          is_shared = "0";
        }
      }
    }
  }
  USER_INTERFACE 
  {
    USER_LABELS 
    {
      name = "oc_i2c_master";
      technology = "DeviceSOPC";
    }
    WIZARD_UI the_wizard_ui
    {
      title = "oc_i2c_master - {{ $MOD }}";
      CONTEXT 
      {
        H = "WIZARD_SCRIPT_ARGUMENTS/hdl_parameters";
        M = "";
        SBI_ = "SYSTEM_BUILDER_INFO";
        SBI_avalon_slave = "SLAVE avalon_slave/SYSTEM_BUILDER_INFO";
      }
      PAGES main
      {
        PAGE 1
        {
          align = "left";
          title = "<b>oc_i2c_master 1.0</b> Settings";
          layout = "vertical";
          TEXT 
          {
            title = "Built on: 2005.10.21.18:02:50";
          }
          TEXT 
          {
            title = "Class name: oc_i2c_master";
          }
          TEXT 
          {
            title = "Class version: 1.0";
          }
          TEXT 
          {
            title = "Component name: oc_i2c_master";
          }
          TEXT 
          {
            title = "Component Group: DeviceSOPC";
          }
        }
      }
    }
  }
  CB_GENERATOR 
  {
    top_module_name = "oc_i2c_master.vhd:oc_i2c_master";
    emit_system_h = "0";
    HDL_FILES 
    {
      FILE 
      {
        filepath = "hdl/i2c_master_bit_ctrl.vhd";
        use_in_simulation = "1";
        use_in_synthesis = "1";
      }
      FILE 
      {
        filepath = "hdl/i2c_master_byte_ctrl.vhd";
        use_in_simulation = "1";
        use_in_synthesis = "1";
      }
      FILE 
      {
        filepath = "hdl/i2c_master_top.vhd";
        use_in_simulation = "1";
        use_in_synthesis = "1";
      }
      FILE 
      {
        filepath = "hdl/oc_i2c_master.vhd";
        use_in_simulation = "1";
        use_in_synthesis = "1";
      }
    }
  }
  ASSOCIATED_FILES 
  {
    Add_Program = "the_wizard_ui";
    Edit_Program = "the_wizard_ui";
    Generator_Program = "cb_generator.pl";
  }
}
