Module: OrigenSTIL
- Defined in:
- lib/origen_stil.rb,
lib/origen_stil/pattern.rb,
lib/origen_stil/syntax/node.rb,
lib/origen_stil/syntax/parser.rb,
lib/origen_stil/processor/base.rb,
lib/origen_stil/processor/pins.rb,
lib/origen_stil/processor/pattern.rb,
lib/origen_stil/processor/timesets.rb,
lib/origen_stil/processor/expression.rb,
lib/origen_stil/processor/pin_groups.rb
Defined Under Namespace
Modules: Processor, Syntax Classes: Pattern
Class Method Summary collapse
-
.add_pins(path, options = {}) ⇒ Object
Add pins (and pin groups) from the given STIL file to the current DUT unless they already exist.
-
.execute(path, options = {}) ⇒ Object
Execute the pattern vectors in the given STIL file, this will also call add_pins to ensure the pins are available so there is no need to call that separately.
-
.pattern(path_to_stil_file) ⇒ Object
Returns an OrigenSTIL::Pattern instance for the given STIL file.
- .patterns ⇒ Object private
- .unquote(str) ⇒ Object private
Class Method Details
.add_pins(path, options = {}) ⇒ Object
Add pins (and pin groups) from the given STIL file to the current DUT unless they already exist
53 54 55 |
# File 'lib/origen_stil.rb', line 53 def self.add_pins(path, = {}) pattern(path).add_pins() end |
.execute(path, options = {}) ⇒ Object
Execute the pattern vectors in the given STIL file, this will also call add_pins to ensure the pins are available so there is no need to call that separately
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/origen_stil.rb', line 38 def self.execute(path, = {}) = { # When true, any timeset changes from the STIL will be translated to tester.set_timeset # calls, otherwise they will be ignored set_timesets: false }.merge() # Bit of a hack, this is to lock in the current set of pins so that any added # by the STIL are not included, the Origen model is in charge of pattern formatting tester.current_pin_vals if tester add_pins(path, ) pattern(path).execute() end |
.pattern(path_to_stil_file) ⇒ Object
Returns an OrigenSTIL::Pattern instance for the given STIL file
58 59 60 61 |
# File 'lib/origen_stil.rb', line 58 def self.pattern(path_to_stil_file) path = Pathname.new(path_to_stil_file).realpath.cleanpath.to_s patterns[path] ||= OrigenSTIL::Pattern.new(path) end |
.patterns ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
64 65 66 |
# File 'lib/origen_stil.rb', line 64 def self.patterns @patterns ||= {} end |
.unquote(str) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
69 70 71 |
# File 'lib/origen_stil.rb', line 69 def self.unquote(str) str.gsub(/\A("|')|("|')\Z/, '') end |