| 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:ip:otbn:0.1" | 
 | description: "OpenTitan Big Number Accelerator (OTBN)" | 
 |  | 
 | filesets: | 
 |   files_rtl_core: | 
 |     depend: | 
 |       - lowrisc:prim:assert | 
 |       - lowrisc:prim:util | 
 |       - lowrisc:ip:otbn_pkg | 
 |     files: | 
 |       - rtl/otbn_controller.sv | 
 |       - rtl/otbn_decoder.sv | 
 |       - rtl/otbn_instruction_fetch.sv | 
 |       - rtl/otbn_rf_base.sv | 
 |       - rtl/otbn_rf_base_ff.sv | 
 |       - rtl/otbn_rf_bignum_ff.sv | 
 |       - rtl/otbn_rf_base_fpga.sv | 
 |       - rtl/otbn_rf_bignum_fpga.sv | 
 |       - rtl/otbn_lsu.sv | 
 |       - rtl/otbn_alu_base.sv | 
 |       - rtl/otbn_alu_bignum.sv | 
 |       - rtl/otbn_mac_bignum.sv | 
 |       - rtl/otbn_loop_controller.sv | 
 |       - rtl/otbn_stack.sv | 
 |       - rtl/otbn_core.sv | 
 |     file_type: systemVerilogSource | 
 |  | 
 |   files_rtl_top: | 
 |     depend: | 
 |       - lowrisc:ip:tlul | 
 |       - lowrisc:prim:all | 
 |       - lowrisc:prim:assert | 
 |       - lowrisc:prim:util | 
 |       - lowrisc:prim:ram_1p_adv | 
 |       - lowrisc:ip:otbn_pkg | 
 |       - lowrisc:dv:otbn_model | 
 |     files: | 
 |       - rtl/otbn_reg_pkg.sv | 
 |       - rtl/otbn_reg_top.sv | 
 |       - rtl/otbn.sv | 
 |     file_type: systemVerilogSource | 
 |  | 
 |   files_verilator_waiver: | 
 |     depend: | 
 |       # common waivers | 
 |       - lowrisc:lint:common | 
 |       - lowrisc:lint:comportable | 
 |     files: | 
 |       - lint/otbn.vlt | 
 |     file_type: vlt | 
 |  | 
 | parameters: | 
 |   SYNTHESIS: | 
 |     datatype: bool | 
 |     paramtype: vlogdefine | 
 |   OTBN_BUILD_MODEL: | 
 |     datatype: bool | 
 |     paramtype: vlogdefine | 
 |     description: | | 
 |       Build the simulation with the ISS as well as with the RTL implementation | 
 |       (development only). Use the OTBN_USE_MODEL plusarg to switch at runtime. | 
 |   OTBN_USE_MODEL: | 
 |     datatype: bool | 
 |     description: Use the OTBN model instead of the RTL implementation (development only) | 
 |     paramtype: plusarg | 
 |     default: false | 
 |  | 
 | targets: | 
 |   default: &default_target | 
 |     filesets: | 
 |       - tool_verilator ? (files_verilator_waiver) | 
 |       - files_rtl_core | 
 |       - files_rtl_top | 
 |     toplevel: otbn | 
 |     parameters: | 
 |       - OTBN_USE_MODEL | 
 |       - OTBN_BUILD_MODEL | 
 |  | 
 |   lint: | 
 |     <<: *default_target | 
 |     default_tool: verilator | 
 |     parameters: | 
 |       - SYNTHESIS=true | 
 |     tools: | 
 |       verilator: | 
 |         mode: lint-only | 
 |         verilator_options: | 
 |           - "-Wall" | 
 |  | 
 |   lint-core: | 
 |     filesets: | 
 |       - files_rtl_core | 
 |     toplevel: otbn_core | 
 |     default_tool: verilator | 
 |     parameters: | 
 |       - SYNTHESIS=true | 
 |     tools: | 
 |       ascentlint: | 
 |         ascentlint_options: | 
 |           - "-wait_license" | 
 |           - "-stop_on_error" | 
 |       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 |