2019-01-10 11:58:13 +01:00
|
|
|
import "RV32I.core_desc"
|
|
|
|
import "RV64I.core_desc"
|
|
|
|
import "RVM.core_desc"
|
|
|
|
import "RVA.core_desc"
|
|
|
|
import "RVC.core_desc"
|
|
|
|
import "RVF.core_desc"
|
|
|
|
import "RVD.core_desc"
|
2017-08-27 12:10:38 +02:00
|
|
|
|
2020-01-12 18:19:48 +01:00
|
|
|
Core MNRV32 provides RV32I, RV32IC {
|
2020-01-09 19:37:17 +01:00
|
|
|
constants {
|
|
|
|
XLEN:=32;
|
|
|
|
PCLEN:=32;
|
|
|
|
// definitions for the architecture wrapper
|
|
|
|
// XL ZYXWVUTSRQPONMLKJIHGFEDCBA
|
|
|
|
MISA_VAL:=0b01000000000101000001000100000101;
|
|
|
|
PGSIZE := 0x1000; //1 << 12;
|
|
|
|
PGMASK := 0xfff; //PGSIZE-1
|
|
|
|
}
|
|
|
|
}
|
2020-05-30 11:27:44 +02:00
|
|
|
|
2019-01-10 11:58:13 +01:00
|
|
|
Core RV32IMAC provides RV32I, RV32M, RV32A, RV32IC {
|
2017-08-27 12:10:38 +02:00
|
|
|
constants {
|
|
|
|
XLEN:=32;
|
|
|
|
PCLEN:=32;
|
2020-05-31 16:41:04 +02:00
|
|
|
MUL_LEN:=64;
|
2018-04-24 17:18:24 +02:00
|
|
|
// definitions for the architecture wrapper
|
2017-08-27 12:10:38 +02:00
|
|
|
// XL ZYXWVUTSRQPONMLKJIHGFEDCBA
|
2018-04-24 17:18:24 +02:00
|
|
|
MISA_VAL:=0b01000000000101000001000100000101;
|
2018-04-30 19:22:00 +02:00
|
|
|
PGSIZE := 0x1000; //1 << 12;
|
|
|
|
PGMASK := 0xfff; //PGSIZE-1
|
2017-08-27 12:10:38 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-10 11:58:13 +01:00
|
|
|
Core RV32GC provides RV32I, RV32M, RV32A, RV32F, RV32D, RV32IC, RV32FC, RV32DC {
|
2018-04-24 11:05:11 +02:00
|
|
|
constants {
|
|
|
|
XLEN:=32;
|
2018-04-24 15:33:21 +02:00
|
|
|
FLEN:=64;
|
2018-04-24 11:05:11 +02:00
|
|
|
PCLEN:=32;
|
2020-05-31 16:41:04 +02:00
|
|
|
MUL_LEN:=64;
|
2018-04-24 17:18:24 +02:00
|
|
|
// definitions for the architecture wrapper
|
2018-04-24 11:05:11 +02:00
|
|
|
// XL ZYXWVUTSRQPONMLKJIHGFEDCBA
|
2018-04-24 17:18:24 +02:00
|
|
|
MISA_VAL:=0b01000000000101000001000100101101;
|
2018-04-30 19:22:00 +02:00
|
|
|
PGSIZE := 0x1000; //1 << 12;
|
|
|
|
PGMASK := 0xfff; //PGSIZE-1
|
2018-04-24 11:05:11 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-10 11:58:13 +01:00
|
|
|
Core RV64I provides RV64I {
|
2019-01-10 11:35:20 +01:00
|
|
|
constants {
|
|
|
|
XLEN:=64;
|
|
|
|
PCLEN:=64;
|
|
|
|
// definitions for the architecture wrapper
|
|
|
|
// XL ZYXWVUTSRQPONMLKJIHGFEDCBA
|
|
|
|
MISA_VAL:=0b10000000000001000000000100000000;
|
|
|
|
PGSIZE := 0x1000; //1 << 12;
|
|
|
|
PGMASK := 0xfff; //PGSIZE-1
|
|
|
|
}
|
|
|
|
}
|
2017-09-21 13:13:01 +02:00
|
|
|
|
2019-01-10 11:58:13 +01:00
|
|
|
Core RV64GC provides RV64I, RV64M, RV64A, RV64F, RV64D, RV64IC, RV32FC, RV32DC {
|
2017-08-27 12:10:38 +02:00
|
|
|
constants {
|
|
|
|
XLEN:=64;
|
2019-01-10 11:35:20 +01:00
|
|
|
FLEN:=64;
|
2017-08-27 12:10:38 +02:00
|
|
|
PCLEN:=64;
|
2020-05-31 16:41:04 +02:00
|
|
|
MUL_LEN:=128;
|
2018-04-24 17:18:24 +02:00
|
|
|
// definitions for the architecture wrapper
|
2017-09-21 13:13:01 +02:00
|
|
|
// XL ZYXWVUTSRQPONMLKJIHGFEDCBA
|
2019-01-10 11:35:20 +01:00
|
|
|
MISA_VAL:=0b01000000000101000001000100101101;
|
2018-04-30 19:22:00 +02:00
|
|
|
PGSIZE := 0x1000; //1 << 12;
|
|
|
|
PGMASK := 0xfff; //PGSIZE-1
|
2017-08-27 12:10:38 +02:00
|
|
|
}
|
|
|
|
}
|
2020-05-30 11:27:44 +02:00
|
|
|
|