origen_testers 0.51.4 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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