Class: Udb::FullConfig
Overview
This class represents a configuration that is “fully-configured” (e.g., SoC tapeout or fully-configured IP). # It has a complete list of extensions and parameters (all are a single value at this point). #
Constant Summary
AbstractConfig::ParamValueType
Instance Attribute Summary
#info, #type
Instance Method Summary
collapse
#arch_overlay, #arch_overlay_abs, #compatible, #configured?, create, create_from_data, #description, #name, #overlay?
Constructor Details
#initialize(data, info) ⇒ FullConfig
Returns a new instance of FullConfig.
381
382
383
384
385
386
387
388
389
390
391
|
# File 'lib/udb/config.rb', line 381
def initialize(data, info)
super(data, info)
@param_values = @data["params"]
@mxlen = @data.dig("params", "MXLEN").freeze
if @mxlen.nil?
Udb.logger.error "Must set MXLEN for a full config"
raise InvalidConfigError
end
end
|
Instance Method Details
404
|
# File 'lib/udb/config.rb', line 404
def fully_configured? = true
|
#implemented_extensions ⇒ Object
413
414
415
416
417
418
419
420
421
422
423
424
425
426
|
# File 'lib/udb/config.rb', line 413
def implemented_extensions
@implemented_extensions ||=
if @data["implemented_extensions"].nil?
[]
else
@data["implemented_extensions"].map do |e|
if e.is_a?(Array)
{ "name" => e[0], "version" => e[1] }
elsif e.is_a?(Hash)
{ "name" => e.fetch("name"), "version" => RequirementSpec.new(e.fetch("version")).version_spec.to_s }
end
end
end
end
|
#mxlen ⇒ Object
401
|
# File 'lib/udb/config.rb', line 401
def mxlen = @mxlen
|
#param_values ⇒ Object
398
|
# File 'lib/udb/config.rb', line 398
def param_values = @param_values
|
407
|
# File 'lib/udb/config.rb', line 407
def partially_configured? = false
|
410
|
# File 'lib/udb/config.rb', line 410
def unconfigured? = false
|