Skip to content
Snippets Groups Projects
Commit c9ead39b authored by Wesley W. Terpstra's avatar Wesley W. Terpstra
Browse files

Test address compaction of writes

parent 2f186237
No related merge requests found
...@@ -71,13 +71,13 @@ struct Record { ...@@ -71,13 +71,13 @@ struct Record {
Record::Record() Record::Record()
: address(random()), : address(random()),
data(random()) { data(random()) {
static address_t prev = 0;
long seed = random(); long seed = random();
address = (address << 1) | (seed&1); address = (address << 1) | (seed&1);
seed >>= 1; seed >>= 1;
data = (data << 1) | (seed&1); data = (data << 1) | (seed&1);
seed >>= 1; seed >>= 1;
// !!! make it likely to do fifo/seq
switch (seed & 3) { switch (seed & 3) {
case 0: type = READ_BUS; break; case 0: type = READ_BUS; break;
...@@ -101,6 +101,13 @@ Record::Record() ...@@ -101,6 +101,13 @@ Record::Record()
} else { } else {
error = (address & 3) == 1; error = (address & 3) == 1;
} }
/* Introduce a high chance for FIFO/seq access */
if ((seed&3) != 3 && (type == WRITE_BUS || type == WRITE_CFG)) {
address = prev & 0x7FFF;
} else {
prev = address;
}
} }
list<Record> expect; list<Record> expect;
...@@ -240,7 +247,7 @@ void test_query(Device device, int len, int requests) { ...@@ -240,7 +247,7 @@ void test_query(Device device, int len, int requests) {
++serial; ++serial;
#if 0 #if 0
if (serial == 128854) { if (serial == 13043) {
printf("Enabling debug\n"); printf("Enabling debug\n");
loud = true; loud = true;
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment