import "CoreDSL-Instruction-Set-Description/RV32I.core_desc"
import "CoreDSL-Instruction-Set-Description/RVM.core_desc"
import "CoreDSL-Instruction-Set-Description/RVC.core_desc"

Core TGF_B provides RV32I {
	constants {
        unsigned XLEN=32;
        unsigned PCLEN=32;
        // definitions for the architecture wrapper
        //          XL    ZYXWVUTSRQPONMLKJIHGFEDCBA
        unsigned MISA_VAL=0b01000000000000000000000100000000;
        unsigned PGSIZE = 0x1000; //1 << 12;
        unsigned PGMASK = 0xfff; //PGSIZE-1
	}
}

Core TGF_C provides RV32I, RV32M, RV32IC {
    constants {
        unsigned XLEN=32;
        unsigned PCLEN=32;
        // definitions for the architecture wrapper
        //          XL    ZYXWVUTSRQPONMLKJIHGFEDCBA
        unsigned MISA_VAL=0b01000000000000000001000100000100;
        unsigned PGSIZE = 0x1000; //1 << 12;
        unsigned PGMASK = 0xfff; //PGSIZE-1
    }
}