OpenASIP 2.2
Loading...
Searching...
No Matches
Variables
RISCVFields Namespace Reference

Variables

const std::map< std::string, int > RISCVRTypeOperations
 
const std::map< std::string, int > RISCVITypeOperations
 
const std::map< std::string, int > RISCVSTypeOperations
 
const std::map< std::string, int > RISCVBTypeOperations
 
const std::map< std::string, int > RISCVUTypeOperations
 
const std::map< std::string, int > RISCVJTypeOperations = {{"jal", 0b1101111}}
 
const std::map< std::string, std::string > RISCVOperationNameTable
 
const std::vector< std::string > RISCVMExtensionOperations
 
const std::string RISCV_R_TYPE_NAME = "riscv_r_type"
 
const std::string RISCV_I_TYPE_NAME = "riscv_i_type"
 
const std::string RISCV_U_TYPE_NAME = "riscv_u_type"
 
const std::string RISCV_S_TYPE_NAME = "riscv_s_type"
 
const std::string RISCV_J_TYPE_NAME = "riscv_j_type"
 
const std::string RISCV_B_TYPE_NAME = "riscv_b_type"
 
const std::string RISCV_R3R_TYPE_NAME = "riscv_r3r_type"
 
const std::string RISCV_R1R_TYPE_NAME = "riscv_r1r_type"
 
const std::string RISCV_R1_TYPE_NAME = "riscv_r1_type"
 

Variable Documentation

◆ RISCV_B_TYPE_NAME

const std::string RISCVFields::RISCV_B_TYPE_NAME = "riscv_b_type"

◆ RISCV_I_TYPE_NAME

const std::string RISCVFields::RISCV_I_TYPE_NAME = "riscv_i_type"

◆ RISCV_J_TYPE_NAME

const std::string RISCVFields::RISCV_J_TYPE_NAME = "riscv_j_type"

◆ RISCV_R1_TYPE_NAME

const std::string RISCVFields::RISCV_R1_TYPE_NAME = "riscv_r1_type"

◆ RISCV_R1R_TYPE_NAME

const std::string RISCVFields::RISCV_R1R_TYPE_NAME = "riscv_r1r_type"

◆ RISCV_R3R_TYPE_NAME

const std::string RISCVFields::RISCV_R3R_TYPE_NAME = "riscv_r3r_type"

◆ RISCV_R_TYPE_NAME

const std::string RISCVFields::RISCV_R_TYPE_NAME = "riscv_r_type"

◆ RISCV_S_TYPE_NAME

const std::string RISCVFields::RISCV_S_TYPE_NAME = "riscv_s_type"

◆ RISCV_U_TYPE_NAME

const std::string RISCVFields::RISCV_U_TYPE_NAME = "riscv_u_type"

◆ RISCVBTypeOperations

const std::map<std::string, int> RISCVFields::RISCVBTypeOperations
Initial value:
= {
{"beq", 0b0001100011}, {"bne", 0b0011100011}, {"blt", 0b1001100011},
{"bge", 0b1011100011}, {"bltu", 0b1101100011}, {"bgeu", 0b1111100011}}

Definition at line 32 of file RISCVFields.hh.

32 {
33 {"beq", 0b0001100011}, {"bne", 0b0011100011}, {"blt", 0b1001100011},
34 {"bge", 0b1011100011}, {"bltu", 0b1101100011}, {"bgeu", 0b1111100011}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), and BEMGenerator::addRiscvFormat().

◆ RISCVITypeOperations

const std::map<std::string, int> RISCVFields::RISCVITypeOperations
Initial value:
= {
{"addi", 0b0000010011}, {"xori", 0b1000010011},
{"ori", 0b1100010011}, {"andi", 0b1110010011},
{"slli", 0b00000000010010011}, {"srli", 0b00000001010010011},
{"srai", 0b01000001010010011}, {"slti", 0b0100010011},
{"sltiu", 0b0110010011}, {"lb", 0b0000000011},
{"lh", 0b0010000011}, {"lw", 0b0100000011},
{"lbu", 0b1000000011}, {"lhu", 0b1010000011},
{"jalr", 0b0001100111}}

Definition at line 19 of file RISCVFields.hh.

19 {
20 {"addi", 0b0000010011}, {"xori", 0b1000010011},
21 {"ori", 0b1100010011}, {"andi", 0b1110010011},
22 {"slli", 0b00000000010010011}, {"srli", 0b00000001010010011},
23 {"srai", 0b01000001010010011}, {"slti", 0b0100010011},
24 {"sltiu", 0b0110010011}, {"lb", 0b0000000011},
25 {"lh", 0b0010000011}, {"lw", 0b0100000011},
26 {"lbu", 0b1000000011}, {"lhu", 0b1010000011},
27 {"jalr", 0b0001100111}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), and BEMGenerator::addRiscvFormat().

◆ RISCVJTypeOperations

const std::map<std::string, int> RISCVFields::RISCVJTypeOperations = {{"jal", 0b1101111}}

Definition at line 39 of file RISCVFields.hh.

39{{"jal", 0b1101111}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), and BEMGenerator::addRiscvFormat().

◆ RISCVMExtensionOperations

const std::vector<std::string> RISCVFields::RISCVMExtensionOperations
Initial value:
= {
"mul", "mulh", "mulhu", "mulhsu", "div", "divu", "rem", "remu"}

Definition at line 58 of file RISCVFields.hh.

58 {
59 "mul", "mulh", "mulhu", "mulhsu", "div", "divu", "rem", "remu"};

Referenced by ProGe::RV32MicroCodeGenerator::addRPorts().

◆ RISCVOperationNameTable

const std::map<std::string, std::string> RISCVFields::RISCVOperationNameTable
Initial value:
= {
{"add", "add"}, {"sub", "sub"}, {"xor", "xor"},
{"or", "ior"}, {"sll", "shl"}, {"srl", "shru"},
{"sra", "shr"}, {"slt", "lt"}, {"sltu", "ltu"},
{"addi", "add"}, {"xori", "xor"}, {"ori", "ior"},
{"andi", "and"}, {"slli", "shl"}, {"srli", "shru"},
{"srai", "shr"}, {"slti", "lt"}, {"sltiu", "ltu"},
{"lb", "ald8"}, {"lh", "ald16"}, {"lw", "ald32"},
{"lbu", "aldu8"}, {"lhu", "aldu16"}, {"sb", "ast8"},
{"sh", "ast16"}, {"sw", "ast32"}, {"beq", "beqr"},
{"bne", "bner"}, {"blt", "bltr"}, {"bge", "bger"},
{"bltu", "bltur"}, {"bgeu", "bgeur"}, {"jal", "callr"},
{"jalr", "calla"}, {"lui", "move"}, {"auipc", "apc"},
{"mul", "mul"}, {"mulh", "mulhi"}, {"mulhsu", "mulhisu"},
{"mulhu", "mulhiu"}, {"rem", "rem"}, {"remu", "remu"},
{"div", "div"}, {"divu", "divu"}}

Definition at line 41 of file RISCVFields.hh.

41 {
42 {"add", "add"}, {"sub", "sub"}, {"xor", "xor"},
43 {"or", "ior"}, {"sll", "shl"}, {"srl", "shru"},
44 {"sra", "shr"}, {"slt", "lt"}, {"sltu", "ltu"},
45 {"addi", "add"}, {"xori", "xor"}, {"ori", "ior"},
46 {"andi", "and"}, {"slli", "shl"}, {"srli", "shru"},
47 {"srai", "shr"}, {"slti", "lt"}, {"sltiu", "ltu"},
48 {"lb", "ald8"}, {"lh", "ald16"}, {"lw", "ald32"},
49 {"lbu", "aldu8"}, {"lhu", "aldu16"}, {"sb", "ast8"},
50 {"sh", "ast16"}, {"sw", "ast32"}, {"beq", "beqr"},
51 {"bne", "bner"}, {"blt", "bltr"}, {"bge", "bger"},
52 {"bltu", "bltur"}, {"bgeu", "bgeur"}, {"jal", "callr"},
53 {"jalr", "calla"}, {"lui", "move"}, {"auipc", "apc"},
54 {"mul", "mul"}, {"mulh", "mulhi"}, {"mulhsu", "mulhisu"},
55 {"mulhu", "mulhiu"}, {"rem", "rem"}, {"remu", "remu"},
56 {"div", "div"}, {"divu", "divu"}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), ProGe::RV32MicroCodeGenerator::addRPorts(), ProGe::RV32MicroCodeGenerator::initializeOperations(), and OTAOperationDialog::TransferDataToWindow().

◆ RISCVRTypeOperations

const std::map<std::string, int> RISCVFields::RISCVRTypeOperations
Initial value:
= {
{"add", 0b00000000000110011}, {"sub", 0b01000000000110011},
{"xor", 0b00000001000110011}, {"or", 0b00000001100110011},
{"and", 0b00000001110110011}, {"sll", 0b00000000010110011},
{"srl", 0b00000001010110011}, {"sra", 0b01000001010110011},
{"slt", 0b00000000100110011}, {"sltu", 0b00000000110110011},
{"mul", 0b00000010000110011}, {"mulh", 0b00000010010110011},
{"mulhu", 0b00000010110110011}, {"mulhsu", 0b00000010100110011},
{"div", 0b00000011000110011}, {"divu", 0b00000011010110011},
{"rem", 0b00000011100110011}, {"remu", 0b00000011110110011}}

Definition at line 8 of file RISCVFields.hh.

8 {
9 {"add", 0b00000000000110011}, {"sub", 0b01000000000110011},
10 {"xor", 0b00000001000110011}, {"or", 0b00000001100110011},
11 {"and", 0b00000001110110011}, {"sll", 0b00000000010110011},
12 {"srl", 0b00000001010110011}, {"sra", 0b01000001010110011},
13 {"slt", 0b00000000100110011}, {"sltu", 0b00000000110110011},
14 {"mul", 0b00000010000110011}, {"mulh", 0b00000010010110011},
15 {"mulhu", 0b00000010110110011}, {"mulhsu", 0b00000010100110011},
16 {"div", 0b00000011000110011}, {"divu", 0b00000011010110011},
17 {"rem", 0b00000011100110011}, {"remu", 0b00000011110110011}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), BEMGenerator::addRiscvFormat(), and RISCVTDGen::findCustomOps().

◆ RISCVSTypeOperations

const std::map<std::string, int> RISCVFields::RISCVSTypeOperations
Initial value:
= {
{"sb", 0b0000100011}, {"sh", 0b0010100011}, {"sw", 0b0100100011}}

Definition at line 29 of file RISCVFields.hh.

29 {
30 {"sb", 0b0000100011}, {"sh", 0b0010100011}, {"sw", 0b0100100011}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), and BEMGenerator::addRiscvFormat().

◆ RISCVUTypeOperations

const std::map<std::string, int> RISCVFields::RISCVUTypeOperations
Initial value:
= {
{"lui", 0b0110111}, {"auipc", 0b0010111}}

Definition at line 36 of file RISCVFields.hh.

36 {
37 {"lui", 0b0110111}, {"auipc", 0b0010111}};

Referenced by OTAOperationDialog::addRISCVBaseOperations(), and BEMGenerator::addRiscvFormat().