Parameters and Configuration
Main contributor: Jean-Roch Coulon - Thales
Parameters
Name |
Type |
Description |
---|---|---|
|
|
General Purpose Register Size (in bits) |
|
|
Atomic RISC-V extension |
|
|
Bit manipulation RISC-V extension |
|
|
Vector RISC-V extension |
|
|
Compress RISC-V extension |
|
|
Hypervisor RISC-V extension |
|
|
Zcb RISC-V extension |
|
|
Zcmp RISC-V extension |
|
|
Zicond RISC-V extension |
|
|
Zicntr RISC-V extension |
|
|
Zihpm RISC-V extension |
|
|
Floating Point |
|
|
Floating Point |
|
|
Non standard 16bits Floating Point extension |
|
|
Non standard 16bits Floating Point Alt extension |
|
|
Non standard 8bits Floating Point extension |
|
|
Non standard Vector Floating Point extension |
|
|
Perf counters |
|
|
MMU |
|
|
Supervisor mode |
|
|
User mode |
|
|
Debug support |
|
|
Base address of the debug module |
|
|
Address to jump when halt request |
|
|
Address to jump when exception |
|
|
Tval Support Enable |
|
|
MTVEC CSR supports only direct mode |
|
|
PMP entries number |
|
|
PMP CSR configuration reset values |
|
|
PMP CSR address reset values |
|
|
PMP CSR read-only bits |
|
|
PMA non idempotent rules number |
|
|
PMA NonIdempotent region base address |
|
|
PMA NonIdempotent region length |
|
|
PMA regions with execute rules number |
|
|
PMA Execute region base address |
|
|
PMA Execute region address base |
|
|
PMA regions with cache rules number |
|
|
PMA cache region base address |
|
|
PMA cache region rules |
|
|
CV-X-IF coprocessor interface enable |
|
|
NOC bus type |
|
|
AXI address width |
|
|
AXI data width |
|
|
AXI ID width |
|
|
AXI User width |
|
|
AXI burst in write |
|
|
TODO |
|
|
Instruction cache size (in bytes) |
|
|
Instruction cache associativity (number of ways) |
|
|
Instruction cache line width |
|
|
Cache Type |
|
|
Data cache ID |
|
|
Data cache size (in bytes) |
|
|
Data cache associativity (number of ways) |
|
|
Data cache line width |
|
|
User field on data bus enable |
|
|
Write-through data cache write buffer depth |
|
|
User field on fetch bus enable |
|
|
Width of fetch user field |
|
|
Is FPGA optimization of CV32A6 |
|
|
Is Techno Cut instanciated |
|
|
Enable superscalar* with 2 issue ports and 2 commit ports. |
|
|
Number of commit ports. Forced to 2 if SuperscalarEn. |
|
|
Load cycle latency number |
|
|
Store cycle latency number |
|
|
Scoreboard length |
|
|
Load buffer entry buffer |
|
|
Maximum number of outstanding stores |
|
|
Return address stack depth |
|
|
Branch target buffer entries |
|
|
Branch history entries |
|
|
MMU instruction TLB entries |
|
|
MMU data TLB entries |
|
|
MMU option to use shared TLB |
|
|
MMU depth of shared TLB |
*: Some parameters are incompatible with others:
SuperscalarEn
:Not compatible with floating point (
RVF
,RVD
,XF16
,XF16ALT
,XF8
,XFVec
) yet.Not compatible with macro instructions (
RVZCMP
) yet.Recommended to set
NrScoreboardEntries
to at least 8 for performance.
Configurations
A configuration is a fixed set of parameters.
Parameter |
CV32A6_v5.0.0 config |
---|---|
|
3 |
|
32 |
|
1 |
|
1 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
0 |
|
1 |
|
16 |
|
16 |
|
0 |
|
0 |
|
0 |
|
2 |
|
{64’b0, 64’b0} |
|
{64’b0, 64’b0} |
|
3 |
|
{64’h8000_0000,64’h1_0000,64’h0} |
|
{64’h4000_0000,64’h10000,64’h1000} |
|
1 |
|
{64’h8000_0000} |
|
{64’h4000_0000} |
|
4 |
|
0 |
|
1 |
|
1 |
|
0 |
|
0 |
|
1 |
|
4 |
|
4 |
|
4 |
|
1 |
|
0 |
|
1 |
|
0 |
|
0 |
|
32 |
|
0 |
|
32 |
|
0 |
|
1 |
|
4 |
|
0 |