xbar.hh (10713:eddb533708cb) | xbar.hh (10719:b4fc9ad648aa) |
---|---|
1/* 2 * Copyright (c) 2011-2015 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 --- 295 unchanged lines hidden (view full) --- 304 Layer(_port, _xbar, _name) {} 305 306 protected: 307 308 void sendRetry(SlavePort* retry_port) 309 { retry_port->sendRetrySnoopResp(); } 310 }; 311 | 1/* 2 * Copyright (c) 2011-2015 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 --- 295 unchanged lines hidden (view full) --- 304 Layer(_port, _xbar, _name) {} 305 306 protected: 307 308 void sendRetry(SlavePort* retry_port) 309 { retry_port->sendRetrySnoopResp(); } 310 }; 311 |
312 /** cycles of overhead per transaction */ 313 const Cycles headerCycles; | 312 /** 313 * Cycles of front-end pipeline including the delay to accept the request 314 * and to decode the address. 315 */ 316 const Cycles frontendLatency; 317 /** Cycles of forward latency */ 318 const Cycles forwardLatency; 319 /** Cycles of response latency */ 320 const Cycles responseLatency; |
314 /** the width of the xbar in bytes */ 315 const uint32_t width; 316 317 AddrRangeMap<PortID> portMap; 318 319 /** 320 * Remember where request packets came from so that we can route 321 * responses to the appropriate port. This relies on the fact that --- 77 unchanged lines hidden (view full) --- 399 */ 400 AddrRangeList getAddrRanges() const; 401 402 /** 403 * Calculate the timing parameters for the packet. Updates the 404 * headerDelay and payloadDelay fields of the packet 405 * object with the relative number of ticks required to transmit 406 * the header and the payload, respectively. | 321 /** the width of the xbar in bytes */ 322 const uint32_t width; 323 324 AddrRangeMap<PortID> portMap; 325 326 /** 327 * Remember where request packets came from so that we can route 328 * responses to the appropriate port. This relies on the fact that --- 77 unchanged lines hidden (view full) --- 406 */ 407 AddrRangeList getAddrRanges() const; 408 409 /** 410 * Calculate the timing parameters for the packet. Updates the 411 * headerDelay and payloadDelay fields of the packet 412 * object with the relative number of ticks required to transmit 413 * the header and the payload, respectively. |
414 * 415 * @param pkt Packet to populate with timings 416 * @param header_delay Header delay to be added |
|
407 */ | 417 */ |
408 void calcPacketTiming(PacketPtr pkt); | 418 void calcPacketTiming(PacketPtr pkt, Tick header_delay); |
409 410 /** 411 * Remember for each of the master ports of the crossbar if we got 412 * an address range from the connected slave. For convenience, 413 * also keep track of if we got ranges from all the slave modules 414 * or not. 415 */ 416 std::vector<bool> gotAddrRanges; --- 49 unchanged lines hidden --- | 419 420 /** 421 * Remember for each of the master ports of the crossbar if we got 422 * an address range from the connected slave. For convenience, 423 * also keep track of if we got ranges from all the slave modules 424 * or not. 425 */ 426 std::vector<bool> gotAddrRanges; --- 49 unchanged lines hidden --- |