def METHOD_NAME(sdfg):
    state = sdfg.add_state("init")
    a_host = state.add_array("A", (M, N), dtype)
    a_device = state.add_array("A_device", (M, N), dtype, transient=True, storage=dace.dtypes.StorageType.FPGA_Global)
    x_host = state.add_array("x", (M, ), dtype)
    x_device = state.add_array("x_device", (M, ), dtype, transient=True, storage=dace.dtypes.StorageType.FPGA_Global)
    y_host = state.add_array("y", (M, ), dtype)
    y_device = state.add_array("y_device", (N, ), dtype, transient=True, storage=dace.dtypes.StorageType.FPGA_Global)
    state.add_memlet_path(a_host, a_device, memlet=dace.memlet.Memlet.simple(a_device, "0:N, 0:M"))
    state.add_memlet_path(x_host, x_device, memlet=dace.memlet.Memlet.simple(x_device, "0:M"))
    state.add_memlet_path(y_host, y_device, memlet=dace.memlet.Memlet.simple(y_device, "0:N"))
    return state