dram_gen.cc (12804:f47e75dce5c6) | dram_gen.cc (12811:269967d5b4e4) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2012-2013, 2016-2017 ARM Limited | 2 * Copyright (c) 2012-2013, 2016-2018 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 9 * licensed here under. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 32 unchanged lines hidden (view full) --- 43#include "cpu/testers/traffic_gen/dram_gen.hh" 44 45#include <algorithm> 46 47#include "base/random.hh" 48#include "base/trace.hh" 49#include "debug/TrafficGen.hh" 50 | 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 9 * licensed here under. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 32 unchanged lines hidden (view full) --- 43#include "cpu/testers/traffic_gen/dram_gen.hh" 44 45#include <algorithm> 46 47#include "base/random.hh" 48#include "base/trace.hh" 49#include "debug/TrafficGen.hh" 50 |
51 52DramGen::DramGen(BaseTrafficGen &gen, Tick _duration, 53 Addr start_addr, Addr end_addr, Addr _blocksize, 54 Tick min_period, Tick max_period, 55 uint8_t read_percent, Addr data_limit, 56 unsigned int num_seq_pkts, unsigned int page_size, 57 unsigned int nbr_of_banks_DRAM, 58 unsigned int nbr_of_banks_util, 59 unsigned int addr_mapping, 60 unsigned int nbr_of_ranks) 61 : RandomGen(gen, _duration, start_addr, end_addr, 62 _blocksize, min_period, max_period, read_percent, data_limit), 63 numSeqPkts(num_seq_pkts), countNumSeqPkts(0), addr(0), 64 isRead(true), pageSize(page_size), 65 pageBits(floorLog2(page_size / _blocksize)), 66 bankBits(floorLog2(nbr_of_banks_DRAM)), 67 blockBits(floorLog2(_blocksize)), 68 nbrOfBanksDRAM(nbr_of_banks_DRAM), 69 nbrOfBanksUtil(nbr_of_banks_util), addrMapping(addr_mapping), 70 rankBits(floorLog2(nbr_of_ranks)), 71 nbrOfRanks(nbr_of_ranks) 72{ 73 if (addrMapping != 1 && addrMapping != 0) { 74 addrMapping = 1; 75 warn("Unknown address mapping specified, using RoRaBaCoCh\n"); 76 } 77 78 if (nbr_of_banks_util > nbr_of_banks_DRAM) 79 fatal("Attempting to use more banks (%d) than " 80 "what is available (%d)\n", 81 nbr_of_banks_util, nbr_of_banks_DRAM); 82} 83 |
|
51PacketPtr 52DramGen::getNextPacket() 53{ 54 // if this is the first of the packets in series to be generated, 55 // start counting again 56 if (countNumSeqPkts == 0) { 57 countNumSeqPkts = numSeqPkts; 58 --- 107 unchanged lines hidden --- | 84PacketPtr 85DramGen::getNextPacket() 86{ 87 // if this is the first of the packets in series to be generated, 88 // start counting again 89 if (countNumSeqPkts == 0) { 90 countNumSeqPkts = numSeqPkts; 91 --- 107 unchanged lines hidden --- |