// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

`verilator_config

// Tell the Verilator scheduler to split up these variables into
// separate pieces when it's figuring out process scheduling. This
// avoids spurious UNOPTFLAT warnings caused by the fact that the
// arrays feed into themselves (with different bits for different
// positions in the tree).
split_var -module "prim_arbiter_fixed" -var "data_tree"
split_var -module "prim_arbiter_fixed" -var "gnt_tree"
split_var -module "prim_arbiter_fixed" -var "idx_tree"
split_var -module "prim_arbiter_fixed" -var "req_tree"

split_var -module "prim_arbiter_tree" -var "req_tree"
split_var -module "prim_arbiter_tree" -var "prio_tree"
split_var -module "prim_arbiter_tree" -var "sel_tree"
split_var -module "prim_arbiter_tree" -var "mask_tree"
split_var -module "prim_arbiter_tree" -var "idx_tree"
split_var -module "prim_arbiter_tree" -var "data_tree"
