Module: OrigenTesters::PatternCompilers
- Defined in:
- lib/origen_testers/pattern_compilers.rb,
lib/origen_testers/pattern_compilers/job.rb,
lib/origen_testers/pattern_compilers/assembler.rb,
lib/origen_testers/pattern_compilers/ultraflex_pattern_compiler.rb
Defined Under Namespace
Classes: Job, UltraFlexPatternCompiler
Constant Summary collapse
- PLATFORMS =
[:ultraflex]
- LINUX_PATTERN_COMPILER =
Linux compiler executable path
"#{Origen.root!}/bin/latest/bin/atpcompiler"
- WINDOWS_PATTERN_COMPILER =
Windows compiler executable path
"#{ENV['IGXLROOT']}/bin/apc.exe"
Instance Method Summary collapse
-
#add_pattern_compiler(id, platform, options = {}) ⇒ Object
(also: #add_compiler)
Add a compiler for a particular tester platform and pattern type.
-
#delete_pattern_compiler(id) ⇒ Object
(also: #delete_compiler)
Delete a pattern compiler instance.
-
#delete_pattern_compilers(p = platform) ⇒ Object
(also: #delete_compilers)
Delete pattern compiler instances.
-
#pattern_compiler_instances(p = platform) ⇒ Object
(also: #compiler_instances)
Returns an array of the pattern compiler instance ids for the currently selected tester platform.
- #pattern_compiler_options ⇒ Object (also: #compiler_options)
- #pattern_compiler_platforms ⇒ Object (also: #compiler_platforms)
-
#pattern_compiler_supported? ⇒ Boolean
(also: #compiler_supported?)
Check if the current tester is supported.
- #pattern_compiler_version ⇒ Object (also: #compiler_version)
-
#pattern_compilers(id = nil) ⇒ Object
(also: #compilers)
Hash wrapper for compiler instances, defaults to display currently enabled tester platform.
Instance Method Details
#add_pattern_compiler(id, platform, options = {}) ⇒ Object Also known as: add_compiler
Add a compiler for a particular tester platform and pattern type
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/origen_testers/pattern_compilers.rb', line 48 def add_pattern_compiler(id, platform, = {}) pattern_compilers id = id.to_sym platform = platform.to_sym [:location] = [:location].to_sym unless [:location].nil? case platform when :ultraflex fail "Compiler ID #{id} for platform #{platform} already exists! Pick another name, delete the compiler, or clear all compilers" if @pattern_compilers[platform].keys.include? id @pattern_compilers[platform][id] = UltraFlexPatternCompiler.new(id, ) else fail "Platform #{platform} is not valid, please choose from #{PLATFORMS.join(', ')}" end end |
#delete_pattern_compiler(id) ⇒ Object Also known as: delete_compiler
Delete a pattern compiler instance.
42 43 44 |
# File 'lib/origen_testers/pattern_compilers.rb', line 42 def delete_pattern_compiler(id) @pattern_compilers[platform].delete(id) end |
#delete_pattern_compilers(p = platform) ⇒ Object Also known as: delete_compilers
Delete pattern compiler instances. If no argument default to current platform
36 37 38 |
# File 'lib/origen_testers/pattern_compilers.rb', line 36 def delete_pattern_compilers(p = platform) @pattern_compilers[p].delete_if { |k, v| true } end |
#pattern_compiler_instances(p = platform) ⇒ Object Also known as: compiler_instances
Returns an array of the pattern compiler instance ids for the currently selected tester platform.
65 66 67 68 69 70 |
# File 'lib/origen_testers/pattern_compilers.rb', line 65 def pattern_compiler_instances(p = platform) # Check if nil which means no tester is defined so ask user to supply it fail "No tester platform defined so supply one of the following as an argument: #{PLATFORMS.join(', ')}" if p.nil? p = p.to_sym @pattern_compilers[p].keys end |
#pattern_compiler_options ⇒ Object Also known as: compiler_options
73 74 75 76 77 |
# File 'lib/origen_testers/pattern_compilers.rb', line 73 def cmd = '' running_on_windows? ? cmd = "#{WINDOWS_PATTERN_COMPILER} -help" : cmd = "#{LINUX_PATTERN_COMPILER} -help" system cmd end |
#pattern_compiler_platforms ⇒ Object Also known as: compiler_platforms
30 31 32 |
# File 'lib/origen_testers/pattern_compilers.rb', line 30 def pattern_compiler_platforms PLATFORMS end |
#pattern_compiler_supported? ⇒ Boolean Also known as: compiler_supported?
Check if the current tester is supported
88 89 90 |
# File 'lib/origen_testers/pattern_compilers.rb', line 88 def pattern_compiler_supported? PLATFORMS.include? platform ? true : false end |
#pattern_compiler_version ⇒ Object Also known as: compiler_version
80 81 82 83 84 |
# File 'lib/origen_testers/pattern_compilers.rb', line 80 def pattern_compiler_version cmd = '' running_on_windows? ? cmd = "#{WINDOWS_PATTERN_COMPILER} -version" : cmd = "#{LINUX_PATTERN_COMPILER} -version" system cmd end |
#pattern_compilers(id = nil) ⇒ Object Also known as: compilers
Hash wrapper for compiler instances, defaults to display currently enabled tester platform. If none is set then user must supply a valid tester platform argument
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/origen_testers/pattern_compilers.rb', line 16 def pattern_compilers(id = nil) @pattern_compilers ||= begin hash = {} PLATFORMS.each { |platform| hash[platform] = {} } hash end if id.nil? @pattern_compilers[platform] else @pattern_compilers[platform][id]. end end |