class RgGen::SystemVerilog::Common::Utility::InterfaceInstance

Public Class Methods

new(default_attributes = {}) { |self| ... } click to toggle source
# File lib/rggen/systemverilog/common/utility/interface_instance.rb, line 10
def initialize(default_attributes = {})
  apply_attributes(**default_attributes)
  block_given? && yield(self)
end

Public Instance Methods

declaration()
Alias for: instantiation
identifier() click to toggle source
# File lib/rggen/systemverilog/common/utility/interface_instance.rb, line 32
def identifier
  Identifier.new(name) do |identifier|
    identifier.__array_size__(array_size)
    identifier.__sub_identifiers__(variables)
  end
end
instantiation() click to toggle source
# File lib/rggen/systemverilog/common/utility/interface_instance.rb, line 22
def instantiation
  [
    interface_type,
    parameter_value_assignments,
    instance_identifier
  ].select(&:itself).join(' ')
end
Also aliased as: declaration

Private Instance Methods

instance_identifier() click to toggle source
# File lib/rggen/systemverilog/common/utility/interface_instance.rb, line 46
def instance_identifier
  [
    name,
    *Array(array_size).map { |size| "[#{size}]" },
    "(#{Array(port_connections).join(', ')})"
  ].join
end
parameter_value_assignments() click to toggle source
# File lib/rggen/systemverilog/common/utility/interface_instance.rb, line 41
def parameter_value_assignments
  values = Array(parameter_values)
  values.size.positive? && "#(#{values.join(', ')})"
end