mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Update cvw.sv
Program clean up
This commit is contained in:
parent
e9cfbd95f4
commit
e3f8280ff9
105
src/wally/cvw.sv
105
src/wally/cvw.sv
@ -68,31 +68,31 @@ typedef struct packed {
|
|||||||
logic ICACHE_SUPPORTED;
|
logic ICACHE_SUPPORTED;
|
||||||
|
|
||||||
// TLB configuration. Entries should be a power of 2
|
// TLB configuration. Entries should be a power of 2
|
||||||
int ITLB_ENTRIES;
|
int ITLB_ENTRIES;
|
||||||
int DTLB_ENTRIES;
|
int DTLB_ENTRIES;
|
||||||
|
|
||||||
// Cache configuration. Sizes should be a power of two
|
// Cache configuration. Sizes should be a power of two
|
||||||
// typical configuration 4 ways, 4096 ints per way, 256 bit or more lines
|
// typical configuration 4 ways, 4096 ints per way, 256 bit or more lines
|
||||||
int DCACHE_NUMWAYS;
|
int DCACHE_NUMWAYS;
|
||||||
int DCACHE_WAYSIZEINBYTES;
|
int DCACHE_WAYSIZEINBYTES;
|
||||||
int DCACHE_LINELENINBITS;
|
int DCACHE_LINELENINBITS;
|
||||||
int ICACHE_NUMWAYS;
|
int ICACHE_NUMWAYS;
|
||||||
int ICACHE_WAYSIZEINBYTES;
|
int ICACHE_WAYSIZEINBYTES;
|
||||||
int ICACHE_LINELENINBITS;
|
int ICACHE_LINELENINBITS;
|
||||||
|
|
||||||
// Integer Divider Configuration
|
// Integer Divider Configuration
|
||||||
// IDIV_BITSPERCYCLE must be 1, 2, or 4
|
// IDIV_BITSPERCYCLE must be 1, 2, or 4
|
||||||
int IDIV_BITSPERCYCLE;
|
int IDIV_BITSPERCYCLE;
|
||||||
logic IDIV_ON_FPU;
|
logic IDIV_ON_FPU;
|
||||||
|
|
||||||
// Legal number of PMP entries are 0, 16, or 64
|
// Legal number of PMP entries are 0, 16, or 64
|
||||||
int PMP_ENTRIES;
|
int PMP_ENTRIES;
|
||||||
|
|
||||||
// Address space
|
// Address space
|
||||||
logic [63:0] RESET_VECTOR;
|
logic [63:0] RESET_VECTOR;
|
||||||
|
|
||||||
// WFI Timeout Wait
|
// WFI Timeout Wait
|
||||||
int WFI_TIMEOUT_BIT;
|
int WFI_TIMEOUT_BIT;
|
||||||
|
|
||||||
// Peripheral Addresses
|
// Peripheral Addresses
|
||||||
// Peripheral memory space extends from BASE to BASE+RANGE
|
// Peripheral memory space extends from BASE to BASE+RANGE
|
||||||
@ -134,24 +134,23 @@ typedef struct packed {
|
|||||||
logic GPIO_LOOPBACK_TEST;
|
logic GPIO_LOOPBACK_TEST;
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
int UART_PRESCALE ;
|
int UART_PRESCALE ;
|
||||||
|
|
||||||
// Interrupt configuration
|
// Interrupt configuration
|
||||||
int PLIC_NUM_SRC;
|
int PLIC_NUM_SRC;
|
||||||
logic PLIC_NUM_SRC_LT_32;
|
logic PLIC_NUM_SRC_LT_32;
|
||||||
int PLIC_GPIO_ID;
|
int PLIC_GPIO_ID;
|
||||||
int PLIC_UART_ID;
|
int PLIC_UART_ID;
|
||||||
|
|
||||||
logic BPRED_SUPPORTED;
|
|
||||||
BranchPredictorType BPRED_TYPE;
|
|
||||||
int BPRED_NUM_LHR;
|
|
||||||
int BPRED_SIZE;
|
|
||||||
int BTB_SIZE;
|
|
||||||
|
|
||||||
|
logic BPRED_SUPPORTED;
|
||||||
|
BranchPredictorType BPRED_TYPE;
|
||||||
|
int BPRED_NUM_LHR;
|
||||||
|
int BPRED_SIZE;
|
||||||
|
int BTB_SIZE;
|
||||||
|
|
||||||
// FPU division architecture
|
// FPU division architecture
|
||||||
int RADIX;
|
int RADIX;
|
||||||
int DIVCOPIES;
|
int DIVCOPIES;
|
||||||
|
|
||||||
// bit manipulation
|
// bit manipulation
|
||||||
logic ZBA_SUPPORTED;
|
logic ZBA_SUPPORTED;
|
||||||
@ -204,47 +203,47 @@ typedef struct packed {
|
|||||||
int PMPCFG_ENTRIES;
|
int PMPCFG_ENTRIES;
|
||||||
|
|
||||||
// Floating point constants for Quad, Double, Single, and Half precisions
|
// Floating point constants for Quad, Double, Single, and Half precisions
|
||||||
int Q_LEN;
|
int Q_LEN;
|
||||||
int Q_NE;
|
int Q_NE;
|
||||||
int Q_NF;
|
int Q_NF;
|
||||||
int Q_BIAS;
|
int Q_BIAS;
|
||||||
logic [1:0] Q_FMT;
|
logic [1:0] Q_FMT;
|
||||||
int D_LEN;
|
int D_LEN;
|
||||||
int D_NE;
|
int D_NE;
|
||||||
int D_NF;
|
int D_NF;
|
||||||
int D_BIAS;
|
int D_BIAS;
|
||||||
logic [1:0] D_FMT;
|
logic [1:0] D_FMT;
|
||||||
int S_LEN;
|
int S_LEN;
|
||||||
int S_NE;
|
int S_NE;
|
||||||
int S_NF;
|
int S_NF;
|
||||||
int S_BIAS;
|
int S_BIAS;
|
||||||
logic [1:0] S_FMT;
|
logic [1:0] S_FMT;
|
||||||
int H_LEN;
|
int H_LEN;
|
||||||
int H_NE;
|
int H_NE;
|
||||||
int H_NF;
|
int H_NF;
|
||||||
int H_BIAS;
|
int H_BIAS;
|
||||||
logic [1:0] H_FMT;
|
logic [1:0] H_FMT;
|
||||||
|
|
||||||
// Floating point length FLEN and number of exponent (NE) and fraction (NF) bits
|
// Floating point length FLEN and number of exponent (NE) and fraction (NF) bits
|
||||||
int FLEN;
|
int FLEN;
|
||||||
int NE ;
|
int NE ;
|
||||||
int NF ;
|
int NF ;
|
||||||
logic [1:0] FMT ;
|
logic [1:0] FMT ;
|
||||||
int BIAS;
|
int BIAS;
|
||||||
|
|
||||||
// Floating point constants needed for FPU paramerterization
|
// Floating point constants needed for FPU paramerterization
|
||||||
int FPSIZES;
|
int FPSIZES;
|
||||||
int FMTBITS;
|
int FMTBITS;
|
||||||
int LEN1 ;
|
int LEN1 ;
|
||||||
int NE1 ;
|
int NE1 ;
|
||||||
int NF1 ;
|
int NF1 ;
|
||||||
logic [1:0] FMT1 ;
|
logic [1:0] FMT1 ;
|
||||||
int BIAS1;
|
int BIAS1;
|
||||||
int LEN2 ;
|
int LEN2 ;
|
||||||
int NE2 ;
|
int NE2 ;
|
||||||
int NF2 ;
|
int NF2 ;
|
||||||
logic [1:0] FMT2 ;
|
logic [1:0] FMT2 ;
|
||||||
int BIAS2;
|
int BIAS2;
|
||||||
|
|
||||||
// largest length in IEU/FPU
|
// largest length in IEU/FPU
|
||||||
int CVTLEN;
|
int CVTLEN;
|
||||||
@ -256,7 +255,7 @@ typedef struct packed {
|
|||||||
|
|
||||||
// division constants
|
// division constants
|
||||||
int DIVN ;
|
int DIVN ;
|
||||||
int LOGR;
|
int LOGR ;
|
||||||
int RK ;
|
int RK ;
|
||||||
int LOGRK ;
|
int LOGRK ;
|
||||||
int FPDUR ;
|
int FPDUR ;
|
||||||
|
Loading…
Reference in New Issue
Block a user