Class: OrigenTesters::IGXLBasedTester::J750::TestInstance
- Inherits:
-
Base::TestInstance
- Object
- Base::TestInstance
- OrigenTesters::IGXLBasedTester::J750::TestInstance
- 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
-
#set_hi_limit(lim) ⇒ Object
(also: #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.
-
#set_lo_limit(lim) ⇒ Object
(also: #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.
-
#set_measure_mode(mode) ⇒ Object
Set the meaure mode of a parametric test instance, either: * :voltage / :fimv * :current / :fvmi.
-
#set_pre_charge(val) ⇒ Object
(also: #set_precharge)
Set and enable the pre-charge voltage of a parametric test instance.
-
#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).
-
#to_meta ⇒ Object
Returns a hash containing key meta data about the test instance, this is intended to be used in documentation.
Methods inherited from Base::TestInstance
#==, attrs, define, #fimv?, #fvmi?, #initialize, #inspect, #name, #name=, new_apmu_powersupply, new_board_pmu, new_dcvi_powersupply, 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_meta ⇒ Object
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 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 |