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

name: "lowrisc:prim:fifo"
description: "Synchronous and asynchronous fifos"
filesets:
  files_rtl:
    depend:
      - lowrisc:prim:assert
      - lowrisc:prim:util
      - lowrisc:prim:flop_2sync
      - lowrisc:prim:count
    files:
      - rtl/prim_fifo_async_sram_adapter.sv
      - rtl/prim_fifo_async_simple.sv
      - rtl/prim_fifo_async.sv
      - rtl/prim_fifo_sync.sv
      - rtl/prim_fifo_sync_cnt.sv
      - rtl/prim_fifo_assert.svh : {is_include_file : true}
    file_type: systemVerilogSource

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

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

  files_veriblelint_waiver:
    depend:
      # common waivers
      - lowrisc:lint:common
    files:
      - lint/prim_fifo.vbl
    file_type: veribleLintWaiver

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