Class: ClassHDL::ImplicitPortOutput

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



312
313
314
315
316
317
318
319
320
321
322
323
# File 'lib/tdl/class_hdl/hdl_module_def.rb', line 312

def sdlm_port(method,args)
    if @clock_freqM
        @sdlm.Clock(method,freqM: @clock_freqM,port: :output,pin:args[:pin]||[],iostd:args[:iostd]||[],dsize:args[:dsize]||1,pin_prop:args[:pin_prop])
    elsif @reset_active
        @sdlm.Reset(method,port: :output,active: @reset_active,pin:args[:pin]||[],iostd:args[:iostd]||[],dsize:args[:dsize]||1,pin_prop:args[:pin_prop])
    else 
        rel = @sdlm.Output(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