|  | 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:prim:lfsr | 
|  | - lowrisc:prim:xoshiro256pp | 
|  | - lowrisc:prim:cipher_pkg | 
|  | - lowrisc:prim:mubi | 
|  | - lowrisc:prim:crc32 | 
|  | - lowrisc:prim:sparse_fsm | 
|  | - lowrisc:ip:keymgr_pkg | 
|  | - lowrisc:ip:edn_pkg | 
|  | - 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_bignum.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_rnd.sv | 
|  | - rtl/otbn_start_stop_control.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_scr | 
|  | - lowrisc:prim:lc_sync | 
|  | - lowrisc:ip:edn_pkg | 
|  | - lowrisc:prim:edn_req | 
|  | - lowrisc:ip:otbn_pkg | 
|  | - lowrisc:ip:otp_ctrl_pkg | 
|  | - lowrisc:dv:otbn_model | 
|  | files: | 
|  | - rtl/otbn_reg_pkg.sv | 
|  | - rtl/otbn_reg_top.sv | 
|  | - rtl/otbn_scramble_ctrl.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 | 
|  |  | 
|  | files_ascentlint_waiver: | 
|  | depend: | 
|  | # common waivers | 
|  | - lowrisc:lint:common | 
|  | - lowrisc:lint:comportable | 
|  | files: | 
|  | - lint/otbn.waiver | 
|  | file_type: waiver | 
|  |  | 
|  | 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) | 
|  | - tool_ascentlint ? (files_ascentlint_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: | 
|  | 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 |