better log output
This commit is contained in:
		
							parent
							
								
									50c6d4e6d3
								
							
						
					
					
						commit
						de2e14ff28
					
				| 
						 | 
					@ -284,14 +284,17 @@ bool BASE_ISA::Exec_BGEU() const {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( static_cast<std::uint32_t>(regs->getValue(rs1)) >= static_cast<std::uint32_t>(regs->getValue(rs2)) ) {
 | 
						if ( static_cast<std::uint32_t>(regs->getValue(rs1)) >= static_cast<std::uint32_t>(regs->getValue(rs2)) ) {
 | 
				
			||||||
		new_pc = static_cast<std::int32_t>(regs->getPC() + get_imm_B());
 | 
							new_pc = static_cast<std::int32_t>(regs->getPC() + get_imm_B());
 | 
				
			||||||
		regs->setPC(new_pc);
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		regs->incPC();
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        logger->debug("{} ns. PC: 0x{:x}. BGEU: x{:d}(0x{:x}) > x{:d}(0x{:x}) -> PC (0x{:x})", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
					        logger->debug("{} ns. PC: 0x{:x}. BGEU: x{:d}(0x{:x}) > x{:d}(0x{:x}) -> PC (0x{:x})", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
				
			||||||
                      rs1, regs->getValue(rs1), rs2, regs->getValue(rs2), new_pc);
 | 
					                      rs1, regs->getValue(rs1), rs2, regs->getValue(rs2), new_pc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							regs->setPC(new_pc);
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
					        logger->debug("{} ns. PC: 0x{:x}. BGEU: x{:d}(0x{:x}) > x{:d}(0x{:x}) -> PC (0x{:x})", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
				
			||||||
 | 
					                      rs1, regs->getValue(rs1), rs2, regs->getValue(rs2), regs->getPC() + 4);
 | 
				
			||||||
 | 
							regs->incPC();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -578,8 +581,8 @@ bool BASE_ISA::Exec_ANDI() const {
 | 
				
			||||||
	calc = aux & imm;
 | 
						calc = aux & imm;
 | 
				
			||||||
	regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
						regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->debug("{} ns. PC: 0x{:x}. ANDI: x{:d} AND x{:d} -> x{:d}", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
					    logger->debug("{} ns. PC: 0x{:x}. ANDI: x{:d}(0x{:x}) AND 0x{:x} -> x{:d}", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
				
			||||||
                  rs1, imm, rd);
 | 
					                  rs1, aux, imm, rd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,10 +154,11 @@ bool C_extension::Exec_C_JR() {
 | 
				
			||||||
	mem_addr = 0;
 | 
						mem_addr = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	new_pc = static_cast<std::int32_t>(static_cast<std::int32_t>((regs->getValue(rs1)) + static_cast<std::int32_t>(mem_addr)) & 0xFFFFFFFE);
 | 
						new_pc = static_cast<std::int32_t>(static_cast<std::int32_t>((regs->getValue(rs1)) + static_cast<std::int32_t>(mem_addr)) & 0xFFFFFFFE);
 | 
				
			||||||
	regs->setPC(new_pc);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->debug("{} ns. PC: 0x{:x}. C.JR: PC <- 0x{:x}", sc_core::sc_time_stamp().value(), regs->getPC(), new_pc);
 | 
					    logger->debug("{} ns. PC: 0x{:x}. C.JR: PC <- 0x{:x}", sc_core::sc_time_stamp().value(), regs->getPC(), new_pc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    regs->setPC(new_pc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -433,7 +434,7 @@ bool C_extension::Exec_C_ANDI() {
 | 
				
			||||||
	calc = aux & imm;
 | 
						calc = aux & imm;
 | 
				
			||||||
	regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
						regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->debug("{} ns. PC: 0x{:x}. C.ANDI: x{:d}({:d}) AND {:d} -> x{:d}", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
					    logger->debug("{} ns. PC: 0x{:x}. C.ANDI: x{:d}(0x{:x}) AND 0x{:x} -> x{:d}", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
				
			||||||
                  rs1, aux, imm, rd);
 | 
					                  rs1, aux, imm, rd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
| 
						 | 
					@ -450,8 +451,8 @@ bool C_extension::Exec_C_SUB() {
 | 
				
			||||||
	calc = regs->getValue(rs1) - regs->getValue(rs2);
 | 
						calc = regs->getValue(rs1) - regs->getValue(rs2);
 | 
				
			||||||
	regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
						regs->setValue(rd, static_cast<std::int32_t>(calc));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->debug("{} ns. PC: 0x{:x}. C.SUB: x{:d} - x{:d} -> x{:d}", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
					    logger->debug("{} ns. PC: 0x{:x}. C.SUB: x{:d} - x{:d} -> x{:d}(0x{:x})", sc_core::sc_time_stamp().value(), regs->getPC(),
 | 
				
			||||||
                  rs1, rs2, rd);
 | 
					                  rs1, rs2, rd, calc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue