Class: Vertigo::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/vertigo/runner.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.run(*arguments) ⇒ Object



9
10
11
# File 'lib/vertigo/runner.rb', line 9

def self.run *arguments
  new.run(arguments)
end

Instance Method Details

#headerObject



35
36
37
# File 'lib/vertigo/runner.rb', line 35

def header
  puts "Vertigo -- VHDL utilities (#{VERSION})- (c) JC Le Lann 2016-20"
end

#run(arguments) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/vertigo/runner.rb', line 13

def run arguments
  compiler=Compiler.new
  compiler.options = args = parse_options(arguments)
  begin
    if args[:parse_only]
      filename=args[:vhdl_file]
      ok=compiler.parse(filename)
    elsif args[:gen_tb]
      filename=args[:vhdl_file]
      ok=compiler.gen_tb(filename)
    elsif filename=args[:vhdl_file]
      ok=compiler.compile(filename)
    else
      raise "need a VHDL file : vhdl_tb [options] <file.vhd>"
    end
    return ok
  rescue Exception => e
    puts e unless compiler.options[:mute]
    return false
  end
end