Use integer address in decode function again

This commit is contained in:
2025-09-24 09:32:40 +02:00
parent c9c7293dd0
commit 7e77593f23
7 changed files with 22 additions and 32 deletions

View File

@@ -62,9 +62,7 @@ protected:
TEST_F(AddressDecoderFixture, Decoding)
{
uint64_t address = 0x3A59'1474;
tlm::tlm_generic_payload trans;
trans.set_address(address);
auto decodedAddress = addressDecoder.decodeAddress(trans);
auto decodedAddress = addressDecoder.decodeAddress(address);
unsigned int channel = decodedAddress.channel;
unsigned int rank = decodedAddress.rank;
@@ -95,10 +93,8 @@ TEST_F(AddressDecoderFixture, DecodingNP2Failure)
addressDecoder.plausibilityCheck(*memSpec);
uint64_t address = 0x3A59'1478;
tlm::tlm_generic_payload trans;
trans.set_address(address);
addressDecoder.decodeAddress(trans);
EXPECT_EQ(trans.get_response_status(), tlm::TLM_ADDRESS_ERROR_RESPONSE);
addressDecoder.decodeAddress(address);
// EXPECT_EQ(trans.get_response_status(), tlm::TLM_ADDRESS_ERROR_RESPONSE);
}
TEST_F(AddressDecoderFixture, DecodingNP2Success)
@@ -115,10 +111,7 @@ TEST_F(AddressDecoderFixture, DecodingNP2Success)
addressDecoder.plausibilityCheck(*memSpec);
uint64_t address = 0x3A59'1477;
tlm::tlm_generic_payload trans;
trans.set_address(address);
trans.set_response_status(tlm::TLM_INCOMPLETE_RESPONSE);
auto decodedAddress = addressDecoder.decodeAddress(trans);
auto decodedAddress = addressDecoder.decodeAddress(address);
unsigned int channel = decodedAddress.channel;
unsigned int rank = decodedAddress.rank;
@@ -133,7 +126,7 @@ TEST_F(AddressDecoderFixture, DecodingNP2Success)
EXPECT_EQ(bank, 4);
EXPECT_EQ(row, 7468);
EXPECT_EQ(column, 558);
EXPECT_EQ(trans.get_response_status(), tlm::TLM_INCOMPLETE_RESPONSE);
// EXPECT_EQ(trans.get_response_status(), tlm::TLM_INCOMPLETE_RESPONSE);
}
TEST_F(AddressDecoderFixture, Encoding)
@@ -160,11 +153,9 @@ TEST_F(AddressDecoderFixture, DeEncoding)
std::uint64_t(0x2FFA'1230),
std::uint64_t(0x0001'FFF0)};
tlm::tlm_generic_payload trans;
for (auto address : testAddresses)
{
trans.set_address(address);
DRAMSys::DecodedAddress decodedAddress = addressDecoder.decodeAddress(trans);
DRAMSys::DecodedAddress decodedAddress = addressDecoder.decodeAddress(address);
uint64_t encodedAddress = addressDecoder.encodeAddress(decodedAddress);
EXPECT_EQ(encodedAddress, address);