mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1437 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1437 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ###########################################
 | |
| ## derivlist.txt
 | |
| ## Wally Derivative Configuration List
 | |
| ##
 | |
| ## Written: David_Harris@hmc.edu, kekim@hmc.edu 
 | |
| ## Created: 29 January 2024
 | |
| ## Modified: 
 | |
| ##
 | |
| ## Purpose: Used by sim/make deriv to generate derivative configurations
 | |
| ##          in config/deriv that are variants of the base configurations.
 | |
| ##
 | |
| ## A component of the CORE-V-WALLY configurable RISC-V project.
 | |
| ## https://github.com/openhwgroup/cvw
 | |
| ##
 | |
| ## Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University
 | |
| ##
 | |
| ## SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
 | |
| ##
 | |
| ## Licensed under the Solderpad Hardware License v 2.1 (the “License”); you may not use this file 
 | |
| ## except in compliance with the License, or, at your option, the Apache License version 2.0. You 
 | |
| ## may obtain a copy of the License at
 | |
| ##
 | |
| ## https:##solderpad.org/licenses/SHL-2.1/
 | |
| ##
 | |
| ## Unless required by applicable law or agreed to in writing, any work distributed under the 
 | |
| ## License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
 | |
| ## either express or implied. See the License for the specific language governing permissions 
 | |
| ## and limitations under the License.
 | |
| ################################################################################################
 | |
| 
 | |
| # Format:
 | |
| # begin a derivative with "deriv <derivative name> <base configuration name> <inherited config name>
 | |
| # Followed by a list of parameters and their new value in the derivative configuration
 | |
| # All other parameter values are inherited from the original configuration
 | |
| # If <inherited config name> is not empty, all the list of parameter changes in the inherited 
 | |
| # configuration are also applied to this configuration
 | |
| 
 | |
| 
 | |
| # buildroot is used for the Linux boot
 | |
| deriv   buildroot   rv64gc
 | |
| RESET_VECTOR    64'h1000
 | |
| UNCORE_RAM_RANGE    64'h0FFFFFFF
 | |
| UNCORE_RAM_PRELOAD  1
 | |
| GPIO_LOOPBACK_TEST  0
 | |
| SPI_LOOPBACK_TEST   0   
 | |
| UART_PRESCALE       32'd0
 | |
| PLIC_NUM_SRC        32'd53
 | |
| 
 | |
| # fpga is used for FPGA hardware.  It adds the SDC and DDR (EXT_MEM)
 | |
| deriv fpga  buildroot 
 | |
| BOOTROM_PRELOAD     1
 | |
| UNCORE_RAM_BASE     64'h2000
 | |
| UNCORE_RAM_RANGE    64'h1FFF
 | |
| BOOTROM_RANGE       64'hFFF
 | |
| EXT_MEM_SUPPORTED   1
 | |
| EXT_MEM_BASE        64'h80000000
 | |
| EXT_MEM_RANGE       64'h7FFFFFFF
 | |
| SDC_SUPPORTED       1
 | |
| PLIC_SDC_ID         32'd20
 | |
| BPRED_SIZE          32'd12
 | |
| 
 | |
| deriv fpgaArtyA7 fpga
 | |
| EXT_MEM_RANGE       64'h0FFFFFFF
 | |
| 
 | |
| deriv fpgavcu108 fpga
 | |
| EXT_MEM_RANGE       64'h7FFFFFFF
 | |
| 
 | |
| # temporary spitest configuration
 | |
| deriv spitest rv64gc
 | |
| UNCORE_RAM_RANGE    64'h0FFFFFFF
 | |
| SPI_LOOPBACK_TEST   1
 | |
| UART_PRESCALE       32'd0
 | |
| PLIC_NUM_SRC        32'd53
 | |
| SDC_SUPPORTED       1
 | |
| PLIC_SDC_ID         32'd20
 | |
| BPRED_SIZE          32'd12
 | |
| 
 | |
| # The syn configurations are trimmed down for faster synthesis.  
 | |
| deriv   syn_rv32e       rv32e
 | |
| DTIM_RANGE              64'h1FF
 | |
| IROM_RANGE              64'h1FF
 | |
| BOOTROM_RANGE           64'h1FF
 | |
| UNCORE_RAM_RANGE        64'h1FF
 | |
| DCACHE_WAYSIZEINBYTES   32'd512
 | |
| ICACHE_WAYSIZEINBYTES   32'd512
 | |
| DCACHE_NUMWAYS          32'd1
 | |
| ICACHE_NUMWAYS          32'd1
 | |
| BPRED_SIZE              32'd5
 | |
| BTB_SIZE                32'd5 
 | |
| 
 | |
| # The other syn configurations have the same trimming
 | |
| deriv syn_rv32i rv32i syn_rv32e
 | |
| deriv syn_rv32imc rv32imc syn_rv32e
 | |
| deriv syn_rv32gc rv32gc syn_rv32e
 | |
| deriv syn_rv64i rv64i syn_rv32e
 | |
| deriv syn_rv64gc rv64gc syn_rv32e
 | |
| 
 | |
| # The syn_sram configurations use SRAM macros
 | |
| deriv   syn_sram_rv32e   rv32e
 | |
| DTIM_RANGE          64'h1FF
 | |
| IROM_RANGE          64'h1FF
 | |
| USE_SRAM            1
 | |
| 
 | |
| # The other syn configurations have the same trimming
 | |
| deriv syn_sram_rv32i rv32i syn_sram_rv32e
 | |
| deriv syn_sram_rv32imc rv32imc syn_sram_rv32e
 | |
| deriv syn_sram_rv32gc rv32gc syn_sram_rv32e
 | |
| deriv syn_sram_rv64i rv64i syn_sram_rv32e
 | |
| deriv syn_sram_rv64gc rv64gc syn_sram_rv32e
 | |
| 
 | |
| # The following syn configurations gradually turn off features
 | |
| deriv syn_rv64gc_pmp0 syn_rv64gc
 | |
| PMP_ENTRIES         32'd0
 | |
| deriv syn_sram_rv64gc_pmp0 syn_sram_rv64gc
 | |
| PMP_ENTRIES         32'd0
 | |
| 
 | |
| deriv syn_rv64gc_noPriv syn_rv64gc_pmp0
 | |
| ZICSR_SUPPORTED     0
 | |
| deriv syn_sram_rv64gc_noPriv syn_sram_rv64gc_pmp0
 | |
| ZICSR_SUPPORTED     0
 | |
| 
 | |
| deriv syn_rv64gc_noFPU syn_rv64gc_noPriv
 | |
| F_SUPPORTED         0
 | |
| ZCF_SUPPORTED       0
 | |
| D_SUPPORTED         0
 | |
| ZCD_SUPPORTED       0
 | |
| 
 | |
| deriv syn_sram_rv64gc_noFPU syn_sram_rv64gc_noPriv
 | |
| F_SUPPORTED         0
 | |
| ZCF_SUPPORTED       0
 | |
| D_SUPPORTED         0
 | |
| ZCD_SUPPORTED       0
 | |
| 
 | |
| deriv syn_rv64gc_noMulDiv syn_rv64gc_noFPU
 | |
| M_SUPPORTED         0
 | |
| ZMMUL_SUPPORTED     0
 | |
| deriv syn_sram_rv64gc_noMulDiv syn_sram_rv64gc_noFPU
 | |
| M_SUPPORTED         0
 | |
| ZMMUL_SUPPORTED     0
 | |
| 
 | |
| deriv syn_rv64gc_noAtomic syn_rv64gc_noMulDiv
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZALRSC_SUPPORTED    0
 | |
| deriv syn_sram_rv64gc_noAtomic syn_sram_rv64gc_noMulDiv
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZALRSC_SUPPORTED    0
 | |
| 
 | |
| # Divider variants to check logical correctness
 | |
| 
 | |
| deriv div_2_1_rv32gc    rv32gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd1
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_2_rv32gc    rv32gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd2
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_4_rv32gc    rv32gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd4
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_4_1_rv32gc    rv32gc
 | |
| RADIX               32'd4
 | |
| DIVCOPIES           32'd1
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_4_2_rv32gc    rv32gc
 | |
| RADIX               32'd4
 | |
| IDIV_ON_FPU         0
 | |
| DIVCOPIES           32'd2
 | |
| 
 | |
| deriv div_4_4_rv32gc    rv32gc
 | |
| RADIX               32'd4
 | |
| DIVCOPIES           32'd4
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_1i_rv32gc div_2_1_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_2_2i_rv32gc div_2_2_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_2_4i_rv32gc div_2_4_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_1i_rv32gc div_4_1_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_2i_rv32gc div_4_2_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_4i_rv32gc div_4_4_rv32gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_2_1_rv64gc    rv64gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd1
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_2_rv64gc    rv64gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd2
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_4_rv64gc    rv64gc
 | |
| RADIX               32'd2
 | |
| DIVCOPIES           32'd4
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_4_1_rv64gc    rv64gc
 | |
| RADIX               32'd4
 | |
| DIVCOPIES           32'd1
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_4_2_rv64gc    rv64gc
 | |
| RADIX               32'd4
 | |
| DIVCOPIES           32'd2
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_4_4_rv64gc    rv64gc
 | |
| RADIX               32'd4
 | |
| DIVCOPIES           32'd4
 | |
| IDIV_ON_FPU         0
 | |
| 
 | |
| deriv div_2_1i_rv64gc div_2_1_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_2_2i_rv64gc div_2_2_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_2_4i_rv64gc div_2_4_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_1i_rv64gc div_4_1_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_2i_rv64gc div_4_2_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| deriv div_4_4i_rv64gc div_4_4_rv64gc
 | |
| IDIV_ON_FPU         1
 | |
| 
 | |
| # RAM latency and Burst mode for bus stress testing
 | |
| 
 | |
| deriv ram_0_0_rv64gc rv64gc
 | |
| RAM_LATENCY         32'd0
 | |
| BURST_EN            0
 | |
| 
 | |
| deriv ram_1_0_rv64gc rv64gc
 | |
| RAM_LATENCY         32'd1
 | |
| BURST_EN            0
 | |
| 
 | |
| deriv ram_2_0_rv64gc rv64gc
 | |
| RAM_LATENCY         32'd2
 | |
| BURST_EN            0
 | |
| 
 | |
| deriv ram_1_1_rv64gc rv64gc
 | |
| RAM_LATENCY         32'd1
 | |
| BURST_EN            1
 | |
| 
 | |
| deriv ram_2_1_rv64gc rv64gc
 | |
| RAM_LATENCY         32'd2
 | |
| BURST_EN            1
 | |
| 
 | |
| # Branch predictor simulations
 | |
| 
 | |
| deriv nobpred_rv32gc rv32gc 
 | |
| BPRED_SUPPORTED     0
 | |
| 
 | |
| deriv bpred_GSHARE_6_16_10_1_rv32gc rv32gc 
 | |
| BPRED_SIZE          32'd6
 | |
| 
 | |
| deriv bpred_GSHARE_8_16_10_1_rv32gc rv32gc
 | |
| BPRED_SIZE          32'd8
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_10_1_rv32gc rv32gc
 | |
| BPRED_SIZE          32'd10
 | |
| 
 | |
| deriv bpred_GSHARE_12_16_10_1_rv32gc rv32gc
 | |
| BPRED_SIZE          32'd12
 | |
| 
 | |
| deriv bpred_GSHARE_14_16_10_1_rv32gc rv32gc
 | |
| BPRED_SIZE          32'd14
 | |
| 
 | |
| deriv bpred_GSHARE_16_16_10_1_rv32gc rv32gc
 | |
| BPRED_SIZE          32'd16
 | |
| 
 | |
| deriv bpred_TWOBIT_6_16_10_1_rv32gc bpred_GSHARE_6_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_TWOBIT_8_16_10_1_rv32gc bpred_GSHARE_8_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_TWOBIT_10_16_10_1_rv32gc bpred_GSHARE_10_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_TWOBIT_12_16_10_1_rv32gc bpred_GSHARE_12_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_TWOBIT_14_16_10_1_rv32gc bpred_GSHARE_14_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_TWOBIT_16_16_10_1_rv32gc bpred_GSHARE_16_16_10_1_rv32gc
 | |
| BPRED_TYPE          `BP_TWOBIT
 | |
| 
 | |
| deriv bpred_GSHARE_10_2_10_1_rv32gc rv32gc
 | |
| RAS_SIZE         32'd2
 | |
| 
 | |
| deriv bpred_GSHARE_10_3_10_1_rv32gc rv32gc
 | |
| RAS_SIZE          32'd3
 | |
| 
 | |
| deriv bpred_GSHARE_10_4_10_1_rv32gc rv32gc
 | |
| RAS_SIZE          32'd4
 | |
| 
 | |
| deriv bpred_GSHARE_10_6_10_1_rv32gc rv32gc
 | |
| RAS_SIZE          32'd6
 | |
| 
 | |
| deriv bpred_GSHARE_10_10_10_1_rv32gc rv32gc
 | |
| RAS_SIZE          32'd10
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_6_1_rv32gc rv32gc
 | |
| BTB_SIZE          32'd6
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_8_1_rv32gc rv32gc
 | |
| BTB_SIZE          32'd8
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_12_1_rv32gc rv32gc
 | |
| BTB_SIZE          32'd12
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_14_1_rv32gc rv32gc
 | |
| BTB_SIZE          32'd14
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_16_1_rv32gc rv32gc
 | |
| BTB_SIZE          32'd16
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| deriv bpred_GSHARE_6_16_10_0_rv32gc bpred_GSHARE_6_16_10_1_rv32gc 
 | |
| INSTR_CLASS_PRED  0
 | |
| 
 | |
| deriv bpred_GSHARE_8_16_10_0_rv32gc bpred_GSHARE_8_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_10_0_rv32gc bpred_GSHARE_10_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_12_16_10_0_rv32gc bpred_GSHARE_12_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_14_16_10_0_rv32gc bpred_GSHARE_14_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_16_16_10_0_rv32gc bpred_GSHARE_16_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_6_16_10_0_rv32gc bpred_TWOBIT_6_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_8_16_10_0_rv32gc bpred_TWOBIT_8_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_10_16_10_0_rv32gc bpred_TWOBIT_10_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_12_16_10_0_rv32gc bpred_TWOBIT_12_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_14_16_10_0_rv32gc bpred_TWOBIT_14_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_TWOBIT_16_16_10_0_rv32gc bpred_TWOBIT_16_16_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_2_10_0_rv32gc bpred_GSHARE_10_2_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_3_10_0_rv32gc bpred_GSHARE_10_3_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_4_10_0_rv32gc bpred_GSHARE_10_4_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_6_10_0_rv32gc bpred_GSHARE_10_6_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_10_10_0_rv32gc bpred_GSHARE_10_10_10_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_6_0_rv32gc bpred_GSHARE_10_16_6_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_8_0_rv32gc bpred_GSHARE_10_16_8_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_12_0_rv32gc bpred_GSHARE_10_16_12_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_14_0_rv32gc bpred_GSHARE_10_16_14_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| deriv bpred_GSHARE_10_16_16_0_rv32gc bpred_GSHARE_10_16_16_1_rv32gc
 | |
| INSTR_CLASS_PRED          0
 | |
| 
 | |
| # Cache configurations
 | |
| 
 | |
| deriv noicache_rv32gc rv32gc
 | |
| ICACHE_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED    0
 | |
| 
 | |
| deriv nodcache_rv32gc rv32gc
 | |
| DCACHE_SUPPORTED    0
 | |
| D_SUPPORTED         0
 | |
| ZCD_SUPPORTED       0
 | |
| ZALRSC_SUPPORTED    0
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZICBOM_SUPPORTED    0
 | |
| ZICBOZ_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED   0
 | |
| 
 | |
| # nocache_rv32gc must also disable several features incompatible with no cache
 | |
| deriv nocache_rv32gc rv32gc
 | |
| ICACHE_SUPPORTED    0
 | |
| DCACHE_SUPPORTED    0
 | |
| D_SUPPORTED         0
 | |
| ZCD_SUPPORTED       0
 | |
| ZALRSC_SUPPORTED    0
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZICBOM_SUPPORTED    0
 | |
| ZICBOZ_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED   0
 | |
| 
 | |
| deriv noicache_rv64gc rv64gc
 | |
| ICACHE_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED    0
 | |
| SVPBMT_SUPPORTED    0
 | |
| SVNAPOT_SUPPORTED   0
 | |
| 
 | |
| deriv nodcache_rv64gc rv64gc
 | |
| DCACHE_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED    0
 | |
| ZICBOM_SUPPORTED    0
 | |
| ZICBOZ_SUPPORTED    0
 | |
| ZICCLSM_SUPPORTED    0
 | |
| SVPBMT_SUPPORTED    0
 | |
| SVNAPOT_SUPPORTED   0
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZALRSC_SUPPORTED    0
 | |
| 
 | |
| deriv nocache_rv64gc rv64gc
 | |
| ICACHE_SUPPORTED    0
 | |
| DCACHE_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED    0
 | |
| ZICBOM_SUPPORTED    0
 | |
| ZICBOZ_SUPPORTED    0
 | |
| ZICCLSM_SUPPORTED    0
 | |
| SVPBMT_SUPPORTED    0
 | |
| SVNAPOT_SUPPORTED   0
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZALRSC_SUPPORTED    0
 | |
| 
 | |
| deriv way_1_4096_512_rv32gc rv32gc
 | |
| DCACHE_NUMWAYS      32'd1
 | |
| DCACHE_WAYSIZEINBYTES 32'd4096
 | |
| DCACHE_LINELENINBITS 32'd512
 | |
| ICACHE_NUMWAYS      32'd1
 | |
| ICACHE_WAYSIZEINBYTES 32'd4096
 | |
| ICACHE_LINELENINBITS 32'd512
 | |
| 
 | |
| deriv way_2_4096_512_rv32gc way_1_4096_512_rv32gc
 | |
| DCACHE_NUMWAYS      32'd1
 | |
| ICACHE_NUMWAYS      32'd1
 | |
| 
 | |
| deriv way_4_4096_512_rv32gc way_1_4096_512_rv32gc
 | |
| DCACHE_NUMWAYS      32'd4
 | |
| ICACHE_NUMWAYS      32'd4
 | |
| 
 | |
| deriv way_8_4096_512_rv32gc way_1_4096_512_rv32gc
 | |
| DCACHE_NUMWAYS      32'd8
 | |
| ICACHE_NUMWAYS      32'd8
 | |
| 
 | |
| deriv way_4_2048_512_rv32gc way_4_4096_512_rv32gc
 | |
| DCACHE_WAYSIZEINBYTES 32'd2048
 | |
| ICACHE_WAYSIZEINBYTES 32'd2048
 | |
| 
 | |
| deriv way_4_4096_256_rv32gc way_4_4096_512_rv32gc
 | |
| DCACHE_LINELENINBITS 32'd256
 | |
| ICACHE_LINELENINBITS 32'd256
 | |
| 
 | |
| deriv way_1_4096_512_rv64gc rv64gc
 | |
| DCACHE_NUMWAYS      32'd1
 | |
| DCACHE_WAYSIZEINBYTES 32'd4096
 | |
| DCACHE_LINELENINBITS 32'd512
 | |
| ICACHE_NUMWAYS      32'd1
 | |
| ICACHE_WAYSIZEINBYTES 32'd4096
 | |
| ICACHE_LINELENINBITS 32'd512
 | |
| 
 | |
| deriv way_2_4096_512_rv64gc way_1_4096_512_rv64gc
 | |
| DCACHE_NUMWAYS      32'd1
 | |
| ICACHE_NUMWAYS      32'd1
 | |
| 
 | |
| deriv way_4_4096_512_rv64gc way_1_4096_512_rv64gc
 | |
| DCACHE_NUMWAYS      32'd4
 | |
| ICACHE_NUMWAYS      32'd4
 | |
| 
 | |
| deriv way_8_4096_512_rv64gc way_1_4096_512_rv64gc
 | |
| DCACHE_NUMWAYS      32'd8
 | |
| ICACHE_NUMWAYS      32'd8
 | |
| 
 | |
| deriv way_4_2048_512_rv64gc way_4_4096_512_rv64gc
 | |
| DCACHE_WAYSIZEINBYTES 32'd2048
 | |
| ICACHE_WAYSIZEINBYTES 32'd2048
 | |
| 
 | |
| deriv way_4_4096_256_rv64gc way_4_4096_512_rv64gc
 | |
| DCACHE_LINELENINBITS 32'd256
 | |
| ICACHE_LINELENINBITS 32'd256
 | |
| 
 | |
| deriv way_4_4096_1024_rv64gc way_4_4096_512_rv64gc
 | |
| DCACHE_LINELENINBITS 32'd1024
 | |
| ICACHE_LINELENINBITS 32'd1024
 | |
| 
 | |
| # TLB Size variants
 | |
| 
 | |
| deriv tlb2_rv32gc rv32gc
 | |
| ITLB_ENTRIES 32'd2
 | |
| DTLB_ENTRIES 32'd2
 | |
| 
 | |
| deriv tlb16_rv32gc rv32gc
 | |
| ITLB_ENTRIES 32'd16
 | |
| DTLB_ENTRIES 32'd16
 | |
| 
 | |
| deriv tlb2_rv64gc rv64gc
 | |
| ITLB_ENTRIES 32'd2
 | |
| DTLB_ENTRIES 32'd2
 | |
| 
 | |
| deriv tlb16_rv64gc rv64gc
 | |
| ITLB_ENTRIES 32'd16
 | |
| DTLB_ENTRIES 32'd16
 | |
| 
 | |
| # Feature variants
 | |
| 
 | |
| deriv misaligned_rv32gc rv32gc
 | |
| ZICCLSM_SUPPORTED 1
 | |
| 
 | |
| deriv nomisaligned_rv64gc rv64gc
 | |
| ZICCLSM_SUPPORTED 0
 | |
| 
 | |
| deriv nobigendian_rv32gc rv32gc
 | |
| BIGENDIAN_SUPPORTED 0
 | |
| 
 | |
| deriv nobigendian_rv64gc rv64gc
 | |
| BIGENDIAN_SUPPORTED 0
 | |
| 
 | |
| deriv zaamo_rv32gc rv32gc
 | |
| ZALRSC_SUPPORTED    0
 | |
| 
 | |
| deriv zalrsc_rv32gc rv32gc
 | |
| ZAAMO_SUPPORTED     0
 | |
| 
 | |
| deriv zaamo_rv64gc rv64gc
 | |
| ZALRSC_SUPPORTED    0
 | |
| 
 | |
| deriv zalrsc_rv64gc rv64gc
 | |
| ZAAMO_SUPPORTED     0
 | |
| 
 | |
| deriv zba_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     1     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbb_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     1     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbc_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     1     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbs_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     1     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkb_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     1     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkc_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     1     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkx_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     1     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zknd_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     1     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zkne_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     1     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zknh_rv32gc rv32gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     1     
 | |
| 
 | |
| deriv zba_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     1     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbb_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     1     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbc_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     1     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbs_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     1     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkb_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     1     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkc_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     1     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zbkx_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     1     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zknd_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     1     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zkne_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     1     
 | |
| ZKNH_SUPPORTED     0     
 | |
| 
 | |
| deriv zknh_rv64gc rv64gc
 | |
| ZBA_SUPPORTED     0     
 | |
| ZBB_SUPPORTED     0     
 | |
| ZBS_SUPPORTED     0     
 | |
| ZBC_SUPPORTED     0     
 | |
| ZBKB_SUPPORTED     0     
 | |
| ZBKC_SUPPORTED     0     
 | |
| ZBKX_SUPPORTED     0     
 | |
| ZKND_SUPPORTED     0     
 | |
| ZKNE_SUPPORTED     0     
 | |
| ZKNH_SUPPORTED     1     
 | |
| 
 | |
| deriv noS_rv32gc rv32gc
 | |
| S_SUPPORTED        0
 | |
| SSTC_SUPPORTED     0
 | |
| VIRTMEM_SUPPORTED  0
 | |
| SVINVAL_SUPPORTED  0
 | |
| SVADU_SUPPORTED    0
 | |
| 
 | |
| deriv noS_rv64gc rv64gc
 | |
| S_SUPPORTED       0
 | |
| SSTC_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED 0
 | |
| SVPBMT_SUPPORTED  0
 | |
| SVNAPOT_SUPPORTED 0
 | |
| SVINVAL_SUPPORTED 0
 | |
| SVADU_SUPPORTED   0
 | |
| 
 | |
| deriv noU_rv32gc noS_rv32gc
 | |
| U_SUPPORTED    0
 | |
| 
 | |
| deriv noU_rv64gc noS_rv64gc
 | |
| U_SUPPORTED    0
 | |
| 
 | |
| # Floating-point modes supported
 | |
| 
 | |
| deriv f_rv32gc rv32gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| ZCD_SUPPORTED   0
 | |
| 
 | |
| deriv fh_rv32gc rv32gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| ZCD_SUPPORTED   0
 | |
| 
 | |
| deriv fd_rv32gc rv32gc
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdh_rv32gc rv32gc
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdq_rv32gc rv32gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdqh_rv32gc rv32gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv f_rv64gc rv64gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| ZCD_SUPPORTED   0
 | |
| 
 | |
| deriv fh_rv64gc rv64gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| ZCD_SUPPORTED   0
 | |
| 
 | |
| deriv fd_rv64gc rv64gc
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdh_rv64gc rv64gc
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdq_rv64gc rv64gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdqh_rv64gc rv64gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| #### MORE DIVIDER variants
 | |
| 
 | |
| #### F_only, RK variable
 | |
| deriv f_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv f_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| 
 | |
| #### FH_only, RK variable
 | |
| deriv fh_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fh_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| D_SUPPORTED     0
 | |
| ZCD_SUPPORTED   0
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| # FD only , rk variable
 | |
| 
 | |
| deriv fd_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fd_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| 
 | |
| # FDH only , rk variable
 | |
| 
 | |
| deriv fdh_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdh_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| # FDQ only , rk variable
 | |
| 
 | |
| deriv fdq_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| deriv fdq_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   0
 | |
| 
 | |
| # FDQH only , rk variable
 | |
| 
 | |
| deriv fdqh_div_2_1_rv32gc    div_2_1_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_2_2_rv32gc    div_2_2_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_2_4_rv32gc    div_2_4_rv32gc
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_1_rv32gc    div_4_1_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_2_rv32gc    div_4_2_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_4_rv32gc    div_4_4_rv32gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_2_1_rv64gc    div_2_1_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_2_2_rv64gc    div_2_2_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_2_4_rv64gc    div_2_4_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_1_rv64gc    div_4_1_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_2_rv64gc    div_4_2_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| deriv fdqh_div_4_4_rv64gc    div_4_4_rv64gc    
 | |
| Q_SUPPORTED     1
 | |
| ZFH_SUPPORTED   1
 | |
| 
 | |
| #### DIVIDER VARIANTS WITH IDIV ON FPU
 | |
| 
 | |
| deriv f_div_2_1i_rv32gc f_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_2_2i_rv32gc f_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_2_4i_rv32gc f_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_1i_rv32gc f_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_2i_rv32gc f_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_4i_rv32gc f_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_2_1i_rv64gc f_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_2_2i_rv64gc f_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_2_4i_rv64gc f_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_1i_rv64gc f_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_2i_rv64gc f_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv f_div_4_4i_rv64gc f_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| #### FH_only, RK variable
 | |
| deriv fh_div_2_1i_rv32gc fh_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_2_2i_rv32gc fh_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_2_4i_rv32gc fh_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_1i_rv32gc fh_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_2i_rv32gc fh_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_4i_rv32gc fh_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_2_1i_rv64gc fh_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_2_2i_rv64gc fh_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_2_4i_rv64gc fh_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_1i_rv64gc fh_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_2i_rv64gc fh_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fh_div_4_4i_rv64gc fh_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| # FD only , rk variable
 | |
| 
 | |
| deriv fd_div_2_1i_rv32gc fd_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_2_2i_rv32gc fd_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_2_4i_rv32gc fd_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_1i_rv32gc fd_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_2i_rv32gc fd_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_4i_rv32gc fd_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_2_1i_rv64gc fd_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_2_2i_rv64gc fd_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_2_4i_rv64gc fd_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_1i_rv64gc fd_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_2i_rv64gc fd_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fd_div_4_4i_rv64gc fd_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| # FDH only , rk variable
 | |
| 
 | |
| deriv fdh_div_2_1i_rv32gc fdh_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_2_2i_rv32gc fdh_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_2_4i_rv32gc fdh_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_1i_rv32gc fdh_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_2i_rv32gc fdh_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_4i_rv32gc fdh_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_2_1i_rv64gc fdh_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_2_2i_rv64gc fdh_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_2_4i_rv64gc fdh_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_1i_rv64gc fdh_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_2i_rv64gc fdh_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdh_div_4_4i_rv64gc fdh_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| # FDQ only , rk variable
 | |
| 
 | |
| deriv fdq_div_2_1i_rv32gc fdq_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_2_2i_rv32gc fdq_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_2_4i_rv32gc fdq_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_1i_rv32gc fdq_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_2i_rv32gc fdq_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_4i_rv32gc fdq_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_2_1i_rv64gc fdq_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_2_2i_rv64gc fdq_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_2_4i_rv64gc fdq_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_1i_rv64gc fdq_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_2i_rv64gc fdq_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdq_div_4_4i_rv64gc fdq_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| # FDQH only , rk variable
 | |
| 
 | |
| deriv fdqh_div_2_1i_rv32gc fdqh_div_2_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_2_2i_rv32gc fdqh_div_2_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_2_4i_rv32gc fdqh_div_2_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_1i_rv32gc fdqh_div_4_1_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_2i_rv32gc fdqh_div_4_2_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_4i_rv32gc fdqh_div_4_4_rv32gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_2_1i_rv64gc fdqh_div_2_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_2_2i_rv64gc fdqh_div_2_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_2_4i_rv64gc fdqh_div_2_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_1i_rv64gc fdqh_div_4_1_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_2i_rv64gc fdqh_div_4_2_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| deriv fdqh_div_4_4i_rv64gc fdqh_div_4_4_rv64gc
 | |
| IDIV_ON_FPU     1
 | |
| 
 | |
| # imperas used for a smart memory
 | |
| # VCS doesn't like removing the bootrom, but make it tiny in a random unused location
 | |
| derive ImperasTG rv64gc
 | |
| ICACHE_SUPPORTED    0
 | |
| DCACHE_SUPPORTED    0
 | |
| VIRTMEM_SUPPORTED   0
 | |
| ZICCLSM_SUPPORTED   0
 | |
| ZAAMO_SUPPORTED     0
 | |
| ZALRSC_SUPPORTED    0
 | |
| ZICBOM_SUPPORTED    0
 | |
| ZICBOZ_SUPPORTED    0
 | |
| SVPBMT_SUPPORTED    0
 | |
| SVNAPOT_SUPPORTED   0
 | |
| BOOTROM_BASE        64'h700012340080
 | |
| BOOTROM_RANGE       64'h10
 | |
| CLINT_SUPPORTED     0
 | |
| GPIO_SUPPORTED      0
 | |
| UART_SUPPORTED      0
 | |
| PLIC_SUPPORTED      0
 | |
| SPI_SUPPORTED       0
 | |
| 
 | |
| 
 | |
| 
 |