class TdlSpace::DefPortEleBaseArrayChain

Public Class Methods

new(ele_class,sdlmodule) click to toggle source
# File lib/tdl/rebuild_ele/ele_base.rb, line 767
def initialize(ele_class,sdlmodule)
    @ele_class = ele_class
    @sdlmodule = sdlmodule
end

Public Instance Methods

method_missing(name,*args,&block) click to toggle source
# File lib/tdl/rebuild_ele/ele_base.rb, line 772
def method_missing(name,*args,&block)
    ## 检查有没有 modports
    modports = @ele_class.get_class_var('interface_modports') || []
    if !( modports.include?(name.to_sym) || modports.map{ |e| e.to_s }.include?(name.to_s) )
        raise TdlError.new("#{@ele_class.get_class_var('hdl_name')} dont have modport #{name}")
    end

    hash = args[0] || {}
    hash[:belong_to_module] = @sdlmodule
    rel = TdlSpace::DefEleBaseArrayChain.new(hash)
    rel.tclass = @ele_class
    rel.modport_type = name
    return rel

end