code: def test_generate_single_plans(SRAM, DRAM):
      subgraph = cs.TESubgraph([], None)
      part_1 = cs.InlinePart(
          subgraph,
          [
              cs.Propagator(
                  [[2, 0, 0], [0, 2, 0], [0, 0, 1]],
                  [0, 0],
              ),
          ],
      )
      tensor_1 = cs.Tensor([800, 800], "int8")
      tensor_2 = cs.Tensor([400, 400], "int8")
  
      part_1.set_input(0, tensor_1)
      part_1.set_output(tensor_2)
      tensor_1.add_consumer(part_1)
      tensor_2.add_producer(part_1)
  
      home_map = {
          tensor_1: [SRAM, DRAM],
          tensor_2: [SRAM],
      }
      options = make_options(cascade_region=SRAM, stripe_factors=1)
      output_stripe_configs = _generate_output_stripe_configs(
          part_1,
          options.stripe_factors,
          enable_striping=True,
          multi_dimensional=True,
      )
      plans = _generate_single_plans(
          part_1, output_stripe_configs, home_map, options
      )
      for plan in plans:
          assert plan.interior_region == SRAM
          assert plan.part_group == frozenset([part_1])
          assert set(plan.tensor_configs.keys()) == set(
              [tensor_1, tensor_2]
          )
          for open_config in plan.open_configs:
              assert open_config.state == cs.TensorConfigState.INTERIOR
  
file_path: tvm/tests/python/contrib/test_ethosu/cascader/test_plan_generator.py
imports: import pytest
  import tvm.contrib.ethosu.cascader
  from .infra import make_simple_home_map, make_options, ethosu_enabled
  from tvm.contrib.ethosu.cascader.plan_generator import _generate_output_stripe_configs, _generate_single_plans, _generate_graph_plans
label_desc: Use image node_id 5 for calling a global function with example usage: test_generate_single_plans(SRAM, DRAM) without return types