Class: UdbGen::GenCfgSvhHeaderOptions
Constant Summary
collapse
- NAME =
"cfg-svh-header"
Instance Attribute Summary
Attributes inherited from Subcommand
#desc, #name
Instance Method Summary
collapse
#cfg_arch, #exit_with, #generate_header, #help, #params, #parse, #run_generator
#cfg_arch, #resolve_cfg_arg, #resolver
Constructor Details
Returns a new instance of GenCfgSvhHeaderOptions.
22
23
24
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 22
def initialize
super(name: NAME, desc: "Generate a SystemVerilog header with `define directives from a fully configured UDB config")
end
|
Instance Method Details
#command_name ⇒ Object
52
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 52
def command_name = NAME
|
#define_directive ⇒ Object
49
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 49
def define_directive = "`define"
|
#file_type_name ⇒ Object
72
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 72
def file_type_name = "SystemVerilog header"
|
76
77
78
79
80
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 76
def format_integer(value)
bits = [32, value.bit_length].max
width = ((bits + 31) / 32) * 32
"#{width}'h#{value.to_s(16).upcase}"
end
|
#guard_begin(guard_name) ⇒ Object
55
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 55
def guard_begin(guard_name) = "`ifndef #{guard_name}"
|
#guard_end(guard_name) ⇒ Object
58
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 58
def guard_end(guard_name) = "`endif // #{guard_name}"
|
#guard_suffix ⇒ Object
61
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 61
def guard_suffix = "_SVH"
|
67
68
69
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 67
def (text_lines)
text_lines.map { |line| line.empty? ? "//" : "// #{line}" }
end
|
#run(argv) ⇒ Object
83
84
85
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 83
def run(argv)
run_generator(argv)
end
|
64
|
# File 'lib/udb-gen/generators/cfg_svh_header/generator.rb', line 64
def (text) = "// #{text}"
|