Class: ClassHDL::ImplicitPortInout

Inherits:
ImplicitPortBase show all
Defined in:
lib/tdl/class_hdl/hdl_module_def.rb

Instance Attribute Summary

Attributes inherited from ImplicitPortBase

#_struct_q, #chain, #sdlm, #speciel_type, #sub_type

Instance Method Summary collapse

Methods inherited from ImplicitPortBase

#-, #[], #add_struct_method, #clock, #initialize, #logic, #method_missing, #reset, #wire

Constructor Details

This class inherits a constructor from ClassHDL::ImplicitPortBase

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ClassHDL::ImplicitPortBase

Instance Method Details

#sdlm_port(method, args) ⇒ Object



329
330
331
332
333
334
335
336
337
338
339
340
# File 'lib/tdl/class_hdl/hdl_module_def.rb', line 329

def sdlm_port(method,args)
    if @clock_freqM
        @sdlm.Clock(method,freqM: @clock_freqM,port: :inout,pin:args[:pin]||[],iostd:args[:iostd]||[],dsize:args[:dsize]||1,pin_prop:args[:pin_prop])
    elsif @reset_active
        @sdlm.Reset(method,port: :inout,active: @reset_active,pin:args[:pin]||[],iostd:args[:iostd]||[],dsize:args[:dsize]||1,pin_prop:args[:pin_prop])
    else 
        rel = @sdlm.Inout(method,dsize:args[:dsize] || 1,dimension:args[:dimension]||[],pin:args[:pin]||[],iostd:args[:iostd]||[],pin_prop:args[:pin_prop])
        rel.type = @speciel_type
        add_struct_method(rel)
        rel 
    end
end