Changes between Version 10 and Version 11 of Component/Iss2Api
- Timestamp:
- Dec 13, 2012, 3:13:40 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Iss2Api
v10 v11 59 59 || MMU_RELEASE || 16 || Generic MMU release number || R || 60 60 61 === Instruction request and response===61 === Instruction request === 62 62 63 63 Instruction request, only significant if `valid' is asserted. … … 72 72 73 73 74 Instruction response. 74 === Instruction response === 75 75 76 76 Valid is asserted when query has beed satisfied, if no request … … 86 86 }}} 87 87 88 === Data request and response===88 === Data request === 89 89 90 90 Data request, only significant if `valid' is asserted. … … 111 111 112 112 113 Data response. 113 === Data response === 114 114 115 115 Valid is asserted when query has beed satisfied, if no request … … 134 134 === void reset() === 135 135 136 Reset operation,Iss must behave like the processor receiving a reset cycle.137 138 Tell the Iss to execute *at most* ncycle cycles, knowing the 139 value of all the irq lines. Each irq is a bit in the 140 irq_bit_field word.136 Reset processor internal register. Iss must behave like the processor receiving a reset cycle. 137 138 === void getRequests( struct !InstructionRequest &, struct !DataRequest & ) === 139 140 Iss must populate the request fields. 141 141 142 142 === uint32_t executeNCycles( uint32_t ncycle, const struct !InstructionResponse &, const struct !DataResponse &, uint32_t irq_bit_field ) === 143 143 144 * Iss is given back the responses. They may not be valid. 145 * Iss must return the number of cycles it actually executed knowing the inputs (responses and irqs) won't change. 146 * This is at most ncycle. 147 * ncycle may be 0 if wrapper only wants the ISS to handle its inputs, but not actually simulate anything. This is mostly used on GDB breakpoints. 148 149 === void getRequests( struct !InstructionRequest &, struct !DataRequest & ) === 150 151 Iss must populate the request fields. 144 Tell the Iss to execute *at most* ncycle cycles, knowing the values of the responses and the 145 value of all the irq lines. The responses may not be valid. Each irq is a bit in the irq_bit_field word. 146 147 Iss must return the number of cycles it actually executed, knowing the inputs (responses and irqs) won't change. 148 This number is at most ncycle. 149 The ncycle argument may be 0 if wrapper only wants the ISS to handle its inputs, but not actually change the processor state. This is mostly used on GDB breakpoints. 152 150 153 151 === bool virtualToPhys(addr_t &addr) const === 154 152 155 Iss must translate virtual address to physical address. It returns false if153 Iss translate virtual address to physical address if it the processor contains an internal MMU. It returns false if 156 154 the virtual address is not mapped. This function does nothing but returning true 157 if no mmuis implemented in the Iss.155 if no MMU is implemented in the Iss. 158 156 159 157 === void setWriteBerr() ===