1/* 2 * Copyright (c) 2012 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 356 unchanged lines hidden (view full) --- 365 " block size (%d)\n", blocksize, port.deviceBlockSize()); 366 367} 368 369void 370TrafficGen::StateGraph::LinearGen::execute() 371{ 372 // choose if we generate a read or a write here |
373 bool isRead = readPercent != 0 && 374 (readPercent == 100 || random_mt.random<uint8_t>(0, 100) < readPercent); |
375 |
376 assert((readPercent == 0 && !isRead) || (readPercent == 100 && isRead) || 377 readPercent != 100); |
378 379 DPRINTF(TrafficGen, "LinearGen::execute: %c to addr %x, size %d\n", 380 isRead ? 'r' : 'w', nextAddr, blocksize); 381 382 // Create new request 383 Request::Flags flags; 384 Request *req = new Request(nextAddr, blocksize, flags, masterID); 385 --- 52 unchanged lines hidden (view full) --- 438 fatal("TrafficGen %s block size (%d) is larger than port" 439 " block size (%d)\n", name(), blocksize, port.deviceBlockSize()); 440} 441 442void 443TrafficGen::StateGraph::RandomGen::execute() 444{ 445 // choose if we generate a read or a write here |
446 bool isRead = readPercent != 0 && 447 (readPercent == 100 || random_mt.random<uint8_t>(0, 100) < readPercent); |
448 |
449 assert((readPercent == 0 && !isRead) || (readPercent == 100 && isRead) || 450 readPercent != 100); |
451 452 // address of the request 453 Addr addr = random_mt.random<Addr>(startAddr, endAddr - 1); 454 455 // round down to start address of block 456 addr -= addr % blocksize; 457 458 DPRINTF(TrafficGen, "RandomGen::execute: %c to addr %x, size %d\n", --- 182 unchanged lines hidden --- |