From 4114f482d6719bddaa70b886e6c279313fc1fa94 Mon Sep 17 00:00:00 2001 From: mariusmonton Date: Sat, 24 Nov 2018 23:46:01 +0100 Subject: [PATCH] Doxygen --- inc/C_Instruction.h | 4 +-- inc/Instruction.h | 64 ++++++++++++++++++++++++++++++++++++++++----- inc/Trace.h | 1 + src/Trace.cpp | 1 - 4 files changed, 61 insertions(+), 9 deletions(-) diff --git a/inc/C_Instruction.h b/inc/C_Instruction.h index 51348fe..691a6c8 100644 --- a/inc/C_Instruction.h +++ b/inc/C_Instruction.h @@ -1,6 +1,6 @@ /*! - \file Instruction.h - \brief Decode instructions part of the RISC-V + \file C_Instruction.h + \brief Decode C extensions part of the RISC-V \author Màrius Montón \date August 2018 */ diff --git a/inc/Instruction.h b/inc/Instruction.h index 4358992..a9214b0 100644 --- a/inc/Instruction.h +++ b/inc/Instruction.h @@ -202,6 +202,10 @@ public: return m_instr.range(11, 7); } + /** + * @brief Sets rd field + * @param value desired rd value + */ inline void set_rd(int32_t value) { m_instr.range(11,7) = value; } @@ -214,6 +218,10 @@ public: return m_instr.range(14, 12); } + /** + * @brief Sets func3 field + * @param value desired func3 value + */ inline void set_funct3(int32_t value) { m_instr.range(14,12) = value; } @@ -226,6 +234,10 @@ public: return m_instr.range(19, 15); } + /** + * @brief Sets rs1 field + * @param value desired rs1 value + */ inline void set_rs1(int32_t value) { m_instr.range(19,15) = value; } @@ -238,9 +250,14 @@ public: return m_instr.range(24, 20); } + /** + * @brief Sets rs2 field + * @param value desired rs2 value + */ inline void set_rs2(int32_t value) { m_instr.range(24,10) = value; } + /** * @brief Access to funct7 field * @return funct7 field @@ -249,12 +266,16 @@ public: return m_instr.range(31, 25); } + /** + * @brief Sets func7 field + * @param value desired func7 value + */ inline void set_func7(int32_t value) { m_instr.range(31,25) = value; } /** - * @brief Access to immediate field for I-type + * @brief Gets immediate field value for I-type * @return immediate_I field */ inline int32_t get_imm_I() { @@ -270,12 +291,16 @@ public: return aux; } + /** + * @brief Sets immediate field for I-type + * @param value desired I value + */ inline void set_imm_I(int32_t value) { m_instr.range(31,20) = value; } /** - * @brief Access to immediate field for S-type + * @brief Gets immediate field value for S-type * @return immediate_S field */ inline int32_t get_imm_S() { @@ -291,6 +316,10 @@ public: return aux; } + /** + * @brief Sets immediate field for S-type + * @param value desired S value + */ inline void set_imm_S(int32_t value) { sc_uint<32> aux = value; @@ -299,19 +328,23 @@ public: } /** - * @brief Access to immediate field for U-type + * @brief Gets immediate field value for U-type * @return immediate_U field */ inline int32_t get_imm_U() { return m_instr.range(31, 12); } + /** + * @brief Sets immediate field for U-type + * @param value desired U value + */ inline void set_imm_U(int32_t value) { m_instr.range(31,12) = (value << 12); } /** - * @brief Access to immediate field for B-type + * @brief Gets immediate field value for B-type * @return immediate_B field */ inline int32_t get_imm_B() { @@ -329,6 +362,10 @@ public: return aux; } + /** + * @brief Sets immediate field for B-type + * @param value desired B value + */ inline void set_imm_B(int32_t value) { sc_uint<32> aux = value; @@ -339,7 +376,7 @@ public: } /** - * @brief Access to immediate field for J-type + * @brief Gets immediate field value for J-type * @return immediate_J field */ inline int32_t get_imm_J() { @@ -358,6 +395,10 @@ public: return aux; } + /** + * @brief Sets immediate field for J-type + * @param value desired J value + */ inline void set_imm_J(int32_t value) { sc_uint<32> aux = (value << 20); @@ -367,10 +408,18 @@ public: m_instr.range(19,12) = aux.range(19,12); } + /** + * @brief Returns shamt field for Shifts instructions + * @return value corresponding to inst(25:20) + */ inline int32_t get_shamt() { return m_instr.range(25, 20); } + /** + * @brief Returns CSR field for CSR instructions + * @return value corresponding to instr(31:20) + */ inline int32_t get_csr() { int32_t aux = 0; @@ -391,7 +440,10 @@ public: */ extension_t check_extension(); - + /** + * @brief return instruction + * @return all instruction bits (31:0) + */ uint32_t getInstr() { return m_instr; } diff --git a/inc/Trace.h b/inc/Trace.h index d675151..8624904 100644 --- a/inc/Trace.h +++ b/inc/Trace.h @@ -21,6 +21,7 @@ using namespace sc_core; using namespace sc_dt; using namespace std; + /** * @brief Simple trace peripheral * diff --git a/src/Trace.cpp b/src/Trace.cpp index ba7958b..0da0866 100644 --- a/src/Trace.cpp +++ b/src/Trace.cpp @@ -15,7 +15,6 @@ void Trace::b_transport( tlm::tlm_generic_payload& trans, sc_time& delay ) { //unsigned char* byt = trans.get_byte_enable_ptr(); //unsigned int wid = trans.get_streaming_width(); - cout << (char) *ptr << flush; trans.set_response_status( tlm::TLM_OK_RESPONSE );