origen_testers 0.15.0 → 0.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 432b93c069da178e789ff6d40afa25e4ba34eb02
4
- data.tar.gz: 080a839243c3058dfb450dccbf5c63f06172dd9f
3
+ metadata.gz: 78c25a6e0ff1262cd8e89a7b50e82e727a75a37e
4
+ data.tar.gz: 3a1741ecf3f255e682ba78f6e35fde25cb119885
5
5
  SHA512:
6
- metadata.gz: 2c5e2ed553068517cb0ceb2ac5caef371083adb5db690922e4ae9826f7ea077116dfe3eda974d263ad7c45f6551942ece6cbc00b043cd8b2928a5f64a7c4b294
7
- data.tar.gz: 71d64f91fcd9eb494155dbc426de044db5fc1e3b27edd0f7687cc954bc74be50b1a4aef22414ae5e21ab5045439341a7428c576470cb4ae7ce1ba4f70c79d78d
6
+ metadata.gz: bb6faaf0b27a99cf8bf5f3abb32a43b581ce48def266ff2e2931d0165bbe3bf8dd6ecb8f4b41b0a3e2b4fa347c27a66c40a5205be624e1f0ac3776ad2637d3ea
7
+ data.tar.gz: 58c299abbf1d1fc9cdcce9ac4ef571768d8948559bc51234703d7104d7d2bfd0b2544f065a233c413b2290b923ba04d9fc4bf17e9656ee69d38812e791962cfb
data/config/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
- MINOR = 15
3
+ MINOR = 16
4
4
  BUGFIX = 0
5
5
  DEV = nil
6
6
 
@@ -206,7 +206,12 @@ module OrigenTesters
206
206
  if current_flag
207
207
  fail 'Not implemented yet!'
208
208
  else
209
+ set_previously = !!set_flags[or_flag]
210
+ set_flags[or_flag] = context
209
211
  self.current_flag = [f, state]
212
+ unless set_previously
213
+ completed_lines << platform::FlowLine.new(:defaults, flag_fail: or_flag)
214
+ end
210
215
  completed_lines << new_line(:flag_true, parameter: or_flag)
211
216
  self.current_flag = nil
212
217
  end
@@ -224,9 +229,13 @@ module OrigenTesters
224
229
  # If the AND flag has already been created and set in this context (for a previous test),
225
230
  # no need to re-create it
226
231
  if !set_flags[and_flag] || (set_flags[and_flag].hash != context.hash)
232
+ set_previously = !!set_flags[and_flag]
227
233
  set_flags[and_flag] = context
228
234
  existing_flag = current_flag
229
235
  self.current_flag = nil
236
+ unless set_previously
237
+ completed_lines << platform::FlowLine.new(:defaults, flag_fail: and_flag)
238
+ end
230
239
  completed_lines << new_line(:flag_true, parameter: and_flag)
231
240
  self.current_flag = [flag, !state]
232
241
  completed_lines << new_line(:flag_false, parameter: and_flag)
@@ -18,6 +18,8 @@ module OrigenTesters
18
18
  # Internal method called by Origen
19
19
  def pattern_header(options = {})
20
20
  microcode 'file_format_version 1.0;'
21
+ start_label = "#{options[:pattern]}_st"
22
+ microcode "export #{start_label};"
21
23
  @global_label_export.each { |label| microcode "export #{label};" }
22
24
  @called_subroutines.each { |sub| microcode "import #{sub};" }
23
25
  called_timesets.each do |timeset|
@@ -26,6 +28,14 @@ module OrigenTesters
26
28
  pin_list = ordered_pins.map(&:name).join(',')
27
29
  microcode "pattern #{options[:pattern]} (#{pin_list})"
28
30
  microcode '{'
31
+ microcode "#{start_label}:"
32
+ # Remove any leading comments before first vector data
33
+ unless options[:subroutine_pat]
34
+ stage.with_bank(:body) do
35
+ # find the first vector
36
+ stage.bank.delete_at(0) until stage.bank[0].is_a?(OrigenTesters::Vector)
37
+ end
38
+ end
29
39
  end
30
40
 
31
41
  # Internal method called by Origen
@@ -72,6 +82,15 @@ module OrigenTesters
72
82
  update_vector microcode: local_microcode, offset: options[:offset]
73
83
  end
74
84
 
85
+ def start_subroutine(name, options = {})
86
+ options = { global: false }.merge(options)
87
+ label name, options[:global]
88
+ end
89
+
90
+ def end_subroutine
91
+ update_vector microcode: 'return'
92
+ end
93
+
75
94
  # store/capture the state of the provided pins
76
95
  def store(*pins)
77
96
  options = pins.last.is_a?(Hash) ? pins.pop : {}
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.15.0
4
+ version: 0.16.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: 2017-11-27 00:00:00.000000000 Z
11
+ date: 2018-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1'
47
+ version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1'
54
+ version: '1.1'
55
55
  description:
56
56
  email:
57
57
  - stephen.f.mcginty@gmail.com
@@ -348,15 +348,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
348
348
  requirements:
349
349
  - - ">="
350
350
  - !ruby/object:Gem::Version
351
- version: 1.9.3
351
+ version: '2'
352
352
  required_rubygems_version: !ruby/object:Gem::Requirement
353
353
  requirements:
354
354
  - - ">="
355
355
  - !ruby/object:Gem::Version
356
- version: 1.8.11
356
+ version: '0'
357
357
  requirements: []
358
358
  rubyforge_project:
359
- rubygems_version: 2.6.7
359
+ rubygems_version: 2.6.8
360
360
  signing_key:
361
361
  specification_version: 4
362
362
  summary: This plugin provides Origen tester models to drive ATE type testers like