origen_testers 0.15.0 → 0.16.0

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