override keyword to virtual methods
This commit is contained in:
parent
b3b00ac7f3
commit
cc9045341d
|
@ -63,7 +63,7 @@ public:
|
||||||
* @brief Access to opcode field
|
* @brief Access to opcode field
|
||||||
* @return return opcode field
|
* @return return opcode field
|
||||||
*/
|
*/
|
||||||
inline int32_t opcode() const {
|
inline int32_t opcode() const override {
|
||||||
return m_instr.range(31, 27);
|
return m_instr.range(31, 27);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,11 +71,11 @@ public:
|
||||||
* @brief Access to rd field
|
* @brief Access to rd field
|
||||||
* @return rd field
|
* @return rd field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rd() const {
|
inline int32_t get_rd() const override {
|
||||||
return m_instr.range(11, 7);
|
return m_instr.range(11, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rd(int32_t value) {
|
inline void set_rd(int32_t value) override {
|
||||||
m_instr.range(11, 7) = value;
|
m_instr.range(11, 7) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,11 +83,11 @@ public:
|
||||||
* @brief Access to rs1 field
|
* @brief Access to rs1 field
|
||||||
* @return rs1 field
|
* @return rs1 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs1() const {
|
inline int32_t get_rs1() const override {
|
||||||
return m_instr.range(19, 15);
|
return m_instr.range(19, 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rs1(int32_t value) {
|
inline void set_rs1(int32_t value) override {
|
||||||
m_instr.range(19, 15) = value;
|
m_instr.range(19, 15) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,19 +95,19 @@ public:
|
||||||
* @brief Access to rs2 field
|
* @brief Access to rs2 field
|
||||||
* @return rs2 field
|
* @return rs2 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs2() const {
|
inline int32_t get_rs2() const override {
|
||||||
return m_instr.range(24, 20);
|
return m_instr.range(24, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rs2(int32_t value) {
|
inline void set_rs2(int32_t value) override {
|
||||||
m_instr.range(24, 20) = value;
|
m_instr.range(24, 20) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int32_t get_funct3() const {
|
inline int32_t get_funct3() const override {
|
||||||
return m_instr.range(14, 12);
|
return m_instr.range(14, 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_funct3(int32_t value) {
|
inline void set_funct3(int32_t value) override {
|
||||||
m_instr.range(14, 12) = value;
|
m_instr.range(14, 12) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ public:
|
||||||
*/
|
*/
|
||||||
op_A_Codes decode() const;
|
op_A_Codes decode() const;
|
||||||
|
|
||||||
inline void dump() const{
|
inline void dump() const override {
|
||||||
std::cout << std::hex << "0x" << m_instr << std::dec << std::endl;
|
std::cout << std::hex << "0x" << m_instr << std::dec << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ public:
|
||||||
* @brief Access to rd field
|
* @brief Access to rd field
|
||||||
* @return rd field
|
* @return rd field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rd() const {
|
inline int32_t get_rd() const override {
|
||||||
return m_instr.range(11, 7);
|
return m_instr.range(11, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ public:
|
||||||
* @brief Sets rd field
|
* @brief Sets rd field
|
||||||
* @param value desired rd value
|
* @param value desired rd value
|
||||||
*/
|
*/
|
||||||
inline void set_rd(int32_t value) {
|
inline void set_rd(int32_t value) override {
|
||||||
m_instr.range(11, 7) = value;
|
m_instr.range(11, 7) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ public:
|
||||||
* @brief Access to rs1 field
|
* @brief Access to rs1 field
|
||||||
* @return rs1 field
|
* @return rs1 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs1() const {
|
inline int32_t get_rs1() const override {
|
||||||
return m_instr.range(19, 15);
|
return m_instr.range(19, 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ public:
|
||||||
* @brief Sets rs1 field
|
* @brief Sets rs1 field
|
||||||
* @param value desired rs1 value
|
* @param value desired rs1 value
|
||||||
*/
|
*/
|
||||||
inline void set_rs1(int32_t value) {
|
inline void set_rs1(int32_t value) override {
|
||||||
m_instr.range(19, 15) = value;
|
m_instr.range(19, 15) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ public:
|
||||||
* @brief Access to rs2 field
|
* @brief Access to rs2 field
|
||||||
* @return rs2 field
|
* @return rs2 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs2() const {
|
inline int32_t get_rs2() const override {
|
||||||
return m_instr.range(24, 20);
|
return m_instr.range(24, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ public:
|
||||||
* @brief Sets rs2 field
|
* @brief Sets rs2 field
|
||||||
* @param value desired rs2 value
|
* @param value desired rs2 value
|
||||||
*/
|
*/
|
||||||
inline void set_rs2(int32_t value) {
|
inline void set_rs2(int32_t value) override {
|
||||||
m_instr.range(24, 10) = value;
|
m_instr.range(24, 10) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ public:
|
||||||
* @brief Access to funct3 field
|
* @brief Access to funct3 field
|
||||||
* @return funct3 field
|
* @return funct3 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_funct3() const {
|
inline int32_t get_funct3() const override {
|
||||||
return m_instr.range(14, 12);
|
return m_instr.range(14, 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ public:
|
||||||
* @brief Sets func3 field
|
* @brief Sets func3 field
|
||||||
* @param value desired func3 value
|
* @param value desired func3 value
|
||||||
*/
|
*/
|
||||||
inline void set_funct3(int32_t value) {
|
inline void set_funct3(int32_t value) override {
|
||||||
m_instr.range(14, 12) = value;
|
m_instr.range(14, 12) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ public:
|
||||||
* @brief Access to opcode field
|
* @brief Access to opcode field
|
||||||
* @return return opcode field
|
* @return return opcode field
|
||||||
*/
|
*/
|
||||||
inline int32_t opcode() const {
|
inline int32_t opcode() const override {
|
||||||
return m_instr.range(6, 0);
|
return m_instr.range(6, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -113,11 +113,11 @@ public:
|
||||||
* @brief Access to rd field
|
* @brief Access to rd field
|
||||||
* @return rd field
|
* @return rd field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rd () const {
|
inline int32_t get_rd () const override {
|
||||||
return m_instr.range(11, 7);
|
return m_instr.range(11, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rd(int32_t value) {
|
inline void set_rd(int32_t value) override {
|
||||||
m_instr.range(11, 7) = value;
|
m_instr.range(11, 7) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,11 +129,11 @@ public:
|
||||||
* @brief Access to rs1 field
|
* @brief Access to rs1 field
|
||||||
* @return rs1 field
|
* @return rs1 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs1() const {
|
inline int32_t get_rs1() const override {
|
||||||
return m_instr.range(11, 7);
|
return m_instr.range(11, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rs1(int32_t value) {
|
inline void set_rs1(int32_t value) override {
|
||||||
m_instr.range(11, 7) = value;
|
m_instr.range(11, 7) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,11 +145,11 @@ public:
|
||||||
* @brief Access to rs2 field
|
* @brief Access to rs2 field
|
||||||
* @return rs2 field
|
* @return rs2 field
|
||||||
*/
|
*/
|
||||||
inline int32_t get_rs2() const {
|
inline int32_t get_rs2() const override {
|
||||||
return m_instr.range(6, 2);
|
return m_instr.range(6, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_rs2(int32_t value) {
|
inline void set_rs2(int32_t value) override {
|
||||||
m_instr.range(6, 2) = value;
|
m_instr.range(6, 2) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,11 +157,11 @@ public:
|
||||||
return m_instr.range(4, 2) + 8;
|
return m_instr.range(4, 2) + 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int32_t get_funct3() const {
|
inline int32_t get_funct3() const override {
|
||||||
return m_instr.range(15, 13);
|
return m_instr.range(15, 13);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_funct3(int32_t value) {
|
inline void set_funct3(int32_t value) override {
|
||||||
m_instr.range(15, 13) = value;
|
m_instr.range(15, 13) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ public:
|
||||||
*/
|
*/
|
||||||
op_M_Codes decode() const;
|
op_M_Codes decode() const;
|
||||||
|
|
||||||
inline void dump() const{
|
inline virtual void dump() const override {
|
||||||
std::cout << std::hex << "0x" << m_instr << std::dec << std::endl;
|
std::cout << std::hex << "0x" << m_instr << std::dec << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,10 @@ public:
|
||||||
*/
|
*/
|
||||||
void dump() const;
|
void dump() const;
|
||||||
|
|
||||||
|
inline uint_fast64_t getInstructions() {
|
||||||
|
return instructions_executed;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static Performance *instance;
|
static Performance *instance;
|
||||||
Performance();
|
Performance();
|
||||||
|
|
|
@ -45,7 +45,7 @@ public:
|
||||||
virtual int32_t get_funct3() const = 0;
|
virtual int32_t get_funct3() const = 0;
|
||||||
virtual void set_funct3(int32_t value) = 0;
|
virtual void set_funct3(int32_t value) = 0;
|
||||||
|
|
||||||
void dump();
|
virtual void dump() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
sc_dt::sc_uint<32> m_instr;
|
sc_dt::sc_uint<32> m_instr;
|
||||||
|
|
Loading…
Reference in New Issue