mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Added git submodule for the flash card in addins. Replicated flash card top level for our changes into the fpga/src directory.
		
			
				
	
	
		
			178 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
| 
 | |
| // Populate parameter structure with values specific to the current configuration
 | |
| 
 | |
| `include "BranchPredictorType.vh"
 | |
| 
 | |
| parameter cvw_t P = '{ 
 | |
|   FPGA :                 FPGA,  
 | |
|   XLEN :                 XLEN,  
 | |
|   IEEE754 :              IEEE754, 
 | |
|   MISA :                 MISA, 
 | |
|   AHBW :                 AHBW, 
 | |
|   ZICSR_SUPPORTED :      ZICSR_SUPPORTED,
 | |
|   ZIFENCEI_SUPPORTED :   ZIFENCEI_SUPPORTED,
 | |
|   COUNTERS :             COUNTERS,
 | |
|   ZICNTR_SUPPORTED :     ZICNTR_SUPPORTED,
 | |
|   ZIHPM_SUPPORTED :      ZIHPM_SUPPORTED,
 | |
|   ZFH_SUPPORTED :        ZFH_SUPPORTED,
 | |
|   SSTC_SUPPORTED :       SSTC_SUPPORTED,
 | |
|   VIRTMEM_SUPPORTED :    VIRTMEM_SUPPORTED,
 | |
|   VECTORED_INTERRUPTS_SUPPORTED : VECTORED_INTERRUPTS_SUPPORTED,
 | |
|   BIGENDIAN_SUPPORTED :  BIGENDIAN_SUPPORTED,
 | |
|   SVADU_SUPPORTED :      SVADU_SUPPORTED,
 | |
|   ZMMUL_SUPPORTED :      ZMMUL_SUPPORTED,
 | |
|   ZICBOM_SUPPORTED :     ZICBOM_SUPPORTED,
 | |
|   ZICBOZ_SUPPORTED :     ZICBOZ_SUPPORTED,
 | |
|   ZICBOP_SUPPORTED :     ZICBOP_SUPPORTED,
 | |
|   SVPBMT_SUPPORTED :     SVPBMT_SUPPORTED,
 | |
|   SVINVAL_SUPPORTED :    SVINVAL_SUPPORTED,
 | |
|   BUS_SUPPORTED :        BUS_SUPPORTED,
 | |
|   DCACHE_SUPPORTED :     DCACHE_SUPPORTED,
 | |
|   ICACHE_SUPPORTED :     ICACHE_SUPPORTED,
 | |
|   ITLB_ENTRIES :         ITLB_ENTRIES,
 | |
|   DTLB_ENTRIES :         DTLB_ENTRIES,
 | |
|   DCACHE_NUMWAYS :       DCACHE_NUMWAYS,
 | |
|   DCACHE_WAYSIZEINBYTES :        DCACHE_WAYSIZEINBYTES,
 | |
|   DCACHE_LINELENINBITS :        DCACHE_LINELENINBITS,
 | |
|   ICACHE_NUMWAYS :        ICACHE_NUMWAYS,
 | |
|   ICACHE_WAYSIZEINBYTES :        ICACHE_WAYSIZEINBYTES,
 | |
|   ICACHE_LINELENINBITS :        ICACHE_LINELENINBITS,
 | |
|   IDIV_BITSPERCYCLE :        IDIV_BITSPERCYCLE,
 | |
|   IDIV_ON_FPU :        IDIV_ON_FPU,
 | |
|   PMP_ENTRIES :        PMP_ENTRIES,
 | |
|   RESET_VECTOR :        RESET_VECTOR,
 | |
|   WFI_TIMEOUT_BIT :        WFI_TIMEOUT_BIT,
 | |
|   DTIM_SUPPORTED :        DTIM_SUPPORTED,
 | |
|   DTIM_BASE :        DTIM_BASE,
 | |
|   DTIM_RANGE :        DTIM_RANGE,
 | |
|   IROM_SUPPORTED :        IROM_SUPPORTED,
 | |
|   IROM_BASE :        IROM_BASE,
 | |
|   IROM_RANGE :        IROM_RANGE,
 | |
|   BOOTROM_SUPPORTED :        BOOTROM_SUPPORTED,
 | |
|   BOOTROM_BASE :        BOOTROM_BASE,
 | |
|   BOOTROM_RANGE :        BOOTROM_RANGE,
 | |
|   UNCORE_RAM_SUPPORTED :        UNCORE_RAM_SUPPORTED,
 | |
|   UNCORE_RAM_BASE :        UNCORE_RAM_BASE,
 | |
|   UNCORE_RAM_RANGE :        UNCORE_RAM_RANGE,
 | |
|   EXT_MEM_SUPPORTED :        EXT_MEM_SUPPORTED,
 | |
|   EXT_MEM_BASE :        EXT_MEM_BASE,
 | |
|   EXT_MEM_RANGE :        EXT_MEM_RANGE,
 | |
|   CLINT_SUPPORTED :        CLINT_SUPPORTED,
 | |
|   CLINT_BASE :        CLINT_BASE,
 | |
|   CLINT_RANGE :        CLINT_RANGE,
 | |
|   GPIO_SUPPORTED :        GPIO_SUPPORTED,
 | |
|   GPIO_BASE :        GPIO_BASE,
 | |
|   GPIO_RANGE :        GPIO_RANGE,
 | |
|   UART_SUPPORTED :        UART_SUPPORTED,
 | |
|   UART_BASE :        UART_BASE,
 | |
|   UART_RANGE :        UART_RANGE,
 | |
|   PLIC_SUPPORTED :        PLIC_SUPPORTED,
 | |
|   PLIC_BASE :        PLIC_BASE,
 | |
|   PLIC_RANGE :        PLIC_RANGE,
 | |
|   SDC_SUPPORTED :        SDC_SUPPORTED,
 | |
|   SDC_BASE :        SDC_BASE,
 | |
|   SDC_RANGE :        SDC_RANGE,
 | |
|   GPIO_LOOPBACK_TEST :        GPIO_LOOPBACK_TEST,
 | |
|   UART_PRESCALE :        UART_PRESCALE ,
 | |
|   PLIC_NUM_SRC :        PLIC_NUM_SRC,
 | |
|   PLIC_NUM_SRC_LT_32 :        PLIC_NUM_SRC_LT_32,
 | |
|   PLIC_GPIO_ID :        PLIC_GPIO_ID,
 | |
|   PLIC_UART_ID :        PLIC_UART_ID,
 | |
|   PLIC_SDC_ID :        PLIC_SDC_ID,
 | |
|   BPRED_SUPPORTED :        BPRED_SUPPORTED,
 | |
|                        /* verilator lint_off ENUMVALUE */
 | |
|                        // *** definitely need to fix this.
 | |
|                        // it thinks we are casting from the enum type to BPRED_TYPE.
 | |
|   BPRED_TYPE :        BPRED_TYPE,
 | |
|                        /* verilator lint_on ENUMVALUE */
 | |
|   BPRED_SIZE :        BPRED_SIZE,
 | |
|   BPRED_NUM_LHR : BPRED_NUM_LHR,                       
 | |
|   BTB_SIZE :        BTB_SIZE,
 | |
|   RADIX :        RADIX,
 | |
|   DIVCOPIES :        DIVCOPIES,
 | |
|   ZBA_SUPPORTED :        ZBA_SUPPORTED,
 | |
|   ZBB_SUPPORTED :        ZBB_SUPPORTED,
 | |
|   ZBC_SUPPORTED :        ZBC_SUPPORTED,
 | |
|   ZBS_SUPPORTED :        ZBS_SUPPORTED,
 | |
|   USE_SRAM :        USE_SRAM,
 | |
|   M_MODE  : M_MODE, 
 | |
|   S_MODE  : S_MODE, 
 | |
|   U_MODE  : U_MODE, 
 | |
|   VPN_SEGMENT_BITS : VPN_SEGMENT_BITS,
 | |
|   VPN_BITS : VPN_BITS,
 | |
|   PPN_BITS : PPN_BITS,
 | |
|   PA_BITS : PA_BITS,
 | |
|   SVMODE_BITS : SVMODE_BITS,
 | |
|   ASID_BASE : ASID_BASE,
 | |
|   ASID_BITS : ASID_BITS,
 | |
|   NO_TRANSLATE : NO_TRANSLATE,
 | |
|   SV32 : SV32,
 | |
|   SV39 : SV39,
 | |
|   SV48 : SV48,
 | |
|   A_SUPPORTED : A_SUPPORTED,
 | |
|   B_SUPPORTED : B_SUPPORTED,
 | |
|   C_SUPPORTED : C_SUPPORTED,
 | |
|   D_SUPPORTED : D_SUPPORTED,
 | |
|   E_SUPPORTED : E_SUPPORTED,
 | |
|   F_SUPPORTED : F_SUPPORTED,
 | |
|   I_SUPPORTED : I_SUPPORTED,
 | |
|   M_SUPPORTED : M_SUPPORTED,
 | |
|   Q_SUPPORTED : Q_SUPPORTED,
 | |
|   S_SUPPORTED : S_SUPPORTED,
 | |
|   U_SUPPORTED : U_SUPPORTED,
 | |
|   LOG_XLEN : LOG_XLEN,
 | |
|   PMPCFG_ENTRIES : PMPCFG_ENTRIES,
 | |
|   Q_LEN : Q_LEN,
 | |
|   Q_NE : Q_NE,
 | |
|   Q_NF : Q_NF,
 | |
|   Q_BIAS : Q_BIAS,
 | |
|   Q_FMT : Q_FMT,
 | |
|   D_LEN : D_LEN,
 | |
|   D_NE : D_NE,
 | |
|   D_NF : D_NF,
 | |
|   D_BIAS : D_BIAS,
 | |
|   D_FMT : D_FMT,
 | |
|   S_LEN : S_LEN,
 | |
|   S_NE : S_NE,
 | |
|   S_NF : S_NF,
 | |
|   S_BIAS : S_BIAS,
 | |
|   S_FMT : S_FMT,
 | |
|   H_LEN : H_LEN,
 | |
|   H_NE : H_NE,
 | |
|   H_NF : H_NF,
 | |
|   H_BIAS : H_BIAS,
 | |
|   H_FMT : H_FMT,
 | |
|   FLEN : FLEN,
 | |
|   NE   : NE  ,
 | |
|   NF   : NF  ,
 | |
|   FMT  : FMT ,
 | |
|   BIAS : BIAS,
 | |
|   FPSIZES : FPSIZES,
 | |
|   FMTBITS : FMTBITS,
 | |
|   LEN1  : LEN1 ,
 | |
|   NE1   : NE1  ,
 | |
|   NF1   : NF1  ,
 | |
|   FMT1  : FMT1 ,
 | |
|   BIAS1 : BIAS1,
 | |
|   LEN2  : LEN2 ,
 | |
|   NE2   : NE2  ,
 | |
|   NF2   : NF2  ,
 | |
|   FMT2  : FMT2 ,
 | |
|   BIAS2 : BIAS2,
 | |
|   CVTLEN : CVTLEN,
 | |
|   LLEN : LLEN,
 | |
|   LOGCVTLEN : LOGCVTLEN,
 | |
|   NORMSHIFTSZ : NORMSHIFTSZ,
 | |
|   LOGNORMSHIFTSZ : LOGNORMSHIFTSZ,
 | |
|   CORRSHIFTSZ : CORRSHIFTSZ,
 | |
|   DIVN        : DIVN,
 | |
|   LOGR        : LOGR,
 | |
|   RK          : RK,
 | |
|   LOGRK       : LOGRK,
 | |
|   FPDUR       : FPDUR,
 | |
|   DURLEN      : DURLEN,
 | |
|   DIVb        : DIVb,
 | |
|   DIVBLEN     : DIVBLEN,
 | |
|   DIVa        : DIVa
 | |
| };
 |