Class: RgGen::Veryl::Utility::DataObject

Inherits:
Object
  • Object
show all
Includes:
Core::Utility::AttributeSetter
Defined in:
lib/rggen/veryl/utility/data_object.rb

Instance Method Summary collapse

Constructor Details

#initialize(object_type, default_attributes = {}) ⇒ DataObject

Returns a new instance of DataObject.



9
10
11
12
13
# File 'lib/rggen/veryl/utility/data_object.rb', line 9

def initialize(object_type, default_attributes = {})
  @object_type = object_type
  apply_attributes(**default_attributes)
  block_given? && yield(self)
end

Instance Method Details

#declarationObject



22
23
24
25
26
# File 'lib/rggen/veryl/utility/data_object.rb', line 22

def declaration
  declaration_snippets
    .reject { _1.nil? || _1.empty? }
    .join(' ')
end

#identifierObject



28
29
30
31
32
33
# File 'lib/rggen/veryl/utility/data_object.rb', line 28

def identifier
  SystemVerilog::Common::Utility::Identifier.new(name) do |id|
    id.__width__(width)
    id.__array_size__(array_size)
  end
end