blob: 2fd6df8d3b90e51ee53def645eedee85bcc4fdc4 [file] [log] [blame]
CAPI=2:
# Copyright 2023 Google LLC
# 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_matcha:0.1"
description: "Technology-independent Matcha toplevel"
filesets:
files_rtl_generic:
depend:
- google:ahb:headers
- google:axi:headers
- google:ip:cam_ctrl
- google:ip:dma
- google:ip:isp_wrapper
- google:ip:i2s
- google:ip:ml_top
- google:ip:rv_core_smc
- google:ip:smc_ctrl
- google:ip:tlul_mailbox
- google:ip:tluh_adapter_sram
- google:systems:pwrmgr
- lowrisc:ip:uart:0.1
- lowrisc:opentitan:top_matcha_alert_handler
- lowrisc:ip:gpio
- lowrisc:ip:rv_core_ibex
- lowrisc:ip:rv_dm
- lowrisc:opentitan:top_matcha_rv_plic
- lowrisc:opentitan:top_matcha_rv_plic_smc
- lowrisc:ip:pinmux
- lowrisc:ip:rv_timer
- lowrisc:ip:tlul
- lowrisc:ip:spi_device
- lowrisc:ip:spi_host
- lowrisc:ip:i2c
- lowrisc:ip:pattgen
- lowrisc:ip:pwm
- lowrisc:ip:aes
- lowrisc:ip:entropy_src
- lowrisc:ip:csrng
- lowrisc:ip:edn
- lowrisc:ip:hmac
- lowrisc:ip:kmac
- lowrisc:ip:otbn
- lowrisc:prim:ram_1p_scr
- lowrisc:prim:ram_1p_adv
- lowrisc:prim:rom_adv
- lowrisc:prim:flash
- lowrisc:ip:flash_ctrl
- lowrisc:ip:sram_ctrl
- lowrisc:ip:keymgr
- lowrisc:constants:top_pkg
- lowrisc:constants:jtag_id_pkg
- lowrisc:ip:otp_ctrl
- lowrisc:ip:lc_ctrl
- lowrisc:ip:usbdev
- lowrisc:top_matcha:xbar_main
- lowrisc:top_matcha:xbar_peri
- lowrisc:top_matcha:xbar_smc
- lowrisc:top_matcha:xbar_dbg
- lowrisc:ip:rstmgr
- lowrisc:ip:aon_timer
- lowrisc:ip:adc_ctrl
- lowrisc:ip:sysrst_ctrl
- lowrisc:ip:rom_ctrl
- lowrisc:systems:clkmgr
- lowrisc:systems:sensor_ctrl
- lowrisc:tlul:headers
- lowrisc:prim:all
- lowrisc:prim:usb_diff_rx
- lowrisc:prim:mubi
- lowrisc:systems:top_matcha_pkg
- "fileset_partner ? (partner:systems:ast_pkg)"
- "!fileset_partner ? (lowrisc:systems:ast_pkg)"
files:
- rtl/autogen/top_matcha_rnd_cnst_pkg.sv
- rtl/autogen/top_matcha.sv
file_type: systemVerilogSource
files_verilator_waiver:
depend:
# common waivers
- lowrisc:lint:common
- lowrisc:lint:comportable
files:
- lint/top_matcha.vlt
file_type: vlt
files_ascentlint_waiver:
depend:
# common waivers
- lowrisc:lint:common
- lowrisc:lint:comportable
files:
- lint/top_matcha.waiver
file_type: waiver
files_veriblelint_waiver:
depend:
# common waivers
- lowrisc:lint:common
- lowrisc:lint:comportable
files:
- lint/top_matcha.vbw
file_type: veribleLintWaiver
parameters:
SYNTHESIS:
datatype: bool
paramtype: vlogdefine
IBEX_CUSTOM_PMP_RESET_VALUES:
datatype: bool
default: true
paramtype: vlogdefine
targets:
default: &default_target
filesets:
- tool_verilator ? (files_verilator_waiver)
- tool_ascentlint ? (files_ascentlint_waiver)
- tool_veriblelint ? (files_veriblelint_waiver)
- files_rtl_generic
toplevel: top_matcha
parameters:
- IBEX_CUSTOM_PMP_RESET_VALUES
sim:
default_tool: icarus
filesets:
- files_rtl_generic
toplevel: top_matcha
lint:
<<: *default_target
default_tool: verilator
parameters:
- SYNTHESIS=true
tools:
verilator:
mode: lint-only
verilator_options:
- "-Wall"
syn:
<<: *default_target
# TODO: set default to DC once
# this option is available
# olofk/edalize#89
default_tool: icarus
parameters:
- SYNTHESIS=true
toplevel: top_matcha
formal:
<<: *default_target
toplevel: top_matcha