def get_procedure(self): isEmpty = self.get_isempty_From_non_vector_method() argumentList = self.get_argumentList() content = self.get_self_args() content += self.get_internal_connections() members = self.obj.getMember(self.InOut_Filter) args = "clk => clk, " args += join_str(content + [ str(x["name"]) + " => " + str(x["name"] + "(i)") for x in members ], Delimeter=", ", IgnoreIfEmpty=True) ret = ah_func.v_procedure(name=self.procedureName, argumentList=argumentList, body=''' for i in 0 to self'length - 1 loop {PushPull}( {args}); end loop; '''.format(PushPull=self.PushPull, args=args), isFreeFunction=True, IsEmpty=isEmpty) return ret
def __str__(self): if self.obj.__v_classType__ == v_classType_t.Record_t: return "" pushpull = "pull" if self.Inout == InOut_t.input_t else "push" if not hdl.Has_pushpull_function(self.obj, pushpull): return "" content = self.get_clock_connection() content += self.get_selfHandles() content += self.getConnections() ret = join_str(content, start=" " + pushpull + "( ", end=");\n", Delimeter=", ") return ret
def __str__(self): members_args = self.get_Self() members = self.obj.getMember(self.InOut_Filter) for i in members: n_connector = _get_connector(i["symbol"]) xs = i["symbol"].__hdl_converter__.extract_conversion_types( i["symbol"], exclude_class_type=v_classType_t.transition_t, filter_inout=self.InOut_Filter) for x in xs: varsig = " " if n_connector._varSigConst == varSig.signal_t: varsig = " signal " type_name = hdl.get_type_simple(x["symbol"]) members_args.append(varsig + i["name"] + " : " + self.InOut + " " + type_name + self.suffix) ret = join_str(members_args, Delimeter="; ") return ret