CAPI=2:
# Copyright lowRISC contributors (OpenTitan project).
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# ------------------- W A R N I N G: A U T O - G E N E R A T E D   C O D E !! -------------------//
# PLEASE DO NOT HAND-EDIT THIS FILE. IT HAS BEEN AUTO-GENERATED WITH THE FOLLOWING COMMAND:
#
#    util/design/gen-mubi.py
#
name: "lowrisc:prim:mubi:0.1"
description: "Multibit types and functions"
filesets:
  files_rtl:
    depend:
      - lowrisc:prim:assert
      - lowrisc:prim:buf
      - lowrisc:prim:flop
      - lowrisc:prim:mubi_pkg
    files:
      - rtl/prim_mubi4_sender.sv
      - rtl/prim_mubi4_sync.sv
      - rtl/prim_mubi4_dec.sv
      - rtl/prim_mubi8_sender.sv
      - rtl/prim_mubi8_sync.sv
      - rtl/prim_mubi8_dec.sv
      - rtl/prim_mubi12_sender.sv
      - rtl/prim_mubi12_sync.sv
      - rtl/prim_mubi12_dec.sv
      - rtl/prim_mubi16_sender.sv
      - rtl/prim_mubi16_sync.sv
      - rtl/prim_mubi16_dec.sv
      - rtl/prim_mubi20_sender.sv
      - rtl/prim_mubi20_sync.sv
      - rtl/prim_mubi20_dec.sv
      - rtl/prim_mubi24_sender.sv
      - rtl/prim_mubi24_sync.sv
      - rtl/prim_mubi24_dec.sv
      - rtl/prim_mubi28_sender.sv
      - rtl/prim_mubi28_sync.sv
      - rtl/prim_mubi28_dec.sv
      - rtl/prim_mubi32_sender.sv
      - rtl/prim_mubi32_sync.sv
      - rtl/prim_mubi32_dec.sv
    file_type: systemVerilogSource

  files_verilator_waiver:
    depend:
      # common waivers
      - lowrisc:lint:common

  files_ascentlint_waiver:
    depend:
      # common waivers
      - lowrisc:lint:common
    files:
      - lint/prim_mubi.waiver
    file_type: waiver

  files_veriblelint_waiver:
    depend:
      # common waivers
      - lowrisc:lint:common

targets:
  default: &default_target
    filesets:
      - tool_verilator   ? (files_verilator_waiver)
      - tool_ascentlint  ? (files_ascentlint_waiver)
      - tool_veriblelint ? (files_veriblelint_waiver)
      - files_rtl

  lint:
    <<: *default_target
    default_tool: verilator
    parameters:
      - SYNTHESIS=true
    tools:
      verilator:
        mode: lint-only
        verilator_options:
          - "-Wall"
