| 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:prim:onehot |
| - lowrisc:prim:blanker |
| - lowrisc:ip:keymgr_pkg |
| - lowrisc:ip:edn_pkg |
| - lowrisc:ip:otbn_pkg |
| - lowrisc:prim:onehot_check |
| files: |
| - rtl/otbn_controller.sv |
| - rtl/otbn_decoder.sv |
| - rtl/otbn_predecode.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 |
| 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 |
| |
| targets: |
| default: &default_target |
| filesets: |
| - tool_verilator ? (files_verilator_waiver) |
| - tool_ascentlint ? (files_ascentlint_waiver) |
| - files_rtl_core |
| - files_rtl_top |
| toplevel: otbn |
| |
| 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 |