class Origen::Generator

Public Instance Methods

compile_file_or_directory(file, options) click to toggle source
# File lib/origen/generator.rb, line 68
def compile_file_or_directory(file, options)
  Job.new(file, { compile: true, default_dir: "#{Origen.root}/templates" }.merge(options)).run
end
compiler() click to toggle source
# File lib/origen/generator.rb, line 76
def compiler
  @compiler ||= Compiler.new
end
create_iterator() click to toggle source
# File lib/origen/generator.rb, line 84
def create_iterator
  iterator = PatternIterator.new
  Origen.after_app_loaded do |app|
    app.pattern_iterators << iterator
  end
  iterator
end
flow() click to toggle source
# File lib/origen/generator.rb, line 23
def flow
  @flow ||= Flow.new
end
generate_pattern(file, options) click to toggle source
# File lib/origen/generator.rb, line 35
def generate_pattern(file, options)
  if options[:sequence]
    options[:patterns] = file
    file = options[:sequence]
  end
  Job.new(file, options).run
end
generate_program(file, options) click to toggle source
# File lib/origen/generator.rb, line 43
def generate_program(file, options)
  Origen.file_handler.resolve_files(file, ignore_with_prefix: '_', default_dir: "#{Origen.root}/program") do |path|
    Origen.file_handler.current_file = path
    j = Job.new(path, options)
    j.pattern = path
    j.run
  end
  Origen.interface.write_files(options)
  unless options[:quiet] || Origen.tester.is_a?(OrigenTesters::Doc)
    if options[:referenced_pattern_list]
      file = "#{Origen.root}/list/#{options[:referenced_pattern_list]}"
    else
      file = Origen.config.referenced_pattern_list
    end
    puts "Referenced pattern list written to: #{Pathname.new(file).relative_path_from(Pathname.pwd)}"
    dir = Pathname.new(file).dirname
    FileUtils.mkdir_p(dir) unless dir.exist?
    File.open(file, 'w') do |f|
      Origen.interface.referenced_patterns.uniq.sort.each do |pat|
        f.puts pat
      end
    end
  end
end
merge_file_or_directory(file, options) click to toggle source
# File lib/origen/generator.rb, line 72
def merge_file_or_directory(file, options)
  Job.new(file, options).run
end
option_pipeline() click to toggle source
# File lib/origen/generator.rb, line 92
def option_pipeline
  @option_pipeline ||= []
end
pattern() click to toggle source
# File lib/origen/generator.rb, line 19
def pattern
  @pattern ||= Pattern.new
end
pattern_finder() click to toggle source
# File lib/origen/generator.rb, line 80
def pattern_finder
  @pattern_finder ||= PatternFinder.new
end
resources() click to toggle source
# File lib/origen/generator.rb, line 27
def resources
  @resources ||= Resources.new
end
stage() click to toggle source
# File lib/origen/generator.rb, line 31
def stage
  @stage ||= Stage.new
end