origen_testers 0.51.4 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -280,6 +280,9 @@ test :test2, if_flag: :my_pass_flag
280
280
  unless_flag :my_pass_flag do
281
281
  test :test3
282
282
  end
283
+
284
+ log "Example of manually unsetting flag"
285
+ test :test4, on_pass: { unset_flag :my_custom_flag1 }
283
286
  ~~~
284
287
 
285
288
  Note that flag names will usually be forced to uppercase, this is to institute a convention that
@@ -303,6 +306,14 @@ unless_enable "$MCEn_test" do
303
306
  end
304
307
  ~~~
305
308
 
309
+ For custom environment libraries, there might be a need to reference a flag without using the native
310
+ flag API. `add_flag` will allow the flow and sub-flow to have access to the flag without adding to the flow.
311
+
312
+ ~~~ruby
313
+ log "Example of manually adding a flag to a flow without calling the flag"
314
+ add_flag :my_custom_flag2
315
+ ~~~
316
+
306
317
  In all cases the `$` will be removed from the final flag name that appears in the test program.
307
318
 
308
319
  Whenever you set a flag or automation initializes a variable, you can remove the variable from initialization flow by labeling as a global flag
@@ -352,7 +363,7 @@ end
352
363
  ~~~
353
364
 
354
365
 
355
- #### Flow Loops for V93k (SMT7 only)
366
+ #### Flow Loops for V93k
356
367
  Use flow loop control to permit re-running tests without using additional sequence labels.
357
368
 
358
369
  ~~~ruby
@@ -381,7 +392,21 @@ loop from: 0, to: 5, var: '$LOOP_VARIABLE', test_num_inc: 2 do
381
392
  end
382
393
  ~~~
383
394
 
395
+ You can also provide a variable starting point:
396
+ ~~~ruby
397
+ loop from: '$TEST_VARIABLE', to: 5, var: '$LOOP_VARIABLE' do
398
+ func :test_myloop6, number: 56600
399
+ end
400
+ ~~~
401
+
384
402
  Decrementing loops, having `from:` value > `to:` value and using negative `step:`, is also supported.
403
+
404
+ ##### Loop Rules For Each Environment
405
+
406
+ `SMT7` cannot support a variable stop location. Only the `from:` parameter is allowed to be a variable.
407
+
408
+ `SMT8` cannot have a step other than -1 or 1. The limitations of the range flow restrict those steps.
409
+ The `to:` parameter can be a flow variable just like `from:`.
385
410
 
386
411
 
387
412
 
@@ -74,6 +74,20 @@ or to assign a spec in SMT8:
74
74
  t.spec = 'my_spec_min'
75
75
  ~~~
76
76
 
77
+ The default namespace and folder paths are determined by your environment with `tester.package_namespace` and
78
+ `tester.spec_path`/`tester.seq_path` respectively. If you need to override these values for specific test suites
79
+ you have the following available:
80
+
81
+ ~~~ruby
82
+ # Overrides spec namespace and folder path
83
+ t.spec_namespace
84
+ t.spec_path
85
+ # Overrides sequence and pattern namespace
86
+ t.seq_namespace
87
+ # Overrides sequence folder path
88
+ t.seq_path
89
+ ~~~
90
+
77
91
  If the test method provides parameters, you can set them in the same way. As a convenience,
78
92
  Origen will automatically work out whether the reference is to a parameter of the test suite
79
93
  or of the test method, and will assign it accordingly.
@@ -103,10 +103,35 @@ flow Main {
103
103
  }
104
104
  ~~~
105
105
 
106
+ #### Auxiliary Flows
106
107
 
108
+ SMT8 utilizes auxiliary flows to perform recurring actions. `add_auxiliary_flow` API exists to symlink to a predefined auxiliary flow.
109
+ This API does not allow variables to be passed to or from the auxiliary flow since they are stand alone flows.
107
110
 
111
+ ~~~ruby
112
+ add_auxiliary_flow :POWERDOWN, 'testflow.POWERDOWN'
113
+ ~~~
114
+
115
+ ~~~java
116
+ flow Main {
117
+ setup {
118
+ flow POWERDOWN calls testflow.POWERDOWN {}
119
+ }
108
120
 
121
+ execute {
122
+ POWERDOWN.execute();
123
+ }
124
+ }
125
+ ~~~
109
126
 
127
+ #### Flow Variable Grouping
110
128
 
129
+ Sub-flow variable passing causes variables before and after the execution call to populate the flow.
130
+ If you wish to have a collapse-able block for the variables, you need to set the flow_variable_grouping variable to true.
131
+
132
+ ~~~
133
+ # add this line to your origen_site_config.yml
134
+ flow_variable_grouping: true
135
+ ~~~
111
136
 
112
137
  % end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_testers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.51.4
4
+ version: 0.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-28 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -601,7 +601,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
601
601
  - !ruby/object:Gem::Version
602
602
  version: '0'
603
603
  requirements: []
604
- rubygems_version: 3.1.6
604
+ rubygems_version: 3.2.3
605
605
  signing_key:
606
606
  specification_version: 4
607
607
  summary: This plugin provides Origen tester models to drive ATE type testers like