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 ---