1/* 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 --- 306 unchanged lines hidden (view full) --- 315 retryTicks 316 .name(name() + ".retryTicks") 317 .desc("Time spent waiting due to back-pressure (ticks)"); 318} 319 320std::shared_ptr<BaseGen> 321BaseTrafficGen::createIdle(Tick duration) 322{ |
323 return std::shared_ptr<BaseGen>(new IdleGen(*this, masterID, duration)); |
324} 325 326std::shared_ptr<BaseGen> 327BaseTrafficGen::createExit(Tick duration) 328{ |
329 return std::shared_ptr<BaseGen>(new ExitGen(*this, masterID, duration)); |
330} 331 332std::shared_ptr<BaseGen> 333BaseTrafficGen::createLinear(Tick duration, 334 Addr start_addr, Addr end_addr, Addr blocksize, 335 Tick min_period, Tick max_period, 336 uint8_t read_percent, Addr data_limit) 337{ |
338 return std::shared_ptr<BaseGen>(new LinearGen(*this, masterID, |
339 duration, start_addr, 340 end_addr, blocksize, |
341 system->cacheLineSize(), |
342 min_period, max_period, 343 read_percent, data_limit)); 344} 345 346std::shared_ptr<BaseGen> 347BaseTrafficGen::createRandom(Tick duration, 348 Addr start_addr, Addr end_addr, Addr blocksize, 349 Tick min_period, Tick max_period, 350 uint8_t read_percent, Addr data_limit) 351{ |
352 return std::shared_ptr<BaseGen>(new RandomGen(*this, masterID, |
353 duration, start_addr, 354 end_addr, blocksize, |
355 system->cacheLineSize(), |
356 min_period, max_period, 357 read_percent, data_limit)); 358} 359 360std::shared_ptr<BaseGen> 361BaseTrafficGen::createDram(Tick duration, 362 Addr start_addr, Addr end_addr, Addr blocksize, 363 Tick min_period, Tick max_period, 364 uint8_t read_percent, Addr data_limit, 365 unsigned int num_seq_pkts, unsigned int page_size, 366 unsigned int nbr_of_banks_DRAM, 367 unsigned int nbr_of_banks_util, 368 unsigned int addr_mapping, 369 unsigned int nbr_of_ranks) 370{ |
371 return std::shared_ptr<BaseGen>(new DramGen(*this, masterID, |
372 duration, start_addr, 373 end_addr, blocksize, |
374 system->cacheLineSize(), |
375 min_period, max_period, 376 read_percent, data_limit, 377 num_seq_pkts, page_size, 378 nbr_of_banks_DRAM, 379 nbr_of_banks_util, 380 addr_mapping, 381 nbr_of_ranks)); 382} --- 6 unchanged lines hidden (view full) --- 389 unsigned int num_seq_pkts, 390 unsigned int page_size, 391 unsigned int nbr_of_banks_DRAM, 392 unsigned int nbr_of_banks_util, 393 unsigned int addr_mapping, 394 unsigned int nbr_of_ranks, 395 unsigned int max_seq_count_per_rank) 396{ |
397 return std::shared_ptr<BaseGen>(new DramRotGen(*this, masterID, |
398 duration, start_addr, 399 end_addr, blocksize, |
400 system->cacheLineSize(), |
401 min_period, max_period, 402 read_percent, data_limit, 403 num_seq_pkts, page_size, 404 nbr_of_banks_DRAM, 405 nbr_of_banks_util, 406 addr_mapping, 407 nbr_of_ranks, 408 max_seq_count_per_rank)); 409} 410 411std::shared_ptr<BaseGen> 412BaseTrafficGen::createTrace(Tick duration, 413 const std::string& trace_file, Addr addr_offset) 414{ 415#if HAVE_PROTOBUF 416 return std::shared_ptr<BaseGen>( |
417 new TraceGen(*this, masterID, duration, trace_file, addr_offset)); |
418#else 419 panic("Can't instantiate trace generation without Protobuf support!\n"); 420#endif 421} 422 423bool 424BaseTrafficGen::TrafficGenPort::recvTimingResp(PacketPtr pkt) 425{ 426 delete pkt; 427 428 return true; 429} |