| 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 |