Module: OrigenTesters::SmartestBasedTester::V93K_SMT8::Generator
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb
Overview
Include this module in an interface class to make it a V93K interface and to give access to the V93K SMT8 program generator API
Instance Method Summary collapse
- #limits_workbook ⇒ Object
-
#sub_flow_no_return_vars ⇒ Object
Sub flows are generated in a forked process for SMT8, however any updates made to interface instance variables by the sub-flow will be applied to the interface of the master process.
-
#sub_flow_no_return_vars=(val) ⇒ Object
See sub_flow_no_return_vars.
Instance Method Details
#limits_workbook ⇒ Object
42 43 44 |
# File 'lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb', line 42 def limits_workbook @@limits_workbook ||= LimitsWorkbook.new(manually_register: true) end |
#sub_flow_no_return_vars ⇒ Object
Sub flows are generated in a forked process for SMT8, however any updates made to interface instance variables by the sub-flow will be applied to the interface of the master process. This is what the user would expect to happen and keeps them largely unaware of the fact that the sub-flow is actually being generated by a forked process. However, to do this it is necessary to marshal the value of the instance variables and some (rich) Ruby objects cannot be marshaled. This parameter allows applications to selectively mark such variables as not to be returned from the forked process, skipping the marshal operation but also meaning that any changes made to the variable by the sub-flow will not be visible to the top-level flow.
If the application actually needs updates to that variable made during a sub-flow to be available to the top-level flow, then they will need to work around it in another way on a case by case basis.
# In the application's interface
sub_flow_no_return_vars << :@my_problem_var
33 34 35 |
# File 'lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb', line 33 def sub_flow_no_return_vars @sub_flow_no_return_vars ||= [] end |
#sub_flow_no_return_vars=(val) ⇒ Object
See sub_flow_no_return_vars
38 39 40 |
# File 'lib/origen_testers/smartest_based_tester/v93k_smt8/generator.rb', line 38 def sub_flow_no_return_vars=(val) @sub_flow_no_return_vars = val end |