blob: 6430e3cd25fe0e2d325dfb546d1d251d9aa9f7cf [file] [log] [blame]
CAPI=2:
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
name: "lowrisc:systems:top_earlgrey:0.1"
description: "Technology-independent Earl Grey toplevel"
filesets:
files_rtl_generic:
depend:
- lowrisc:ip:uart:0.1
- lowrisc:ip:gpio
- lowrisc:ip:rv_core_ibex
- lowrisc:ip:rv_dm
- lowrisc:ip:rv_plic_component
- lowrisc:ip:rv_timer
- lowrisc:ip:tlul
- lowrisc:ip:spi_device
- lowrisc:ip:aes
- lowrisc:ip:hmac
- lowrisc:prim:ram_1p
- lowrisc:prim:rom
- lowrisc:prim:flash
- lowrisc:ip:flash_ctrl:0.1
- lowrisc:constants:top_pkg
- lowrisc:ip:nmi_gen
files:
- ip/xbar_main/rtl/autogen/tl_main_pkg.sv
- ip/xbar_main/rtl/autogen/xbar_main.sv
- ip/xbar_peri/rtl/autogen/tl_peri_pkg.sv
- ip/xbar_peri/rtl/autogen/xbar_peri.sv
- ip/rv_plic/rtl/autogen/rv_plic_reg_pkg.sv
- ip/rv_plic/rtl/autogen/rv_plic_reg_top.sv
- ip/rv_plic/rtl/autogen/rv_plic.sv
- ip/pinmux/rtl/autogen/pinmux_reg_pkg.sv
- ip/pinmux/rtl/autogen/pinmux_reg_top.sv
- ../ip/pinmux/rtl/pinmux.sv
- ip/alert_handler/rtl/autogen/alert_handler_reg_pkg.sv
- ip/alert_handler/rtl/autogen/alert_handler_reg_top.sv
- ../ip/alert_handler/rtl/alert_pkg.sv
- ../ip/alert_handler/rtl/alert_handler_reg_wrap.sv
- ../ip/alert_handler/rtl/alert_handler_class.sv
- ../ip/alert_handler/rtl/alert_handler_ping_timer.sv
- ../ip/alert_handler/rtl/alert_handler_esc_timer.sv
- ../ip/alert_handler/rtl/alert_handler_accu.sv
- ../ip/alert_handler/rtl/alert_handler.sv
- rtl/padctl.sv
- rtl/autogen/top_earlgrey.sv
file_type: systemVerilogSource
files_verilator_waiver:
depend:
# common waivers
- lowrisc:lint:common
- lowrisc:lint:comportable
files:
- lint/top_earlgrey.vlt
file_type: vlt
files_ascentlint_waiver:
depend:
# common waivers
- lowrisc:lint:common
- lowrisc:lint:comportable
files:
- lint/top_earlgrey.waiver
file_type: waiver
parameters:
SYNTHESIS:
datatype: bool
paramtype: vlogdefine
# For value definition, please see ip/prim/rtl/prim_pkg.sv
PRIM_DEFAULT_IMPL:
datatype: str
paramtype: vlogdefine
description: Primitives implementation to use, e.g. "prim_pkg::ImplGeneric".
default: prim_pkg::ImplGeneric
targets:
default: &default_target
filesets:
- tool_verilator ? (files_verilator_waiver)
- tool_ascentlint ? (files_ascentlint_waiver)
- files_rtl_generic
parameters:
- PRIM_DEFAULT_IMPL=prim_pkg::ImplGeneric
toplevel: top_earlgrey
sim:
default_tool: icarus
filesets:
- files_rtl_generic
parameters:
- PRIM_DEFAULT_IMPL=prim_pkg::ImplGeneric
toplevel: top_earlgrey
lint:
<<: *default_target
default_tool: verilator
parameters:
- SYNTHESIS=true
tools:
verilator:
mode: lint-only
verilator_options:
- "-Wall"