Class: ClassHDL::ClearGenerateSlaverBlock
- Inherits:
-
ClearSdlModule
- Object
- SdlModule
- ClearSdlModule
- ClassHDL::ClearGenerateSlaverBlock
- Defined in:
- lib/tdl/class_hdl/hdl_generate.rb
Instance Attribute Summary
Attributes inherited from SdlModule
#create_tcl, #dont_gen_sv, #ex_down_code, #ex_param, #ex_port, #ex_up_code, #head_import_packages, #instance_and_children_module, #instanced_and_parent_module, #module_name, #origin_sv, #out_sv_path, #path, #real_sv_path, #target_class, #techbench
Instance Method Summary collapse
-
#initialize(belong_to_module) ⇒ ClearGenerateSlaverBlock
constructor
A new instance of ClearGenerateSlaverBlock.
- #method_missing(name, *args, &block) ⇒ Object
Methods inherited from ClearSdlModule
Methods inherited from SdlModule
#<<, #>>, #Always, #AlwaysComb, #Always_comb, #Always_ff, #Assign, #CASE, #CASEX, #Clock, #CommonCFGReg, #DEFAULT, #Def, #ELSE, #ELSIF, #FOR, #FOREACH, #IF, #Initial, #Inout, #Input, #Instance, #Itgt_Instance, Main, #NameSpaceAdd, #Output, #Parameter, #Parameters, #Reset, #StateMachine, #TrackInf, #TryDef, #WHEN, #add_children_modules, #add_parent_modules, #add_to_new_module, allmodule_name, #always_ff, #always_sim, #assert, #assert_error, #assert_format_error, #assert_old, #bits, #build_module, #call_instance, call_module, #children_inst_tree, #clog2, #debugLogic, #def_struct, #define_ele, #enum, exist_module?, #function, gen_sv_module, #gen_sv_module, #gen_sv_module_text, #generate, #genvar, #has_inward_inst?, #has_signal?, #implicit_inst_module_method_missing, #initial, #initial_exec, #inout, #input, #instance_draw, #instanced, #inward_inst, #localparam, #logic, #logic_bind_, #macro_add_vcs, #macro_def, #negedge, #output, #parameter, #parents_inst_tree, #port, #posedge, #require_package, #rubyOP, #same_clock_domain, #show_ports, #signal, #top_module_ref?, #top_tb_ref?, #try_call_ele, #urandom_range, #var_common, #vars_define_inst, #vars_exec_inst, #vcs_string, #verify
Constructor Details
#initialize(belong_to_module) ⇒ ClearGenerateSlaverBlock
Returns a new instance of ClearGenerateSlaverBlock.
114 115 116 117 118 |
# File 'lib/tdl/class_hdl/hdl_generate.rb', line 114 def initialize(belong_to_module) @belong_to_module = belong_to_module # @dont_gen_sv = true super("slavergenblk#{rand(1024)}") end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/tdl/class_hdl/hdl_generate.rb', line 120 def method_missing(name,*args,&block) ClassHDL::AssignDefOpertor.with_rollback_opertors(:old) do # puts name # puts SdlModule.exist_module?(name) # puts @belong_to_module.module_name # puts @belong_to_module.respond_to?(name) ## 优先判断 belong_to_module 有没有定义此方法 if root_sdlmodule.respond_to? name root_sdlmodule.send(name,*args,&block) elsif SdlModule.exist_module?(name) # if SdlModule.exist_module?(name) ClassHDL::ImplicitInstModule.new(name,self) else @belong_to_module.send(name,*args,&block) end end end |