OVP Peripheral Model: RiscvCLINT
Model Specific Information
This page provides introductory usage information for an Imperas OVP peripheral behavioral model.
The page is split into sections providing specific information for this peripheral,
including any ports for connecting into a platform, registers, other component parts, and configuration options and general information for peripheral modeling with Imperas OVP.
Licensing
Open Source Apache 2.0
Description
SiFive-compatabile Risc-V Core Local Interruptor (CLINT).
Use the num_harts parameter to specify the number of harts suported (default 1).
For each supported hart there will be an MTimerInterruptN and MSWInterruptN net port, plus msipN and mtimecmpN registers implemented, where N is a value from 0..num_harts-1.
There is also a single mtime register.
Reference
Various SiFive Core Complex manuals, e.g. SiFive U54 Core Complex Manual (https://sifive.cdn.prismic.io/sifive/a07d1a9a-2cb8-4cf5-bb75-5351888ea2e1_u54_core_complex_manual_21G2.pdf)
Location
The CLINT peripheral model is located in an Imperas/OVP installation at the VLNV: riscv.ovpworld.org / peripheral / CLINT / 1.0.
Peripheral Instance Parameters
This model accepts the following parameters:
Table : Peripheral Parameters
Name | Type | Description |
---|
num_harts | uns32 | Number of harts implemented |
clockMHz | double | Clock rate in MHz used in timer calculations (default 10.0 |
Net Ports
This model has the following net ports:
Table 1: Net Ports
Name | Type | Must Be Connected | Description |
---|
MSWInterrupt0 | output | F (False) | |
MTimerInterrupt0 | output | F (False) | |
reset | input | F (False) | Reset signal |
Bus Slave Ports
This model has the following bus slave ports:
Bus Slave Port: port0
Table 2: Bus Slave Port: port0
Name | Size (bytes) | Must Be Connected | Description |
---|
port0 | 0xc000 | F (False) | |
Table 3: Bus Slave Port: port0 Registers:
Name | Offset | Width (bits) | Description | R/W | is Volatile |
---|
msip_msip0 | 0x0 | 32 | Hart 0 Machine-Mode Software Interrupt | | |
mtime_mtimecmp0 | 0x4000 | 64 | Hart 0 Machine-Mode Timer Compare | | |
mtime_mtime | 0xbff8 | 64 | Machine-Mode mtime | | |
Platforms that use this peripheral component
Peripheral components can be used in many different platforms, including those developed by Imperas or by other users of OVP. You can use this peripheral in your own platforms.
Table 4: Publicly available platforms using peripheral 'CLINT'