mirror of
https://github.com/openhwgroup/cve2.git
synced 2025-04-25 06:27:22 -04:00
* [dv] add vendor .hjson files for dv tools Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update common_ifs to lowRISC/opentitan@0d7f7ac7 Update code from subdir hw/dv/sv/common_ifs in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update csr_utils to lowRISC/opentitan@0d7f7ac7 Update code from subdir hw/dv/sv/csr_utils in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update dv_lib to lowRISC/opentitan@0d7f7ac7 Update code from subdir hw/dv/sv/dv_lib in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update dvsim to lowRISC/opentitan@0d7f7ac7 Update code from subdir util/dvsim in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update uvmdvgen to lowRISC/opentitan@0d7f7ac7 Update code from subdir util/uvmdvgen in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * Update dv_utils to lowRISC/opentitan@0d7f7ac7 Update code from subdir hw/dv/sv/dv_utils in upstream repository https://github.com/lowRISC/opentitan to revision 0d7f7ac755d4e00811257027dd814edb2afca050 Signed-off-by: Udi Jonnalagadda <udij@google.com> * [dv] initial icache testbench Signed-off-by: Udi Jonnalagadda <udij@google.com> * [dv] add top_pkg and its core file to icache/dv Signed-off-by: Udi Jonnalagadda <udij@google.com> * [dv] update ibex_core and ibex_icache corefile dependencies Signed-off-by: Udi Jonnalagadda <udij@google.com> * [dv] add .vpd support for wave-dumping Signed-off-by: Udi Jonnalagadda <udij@google.com>
138 lines
3.4 KiB
Text
138 lines
3.4 KiB
Text
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:ibex:ibex_core:0.1"
|
|
description: "CPU core with 2 stage pipeline implementing the RV32IMC_Zicsr_Zifencei ISA"
|
|
|
|
filesets:
|
|
files_rtl:
|
|
depend:
|
|
- lowrisc:prim:assert
|
|
- lowrisc:ibex:ibex_pkg
|
|
- lowrisc:ibex:ibex_icache
|
|
files:
|
|
- rtl/ibex_alu.sv
|
|
- rtl/ibex_compressed_decoder.sv
|
|
- rtl/ibex_controller.sv
|
|
- rtl/ibex_cs_registers.sv
|
|
- rtl/ibex_counters.sv
|
|
- rtl/ibex_decoder.sv
|
|
- rtl/ibex_ex_block.sv
|
|
- rtl/ibex_fetch_fifo.sv
|
|
- rtl/ibex_id_stage.sv
|
|
- rtl/ibex_if_stage.sv
|
|
- rtl/ibex_load_store_unit.sv
|
|
- rtl/ibex_multdiv_fast.sv
|
|
- rtl/ibex_multdiv_slow.sv
|
|
- rtl/ibex_prefetch_buffer.sv
|
|
- rtl/ibex_pmp.sv
|
|
- rtl/ibex_wb_stage.sv
|
|
# XXX: Figure out the best way to switch these two implementations
|
|
# dynamically on the target.
|
|
# - rtl/ibex_register_file_latch.sv # ASIC
|
|
# - rtl/ibex_register_file_fpga.sv # FPGA
|
|
- rtl/ibex_register_file_ff.sv # generic FF-based
|
|
- rtl/ibex_core.sv
|
|
file_type: systemVerilogSource
|
|
|
|
files_lint:
|
|
depend:
|
|
- lowrisc:ibex:sim_shared
|
|
|
|
files_lint_verilator:
|
|
files:
|
|
- lint/verilator_waiver.vlt: {file_type: vlt}
|
|
|
|
files_check_tool_requirements:
|
|
depend:
|
|
- lowrisc:ibex:check_tool_requirements
|
|
|
|
parameters:
|
|
RVFI:
|
|
datatype: bool
|
|
paramtype: vlogdefine
|
|
|
|
SYNTHESIS:
|
|
datatype: bool
|
|
paramtype: vlogdefine
|
|
|
|
RV32E:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
|
|
RV32M:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
|
|
MultiplierImplementation:
|
|
datatype: str
|
|
paramtype: vlogparam
|
|
description: "Multiplier implementation. Valid values: fast, slow"
|
|
default: fast
|
|
|
|
ICache:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
description: "Enable instruction cache"
|
|
default: false
|
|
|
|
ICacheECC:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
description: "Enable ECC protection in instruction cache"
|
|
default: false
|
|
|
|
BranchTargetALU:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
default: false
|
|
description: "Enables seperate branch target ALU (increasing branch performance EXPERIMENTAL)"
|
|
|
|
WritebackStage:
|
|
datatype: bool
|
|
paramtype: vlogparam
|
|
default: false
|
|
description: "Enables third pipeline stage (EXPERIMENTAL)"
|
|
|
|
targets:
|
|
default:
|
|
filesets:
|
|
- tool_verilator ? (files_lint_verilator)
|
|
- files_rtl
|
|
- files_check_tool_requirements
|
|
lint:
|
|
filesets:
|
|
- tool_verilator ? (files_lint_verilator)
|
|
- files_rtl
|
|
- files_lint
|
|
- files_check_tool_requirements
|
|
parameters:
|
|
- SYNTHESIS=true
|
|
- RVFI=true
|
|
default_tool: verilator
|
|
toplevel: ibex_core
|
|
tools:
|
|
verilator:
|
|
mode: lint-only
|
|
verilator_options:
|
|
- "-Wall"
|
|
# RAM primitives wider than 64bit (required for ECC) fail to build in
|
|
# Verilator without increasing the unroll count (see Verilator#1266)
|
|
- "--unroll-count 72"
|
|
veriblelint:
|
|
ruleset: default
|
|
rules:
|
|
- "-parameter-name-style"
|
|
format:
|
|
filesets:
|
|
- files_rtl
|
|
parameters:
|
|
- SYNTHESIS=true
|
|
- RVFI=true
|
|
default_tool: veribleformat
|
|
toplevel: ibex_core
|
|
tools:
|
|
veribleformat:
|
|
verible_format_args:
|
|
- "--inplace"
|