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
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