fixed dump function!
This commit is contained in:
		
							parent
							
								
									0f291016c5
								
							
						
					
					
						commit
						81f61c52fc
					
				|  | @ -40,20 +40,20 @@ void Registers::dump(void) { | |||
|   cout << " x18 (s2):   " << right << setw(11) << register_bank[18]; | ||||
|   cout << " x19 (s3):   " << right << setw(11) << register_bank[19] << endl; | ||||
| 
 | ||||
|   cout << "x20 (s4):   " << right << setw(11) << register_bank[16]; | ||||
|   cout << " x21 (s5):   " << right << setw(11) << register_bank[17]; | ||||
|   cout << " x22 (s6):   " << right << setw(11) << register_bank[18]; | ||||
|   cout << " x23 (s7):   " << right << setw(11) << register_bank[19] << endl; | ||||
|   cout << "x20 (s4):   " << right << setw(11) << register_bank[20]; | ||||
|   cout << " x21 (s5):   " << right << setw(11) << register_bank[21]; | ||||
|   cout << " x22 (s6):   " << right << setw(11) << register_bank[22]; | ||||
|   cout << " x23 (s7):   " << right << setw(11) << register_bank[23] << endl; | ||||
| 
 | ||||
|   cout << "x24 (s8):   " << right << setw(11) << register_bank[16]; | ||||
|   cout << " x25 (s9):   " << right << setw(11) << register_bank[17]; | ||||
|   cout << " x26 (s10):  " << right << setw(11) << register_bank[18]; | ||||
|   cout << " x27 (s11):  " << right << setw(11) << register_bank[19] << endl; | ||||
|   cout << "x24 (s8):   " << right << setw(11) << register_bank[24]; | ||||
|   cout << " x25 (s9):   " << right << setw(11) << register_bank[25]; | ||||
|   cout << " x26 (s10):  " << right << setw(11) << register_bank[26]; | ||||
|   cout << " x27 (s11):  " << right << setw(11) << register_bank[27] << endl; | ||||
| 
 | ||||
|   cout << "x28 (t3):   " << right << setw(11) << register_bank[16]; | ||||
|   cout << " x29 (t4):   " << right << setw(11) << register_bank[17]; | ||||
|   cout << " x30 (t5):   " << right << setw(11) << register_bank[18]; | ||||
|   cout << " x31 (t6):   " << right << setw(11) << register_bank[19] << endl; | ||||
|   cout << "x28 (t3):   " << right << setw(11) << register_bank[28]; | ||||
|   cout << " x29 (t4):   " << right << setw(11) << register_bank[29]; | ||||
|   cout << " x30 (t5):   " << right << setw(11) << register_bank[30]; | ||||
|   cout << " x31 (t6):   " << right << setw(11) << register_bank[31] << endl; | ||||
| 
 | ||||
|   cout << "PC: 0x" << hex << register_PC << endl; | ||||
|   cout << "************************************" << endl; | ||||
|  | @ -85,7 +85,32 @@ void Registers::setPC(uint32_t new_pc) { | |||
| } | ||||
| 
 | ||||
| uint32_t Registers::getCSR(int csr) { | ||||
|   return CSR[csr]; | ||||
|   uint32_t ret_value = 0; | ||||
| 
 | ||||
|   switch (csr) { | ||||
|     case CSR_CYCLE: | ||||
|       ret_value = (uint64_t)(sc_time(sc_time_stamp() | ||||
|             - sc_time(SC_ZERO_TIME)).to_double()) & 0x00000000FFFFFFFF; | ||||
|       break; | ||||
|     case CSR_CYCLEH: | ||||
|       ret_value = (uint32_t)((uint64_t)(sc_time(sc_time_stamp() | ||||
|           - sc_time(SC_ZERO_TIME)).to_double()) >> 32 & 0x00000000FFFFFFFF); | ||||
|       break; | ||||
|     case CSR_TIME: | ||||
|       ret_value = (uint64_t)(sc_time(sc_time_stamp() | ||||
|           - sc_time(SC_ZERO_TIME)).to_double()) & 0x00000000FFFFFFFF; | ||||
|       cout << "TIME " << ret_value << endl; | ||||
|       break; | ||||
|     case CSR_TIMEH: | ||||
|       ret_value = (uint32_t)((uint64_t)(sc_time(sc_time_stamp() | ||||
|           - sc_time(SC_ZERO_TIME)).to_double()) >> 32 & 0x00000000FFFFFFFF); | ||||
|       cout << "TIMEH " << ret_value << endl; | ||||
|       break; | ||||
|     default: | ||||
|       ret_value = CSR[csr]; | ||||
|       break; | ||||
|   } | ||||
|   return ret_value; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue