Class: OrigenTesters::IGXLBasedTester::J750::TestInstance

Inherits:
Base::TestInstance show all
Defined in:
lib/origen_testers/igxl_based_tester/j750/test_instance.rb

Constant Summary collapse

TEST_INSTANCE_ATTRS =

Attributes for each test instance line, first few are named directly

%w(
  test_name proc_type proc_name proc_called_as dc_category
  dc_selector ac_category ac_selector
  time_sets edge_sets pin_levels overlay
)
TEST_INSTANCE_EXTRA_ARGS =

Attributes for additional test instance arguments beyond those described above

80
TEST_INSTANCE_ALIASES =
{
  name:             :test_name,
  time_set:         :time_sets,
  timeset:          :time_sets,
  timesets:         :time_sets,

  other:            {
  },

  empty:            {
    start_func:           :arg0,
    start_of_body_f:      :arg0,
    pre_pat_func:         :arg1,
    pre_pat_f:            :arg1,
    pre_test_func:        :arg2,
    pre_test_f:           :arg2,
    post_test_func:       :arg3,
    post_test_f:          :arg3,
    post_pat_func:        :arg4,
    post_pat_f:           :arg4,
    end_func:             :arg5,
    end_of_body_f:        :arg5,
    start_func_args:      :arg6,
    start_of_body_f_args: :arg6,
    pre_pat_func_args:    :arg7,
    pre_pat_f_args:       :arg7,
    pre_test_func_args:   :arg8,
    pre_test_f_args:      :arg8,
    post_test_func_args:  :arg9,
    post_test_f_args:     :arg9,
    post_pat_func_args:   :arg10,
    post_pat_f_args:      :arg10,
    end_func_args:        :arg11,
    end_of_body_f_args:   :arg11,
    utility_pins_1:       :arg12,
    utility_pins_0:       :arg13,
    init_lo:              :arg14,
    start_lo:             :arg14,
    init_hi:              :arg15,
    start_hi:             :arg15,
    init_hiz:             :arg16,
    start_hiz:            :arg16,
    float_pins:           :arg17
  },

  # Functional test instances
  functional:       {
    pattern:              :arg0,
    patterns:             :arg0,
    start_func:           :arg1,
    start_of_body_f:      :arg1,
    pre_pat_func:         :arg2,
    pre_pat_f:            :arg2,
    pre_test_func:        :arg3,
    pre_test_f:           :arg3,
    post_test_func:       :arg4,
    post_test_f:          :arg4,
    post_pat_func:        :arg5,
    post_pat_f:           :arg5,
    end_func:             :arg6,
    end_of_body_f:        :arg6,
    set_pass_fail:        :arg7,
    init_lo:              :arg8,
    start_lo:             :arg8,
    init_hi:              :arg9,
    start_hi:             :arg9,
    init_hiz:             :arg10,
    start_hiz:            :arg10,
    float_pins:           :arg11,
    start_func_args:      :arg13,
    start_of_body_f_args: :arg13,
    pre_pat_func_args:    :arg14,
    pre_pat_f_args:       :arg14,
    pre_test_func_args:   :arg15,
    pre_test_f_args:      :arg15,
    post_test_func_args:  :arg16,
    post_test_f_args:     :arg16,
    post_pat_func_args:   :arg17,
    post_pat_f_args:      :arg17,
    end_func_args:        :arg18,
    end_of_body_f_args:   :arg18,
    utility_pins_1:       :arg19,
    utility_pins_0:       :arg20,
    wait_flags:           :arg21,
    wait_time:            :arg22,
    pattern_timeout:      :arg22,
    pat_flag_func:        :arg23,
    pat_flag_f:           :arg23,
    PatFlagF:             :arg23,
    pat_flag_func_args:   :arg24,
    pat_flag_f_args:      :arg24,
    relay_mode:           :arg25,
    threading:            :arg26,
    match_all_sites:      :arg27,
    capture_mode:         :arg30,
    capture_what:         :arg31,
    capture_memory:       :arg32,
    capture_size:         :arg33,
    datalog_mode:         :arg34,
    data_type:            :arg35
  },

  board_pmu:        {
    hsp_start:            :arg0,
    start_func:           :arg1,
    start_of_body_f:      :arg1,
    pre_pat_func:         :arg2,
    pre_pat_f:            :arg2,
    pre_test_func:        :arg3,
    pre_test_f:           :arg3,
    post_test_func:       :arg4,
    post_test_f:          :arg4,
    post_pat_func:        :arg5,
    post_pat_f:           :arg5,
    end_func:             :arg6,
    end_of_body_f:        :arg6,
    precond_pat:          :arg7,
    hold_state_pat:       :arg8,
    holdstate_pat:        :arg8,
    pattern:              :arg8,
    pcp_stop:             :arg9,
    wait_flags:           :arg10,
    start_lo:             :arg11,
    init_lo:              :arg11,
    start_hi:             :arg12,
    init_hi:              :arg12,
    start_hiz:            :arg13,
    init_hiz:             :arg13,
    float_pins:           :arg14,
    pinlist:              :arg15,
    pin:                  :arg15,
    pin_list:             :arg15,
    measure_mode:         :arg16,
    irange:               :arg17,
    clamp:                :arg18,
    vrange:               :arg19,
    sampling_time:        :arg20,
    samples:              :arg21,
    settling_time:        :arg22,
    hi_lo_lim_valid:      :arg23,
    hi_lo_limit_valid:    :arg23,
    hi_limit:             :arg24,
    lo_limit:             :arg25,
    force_cond_1:         :arg26,
    force_cond:           :arg26,
    force_condition:      :arg26,
    force_cond_2:         :arg27,
    gang_pins_tested:     :arg28,
    relay_mode:           :arg29,
    wait_time_out:        :arg30,
    start_func_args:      :arg31,
    start_of_body_f_args: :arg31,
    pre_pat_func_args:    :arg32,
    pre_pat_f_args:       :arg32,
    pre_test_func_args:   :arg33,
    pre_test_f_args:      :arg33,
    post_test_func_args:  :arg34,
    post_test_f_args:     :arg34,
    post_pat_func_args:   :arg35,
    post_pat_f_args:      :arg35,
    end_func_args:        :arg36,
    end_of_body_f_args:   :arg36,
    pcp_start:            :arg37,
    pcp_check_pg:         :arg38,
    hsp_stop:             :arg39,
    hsp_check_pg:         :arg40,
    resume_pat:           :arg41,
    utility_pins_1:       :arg42,
    utility_pins_0:       :arg43,
    pre_charge_enable:    :arg44,
    pre_charge:           :arg45,
    threading:            :arg46
  },

  pin_pmu:          {
    hsp_start:            :arg0,
    start_func:           :arg1,
    start_of_body_f:      :arg1,
    pre_pat_func:         :arg2,
    pre_pat_f:            :arg2,
    pre_test_func:        :arg3,
    pre_test_f:           :arg3,
    post_test_func:       :arg4,
    post_test_f:          :arg4,
    post_pat_func:        :arg5,
    post_pat_f:           :arg5,
    end_func:             :arg6,
    end_of_body_f:        :arg6,
    precond_pat:          :arg7,
    hold_state_pat:       :arg8,
    holdstate_pat:        :arg8,
    pattern:              :arg8,
    pcp_stop:             :arg9,
    wait_flags:           :arg10,
    start_lo:             :arg11,
    init_lo:              :arg11,
    start_hi:             :arg12,
    init_hi:              :arg12,
    start_hiz:            :arg13,
    init_hiz:             :arg13,
    float_pins:           :arg14,
    pinlist:              :arg15,
    pin:                  :arg15,
    pin_list:             :arg15,
    measure_mode:         :arg16,
    irange:               :arg17,
    settling_time:        :arg18,
    hi_lo_lim_valid:      :arg19,
    hi_lo_limit_valid:    :arg19,
    hi_limit:             :arg20,
    lo_limit:             :arg21,
    force_cond_1:         :arg22,
    force_cond:           :arg22,
    force_condition:      :arg22,
    force_cond_2:         :arg23,
    fload:                :arg24,
    relay_mode:           :arg25,
    wait_time_out:        :arg26,
    start_func_args:      :arg27,
    start_of_body_f_args: :arg27,
    pre_pat_func_args:    :arg28,
    pre_pat_f_args:       :arg28,
    pre_test_func_args:   :arg29,
    pre_test_f_args:      :arg29,
    post_test_func_args:  :arg30,
    post_test_f_args:     :arg30,
    post_pat_func_args:   :arg31,
    post_pat_f_args:      :arg31,
    end_func_args:        :arg32,
    end_of_body_f_args:   :arg32,
    pcp_start:            :arg33,
    pcp_check_pg:         :arg34,
    hsp_stop:             :arg35,
    hsp_check_pg:         :arg36,
    sampling_time:        :arg37,
    samples:              :arg38,
    resume_pat:           :arg39,
    vcl:                  :arg40,
    vch:                  :arg41,
    utility_pins_1:       :arg42,
    utility_pins_0:       :arg43,
    pre_charge_enable:    :arg44,
    pre_charge:           :arg45,
    threading:            :arg46
  },

  apmu_powersupply: {
    precond_pat:              :arg0,
    pre_cond_pat:             :arg0,
    start_func:               :arg1,
    start_of_body_f:          :arg1,
    pre_pat_func:             :arg2,
    pre_pat_f:                :arg2,
    pre_test_func:            :arg3,
    pre_test_f:               :arg3,
    post_test_func:           :arg4,
    post_test_f:              :arg4,
    post_pat_func:            :arg5,
    post_pat_f:               :arg5,
    end_func:                 :arg6,
    end_of_body_f:            :arg6,
    pattern:                  :arg7,
    hold_state_pat:           :arg7,
    holdstate_pat:            :arg7,
    wait_flags:               :arg8,
    wait_time_out:            :arg9,
    start_lo:                 :arg10,
    start_init_lo:            :arg10,
    init_lo:                  :arg10,
    start_hi:                 :arg11,
    start_init_hi:            :arg11,
    init_hi:                  :arg11,
    start_hiz:                :arg12,
    start_init_hiz:           :arg12,
    init_hiz:                 :arg12,
    float_pins:               :arg13,
    irange:                   :arg14,
    sampling_time:            :arg15,
    samples:                  :arg16,
    settling_time:            :arg17,
    hi_lo_lim_valid:          :arg18,
    hi_lo_limit_valid:        :arg18,
    hi_limit:                 :arg19,
    lo_limit:                 :arg20,
    force_cond_1:             :arg21,
    force_cond:               :arg21,
    force_condition:          :arg21,
    force_condition_1:        :arg21,
    force_cond_2:             :arg22,
    force_condition_2:        :arg22,
    power_pins:               :arg23,
    pins:                     :arg23,
    pin:                      :arg23,
    force_source:             :arg24,
    pcp_start:                :arg25,
    pcp_stop:                 :arg26,
    start_func_args:          :arg27,
    start_of_body_f_args:     :arg27,
    pre_pat_func_args:        :arg28,
    pre_pat_f_args:           :arg28,
    pre_test_func_args:       :arg29,
    pre_test_f_args:          :arg29,
    post_test_func_args:      :arg30,
    post_test_f_args:         :arg30,
    post_pat_func_args:       :arg31,
    post_pat_f_args:          :arg31,
    end_func_args:            :arg32,
    end_of_body_f_args:       :arg32,
    hsp_start:                :arg33,
    hsp_stop:                 :arg34,
    pcp_check_pg:             :arg35,
    clamp:                    :arg36,
    hsp_check_pg:             :arg37,
    resume_pat:               :arg38,
    relay_mode:               :arg39,
    utility_pins_1:           :arg40,
    utility_pins_0:           :arg41,
    test_control:             :arg42,
    serialize_meas:           :arg43,
    serialize_meas_func:      :arg44,
    serialize_meas_f:         :arg44,
    serialize_meas_func_args: :arg45,
    serialize_meas_f_args:    :arg45
  },

  powersupply:      {
    precond_pat:              :arg0,
    pre_cond_pat:             :arg0,
    start_func:               :arg1,
    start_of_body_f:          :arg1,
    pre_pat_func:             :arg2,
    pre_pat_f:                :arg2,
    pre_test_func:            :arg3,
    pre_test_f:               :arg3,
    post_test_func:           :arg4,
    post_test_f:              :arg4,
    post_pat_func:            :arg5,
    post_pat_f:               :arg5,
    end_func:                 :arg6,
    end_of_body_f:            :arg6,
    pattern:                  :arg7,
    hold_state_pat:           :arg7,
    holdstate_pat:            :arg7,
    wait_flags:               :arg8,
    wait_time_out:            :arg9,
    start_lo:                 :arg10,
    start_init_lo:            :arg10,
    init_lo:                  :arg10,
    start_hi:                 :arg11,
    start_init_hi:            :arg11,
    init_hi:                  :arg11,
    start_hiz:                :arg12,
    start_init_hiz:           :arg12,
    init_hiz:                 :arg12,
    float_pins:               :arg13,
    irange:                   :arg14,
    sampling_time:            :arg15,
    samples:                  :arg16,
    settling_time:            :arg17,
    hi_lo_lim_valid:          :arg18,
    hi_lo_limit_valid:        :arg18,
    hi_limit:                 :arg19,
    lo_limit:                 :arg20,
    force_cond_1:             :arg21,
    force_cond:               :arg21,
    force_condition:          :arg21,
    force_condition_1:        :arg21,
    force_cond_2:             :arg22,
    force_condition_2:        :arg22,
    power_pins:               :arg23,
    pins:                     :arg23,
    pin:                      :arg23,
    force_source:             :arg24,
    pcp_start:                :arg25,
    pcp_stop:                 :arg26,
    start_func_args:          :arg27,
    start_of_body_f_args:     :arg27,
    pre_pat_func_args:        :arg28,
    pre_pat_f_args:           :arg28,
    pre_test_func_args:       :arg29,
    pre_test_f_args:          :arg29,
    post_test_func_args:      :arg30,
    post_test_f_args:         :arg30,
    post_pat_func_args:       :arg31,
    post_pat_f_args:          :arg31,
    end_func_args:            :arg32,
    end_of_body_f_args:       :arg32,
    hsp_start:                :arg33,
    hsp_stop:                 :arg34,
    pcp_check_pg:             :arg35,
    clamp:                    :arg36,
    hsp_check_pg:             :arg37,
    resume_pat:               :arg38,
    relay_mode:               :arg39,
    utility_pins_1:           :arg40,
    utility_pins_0:           :arg41,
    test_control:             :arg42,
    serialize_meas:           :arg43,
    serialize_meas_func:      :arg44,
    serialize_meas_f:         :arg44,
    serialize_meas_func_args: :arg45,
    serialize_meas_f_args:    :arg45,
    precond_pat_clamp:        :arg46,
    threading:                :arg47
  },

  mto_memory:       {
    patterns:                  :arg0,
    pattern:                   :arg0,
    start_func:                :arg1,
    start_of_body_f:           :arg1,
    pre_pat_func:              :arg2,
    pre_pat_f:                 :arg2,
    pre_test_func:             :arg3,
    pre_test_f:                :arg3,
    post_test_func:            :arg4,
    post_test_f:               :arg4,
    post_pat_func:             :arg5,
    post_pat_f:                :arg5,
    end_of_body_func:          :arg6,
    end_of_body_f:             :arg6,
    set_pass_fail:             :arg7,
    init_lo:                   :arg8,
    start_lo:                  :arg8,
    init_hi:                   :arg9,
    start_hi:                  :arg9,
    init_hiz:                  :arg10,
    start_hiz:                 :arg10,
    float_pins:                :arg11,
    start_of_body_func_args:   :arg12,
    start_of_body_f_args:      :arg12,
    pre_pat_func_args:         :arg13,
    pre_pat_f_args:            :arg13,
    pre_test_func_args:        :arg14,
    pre_test_f_args:           :arg14,
    post_test_func_args:       :arg15,
    post_test_f_args:          :arg15,
    post_pat_f_args:           :arg16,
    end_of_body_func_args:     :arg17,
    end_of_body_f_args:        :arg17,
    utility_pins_1:            :arg18,
    utility_pins_0:            :arg19,
    wait_flags:                :arg20,
    wait_time_out:             :arg21,
    PatFlagF:                  :arg22,
    pat_flag_f:                :arg22,
    pat_flag_func_args:        :arg23,
    pat_flag_f_args:           :arg23,
    relay_mode:                :arg24,
    x_enable_mask:             :arg29,
    x_shift_direction:         :arg30,
    x_shift_input:             :arg31,
    y_enable_mask:             :arg36,
    y_shift_direction:         :arg37,
    y_shift_input:             :arg38,
    dga:                       :arg39,
    dgb:                       :arg40,
    dgc:                       :arg41,
    dgd:                       :arg42,
    dg_enable_mask:            :arg43,
    dg_shift_direction:        :arg44,
    dg_shift_input:            :arg45,
    x_coincidence_enable_mask: :arg46,
    y_coincidence_enable_mask: :arg47,
    two_bit_dg_setup:          :arg48,
    x_scramble_algorithm:      :arg49,
    y_scramble_algorithm:      :arg50,
    topo_inversion_algorithm:  :arg51,
    utility_counter_a:         :arg52,
    utility_counter_b:         :arg53,
    utility_counter_c:         :arg54,
    dut_data_source:           :arg55,
    scramble_addr:             :arg56,
    speed_mode:                :arg57,
    resource_map:              :arg58,
    receive_data:              :arg59,
    data_to_capture:           :arg60,
    capture_marker:            :arg61,
    enable_wrapping:           :arg62,
    capture_scrambled_address: :arg63,
    mapmem_0_input_set:        :arg64,
    mapmem_1_input_set:        :arg65,
    threading:                 :arg69,
    match_all_sites:           :arg70
  }
}
TEST_INSTANCE_DEFAULTS =
{
  empty:            {
    proc_type:      'IG-XL Template',
    proc_name:      'Empty_T',
    proc_called_as: 'Excel Macro'
  },
  other:            {
    proc_type:      'Other',
    proc_called_as: 'Excel Macro'
  },
  functional:       {
    proc_type:       'IG-XL Template',
    proc_name:       'Functional_T',
    proc_called_as:  'VB DLL',
    set_pass_fail:   1,
    wait_flags:      'XXXX',
    wait_time:       30,
    relay_mode:      1,
    threading:       0,
    match_all_sites: 0,
    capture_mode:    0,
    capture_what:    0,
    capture_memory:  0,
    capture_size:    256,
    datalog_mode:    0,
    data_type:       0
  },
  board_pmu:        {
    proc_type:        'IG-XL Template',
    proc_name:        'BoardPmu_T',
    proc_called_as:   'VB DLL',
    wait_flags:       'XXXX',
    measure_mode:     1,
    irange:           5,
    vrange:           3,
    settling_time:    0,
    hi_lo_lim_valid:  3,
    gang_pins_tested: 0,
    relay_mode:       0,
    wait_time_out:    30,
    pcp_check_pg:     1,
    hsp_check_pg:     1,
    resume_pat:       0,
    threading:        0
  },
  pin_pmu:          {
    proc_type:       'IG-XL Template',
    proc_name:       'PinPmu_T',
    proc_called_as:  'VB DLL',
    wait_flags:      'XXXX',
    measure_mode:    1,
    irange:          2,
    settling_time:   0,
    hi_lo_lim_valid: 3,
    fload:           0,
    relay_mode:      0,
    wait_time_out:   30,
    pcp_check_pg:    1,
    hsp_check_pg:    1,
    resume_pat:      0,
    threading:       0
  },
  apmu_powersupply: {
    proc_type:       'IG-XL Template',
    proc_name:       'ApmuPowerSupply_T',
    proc_called_as:  'VB DLL',
    wait_flags:      'XXXX',
    irange:          1,
    settling_time:   0,
    hi_lo_lim_valid: 3,
    relay_mode:      0,
    wait_time_out:   30,
    pcp_check_pg:    1,
    hsp_check_pg:    1,
    resume_pat:      0,
    test_control:    0
  },
  powersupply:      {
    proc_type:       'IG-XL Template',
    proc_name:       'PowerSupply_T',
    proc_called_as:  'VB DLL',
    wait_flags:      'XXXX',
    irange:          1,
    settling_time:   0,
    hi_lo_lim_valid: 3,
    relay_mode:      0,
    wait_time_out:   30,
    pcp_check_pg:    1,
    hsp_check_pg:    1,
    resume_pat:      0,
    test_control:    0
  },
  mto_memory:       {
    proc_type:                 'IG-XL Template',
    proc_name:                 'MtoMemory_T',
    proc_called_as:            'VB DLL',
    set_pass_fail:             1,
    wait_flags:                'XXXX',
    wait_time:                 30,
    relay_mode:                1,
    threading:                 0,
    match_all_sites:           0,
    dut_data_source:           0,
    scramble_addr:             0,
    speed_mode:                0,
    resource_map:              'MAP_1M_2BIT',
    receive_data:              0,
    data_to_capture:           1,
    capture_marker:            1,
    enable_wrapping:           0,
    capture_scrambled_address: 0,
    mapmem_0_input_set:        'Map_By16',
    mapmem_1_input_set:        'Map_By16',
    x_scramble_algorithm:      'X_NO_SCRAMBLE',
    y_scramble_algorithm:      'Y_NO_SCRAMBLE',
    topo_inversion_algorithm:  'NO_TOPO',
    x_shift_direction:         0,
    x_shift_input:             0,
    y_shift_direction:         0,
    y_shift_input:             0,
    x_coincidence_enable_mask: 0,
    y_coincidence_enable_mask: 0,
    dg_shift_direction:        0,
    dg_shift_input:            0
  }
}

Instance Attribute Summary

Attributes inherited from Base::TestInstance

#append_version, #finalize, #index, #meta, #type, #version

Instance Method Summary collapse

Methods inherited from Base::TestInstance

#==, attrs, define, #fimv?, #fvmi?, #initialize, #inspect, #name, #name=, new_apmu_powersupply, new_board_pmu, new_empty, new_functional, new_mto_memory, new_pin_pmu, new_powersupply, #set_irange, #set_vrange, #to_s, #unversioned_name

Constructor Details

This class inherits a constructor from OrigenTesters::IGXLBasedTester::Base::TestInstance

Instance Method Details

#set_hi_limit(lim) ⇒ Object Also known as: hi_limit=

Set and enable the hi limit of a parametric test instance, passing in nil or false as the lim parameter will disable the hi limit.


712
713
714
715
716
717
718
719
720
721
722
723
724
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 712

def set_hi_limit(lim)
  if lim
    if $tester.j750?
      self.hi_lo_limit_valid = hi_lo_limit_valid | 2
    end
    self.hi_limit = lim
  else
    if $tester.j750?
      self.hi_lo_limit_valid = hi_lo_limit_valid & 1
    end
  end
  self
end

#set_lo_limit(lim) ⇒ Object Also known as: lo_limit=

Set and enable the hi limit of a parametric test instance, passing in nil or false as the lim parameter will disable the hi limit.


729
730
731
732
733
734
735
736
737
738
739
740
741
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 729

def set_lo_limit(lim)
  if lim
    if $tester.j750?
      self.hi_lo_limit_valid = hi_lo_limit_valid | 1
    end
    self.lo_limit = lim
  else
    if $tester.j750?
      self.hi_lo_limit_valid = hi_lo_limit_valid & 2
    end
  end
  self
end

#set_measure_mode(mode) ⇒ Object

Set the meaure mode of a parametric test instance, either:

  • :voltage / :fimv

  • :current / :fvmi


700
701
702
703
704
705
706
707
708
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 700

def set_measure_mode(mode)
  if mode == :current || mode == :fvmi
    self.measure_mode = 0
  elsif mode == :voltage || mode == :fimv
    self.measure_mode = 1
  else
    fail "Unknown measure mode: #{mode}"
  end
end

#set_pre_charge(val) ⇒ Object Also known as: set_precharge

Set and enable the pre-charge voltage of a parametric test instance.


646
647
648
649
650
651
652
653
654
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 646

def set_pre_charge(val)
  if val
    self.pre_charge_enable = 1
    self.pre_charge = val
  else
    self.pre_charge_enable = 0
  end
  self
end

#set_wait_flags(*flags) ⇒ Object

Set the cpu wait flags for the given test instance

instance.set_wait_flags(:a)
instance.set_wait_flags(:a, :c)

636
637
638
639
640
641
642
643
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 636

def set_wait_flags(*flags)
  a = (flags.include?(:a) || flags.include?(:a)) ? '1' : 'X'
  b = (flags.include?(:b) || flags.include?(:b)) ? '1' : 'X'
  c = (flags.include?(:c) || flags.include?(:c)) ? '1' : 'X'
  d = (flags.include?(:d) || flags.include?(:d)) ? '1' : 'X'
  self.wait_flags = d + c + b + a
  self
end

#to_metaObject

Returns a hash containing key meta data about the test instance, this is intended to be used in documentation


659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
# File 'lib/origen_testers/igxl_based_tester/j750/test_instance.rb', line 659

def to_meta
  return @meta if @meta
  m = { 'Test' => name,
        'Type' => type
  }
  if type == :functional
    m['Pattern'] = pattern
  elsif type == :board_pmu || type == :pin_pmu
    m['Measure'] = fvmi? ? 'current' : 'voltage'
    if hi_lo_limit_valid & 2 != 0
      m['Hi'] = hi_limit
    end
    if hi_lo_limit_valid & 1 != 0
      m['Lo'] = lo_limit
    end
    m['Hi'] = hi_limit
    m['Lo'] = lo_limit
    if force_cond
      m['Force'] = force_cond
    end
  elsif type == :powersupply
    if hi_lo_limit_valid & 2 != 0
      m['Hi'] = hi_limit
    end
    if hi_lo_limit_valid & 1 != 0
      m['Lo'] = lo_limit
    end
    m['Hi'] = hi_limit
    m['Lo'] = lo_limit
    if force_cond
      m['Force'] = force_cond
    end
  end
  m['DC'] = "#{dc_category} (#{dc_selector})"
  m['AC'] = "#{ac_category} (#{ac_selector})"
  m
end