blob: 0971b5ad5a7490fb0293167e565504f7163e9ead [file] [log] [blame]
CAPI=2:
name: "com.google.kelvin:fpga:chip_verilator:0.1"
description: "Verilator-specific top-level for Kelvin."
filesets:
files_rtl:
depend:
- com.google.kelvin:fpga:kelvin_soc:0.2
- kelvinv2:ip:sram:0.1
- kelvinv2:ip:kelvin_tlul:0.1
- lowrisc:dv_dpi_c:uartdpi:0.1
- lowrisc:dv_dpi_sv:uartdpi:0.1
files:
- rtl/chip_verilator.sv
file_type: systemVerilogSource
sim_src:
depend:
- lowrisc:dv_verilator:memutil_verilator
- lowrisc:dv_verilator:simutil_verilator
files:
- main.cc
file_type: cppSource
parameters:
ClockFrequencyMhz:
datatype: int
description: "Target clock frequency in MHz."
default: 10
paramtype: vlogparam
MemInitFile:
datatype: str
description: Path to ROM
default: "fpga/wfi.bin"
paramtype: vlogparam
targets:
default: &default_target
filesets:
- files_rtl
sim:
<<: *default_target
filesets:
- files_rtl
- sim_src
toplevel: chip_verilator
default_tool: verilator
parameters:
- ClockFrequencyMhz
- MemInitFile
tools:
verilator:
mode: cc
verilator_options:
- '--trace'
- '--trace-fst'
- '-CFLAGS "-DTOPLEVEL_NAME=chip_verilator -std=c++17 -Wall -DVM_TRACE_FMT_FST"'
- '-LDFLAGS "-lelf -lutil"'
- '-Wall'
- '--threads 16'
- '-Wno-fatal'