blob: 4813a0094a0d86a2734d904debb11abb20c96466 [file] [log] [blame]
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