CAPI=2:
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# XXX: Split this core into multiple smaller ones.
name: "lowrisc:prim:all:0.1"
description: "Primitives"
filesets:
  files_rtl:
    depend:
      - lowrisc:prim:assert
      - lowrisc:prim:util
      - lowrisc:prim:diff_decode # for prim_alert_sender/receiver
      - lowrisc:prim:pad_wrapper
      - lowrisc:prim:prim_pkg
      - lowrisc:prim:clock_mux2
      - lowrisc:prim:flop
      - lowrisc:prim:flop_2sync
    files:
      - rtl/prim_clock_gating_sync.sv
      - rtl/prim_alert_pkg.sv
      - rtl/prim_alert_receiver.sv
      - rtl/prim_alert_sender.sv
      - rtl/prim_arbiter_ppc.sv
      - rtl/prim_arbiter_tree.sv
      - rtl/prim_dom_and_2share.sv
      - rtl/prim_arbiter_fixed.sv
      - rtl/prim_esc_pkg.sv
      - rtl/prim_esc_receiver.sv
      - rtl/prim_esc_sender.sv
      - rtl/prim_sram_arbiter.sv
      - rtl/prim_fifo_async.sv
      - rtl/prim_fifo_sync.sv
      - rtl/prim_sync_reqack.sv
      - rtl/prim_keccak.sv
      - rtl/prim_packer.sv
      - rtl/prim_cipher_pkg.sv
      - rtl/prim_present.sv
      - rtl/prim_prince.sv
      - rtl/prim_subst_perm.sv
      - rtl/prim_gate_gen.sv
      - rtl/prim_pulse_sync.sv
      - rtl/prim_filter.sv
      - rtl/prim_filter_ctr.sv
      - rtl/prim_subreg_arb.sv
      - rtl/prim_subreg.sv
      - rtl/prim_subreg_ext.sv
      - rtl/prim_subreg_shadow.sv
      - rtl/prim_intr_hw.sv
    file_type: systemVerilogSource

  files_verilator_waiver:
    depend:
      # common waivers
      - lowrisc:lint:common
    files:
      - lint/prim.vlt
    file_type: vlt

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

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

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