code: def _copy_net(block_out, net, temp_wv_net, mem_map):
      
      new_args = tuple(temp_wv_net[a_arg] for a_arg in net.args)
      new_dests = tuple(temp_wv_net[a_dest] for a_dest in net.dests)
      if net.op in "m@":  # special stuff for copying memories
          new_param = _get_new_block_mem_instance(net.op_param, mem_map, block_out)
      else:
          new_param = net.op_param
  
      new_net = LogicNet(net.op, new_param, args=new_args, dests=new_dests)
      block_out.add_net(new_net)
docs: This function makes a copy of all nets passed to it for synth uses