Skip to content

Class NetworkDelayStruct

ClassList > NetworkDelayStruct

List of network delay item.

  • #include <net_delay.h>

Public Functions

Type Name
NetworkDelayStruct ()
bool checkOrderOfCommand (const InterChiplet::SyncCommand & __cmd)
Check the order of write/read commands.
void clearDelayInfo ()
Clear delay information.
InterChiplet::AddrType frontLaunchSrc (const InterChiplet::AddrType & __dst)
Return the source address of the first LAUNCH command to the specified destination address.
InterChiplet::AddrType frontLockSrc (const InterChiplet::AddrType & __dst)
Return the source address of the first LOCK command to the specified destination address.
InterChiplet::InnerTimeType getBarrierCycle (const std::vector< InterChiplet::SyncCommand > & barrier_items)
InterChiplet::InnerTimeType getDefaultEndCycle (const InterChiplet::SyncCommand & write_cmd)
Get end cycle of one communication if cannot find this communication from delay list.
CmdDelayPair getDefaultEndCycle (const InterChiplet::SyncCommand & write_cmd, const InterChiplet::SyncCommand & read_cmd)
Get end cycle of one communication if cannot find this communication from delay list.
CmdDelayPair getEndCycle (const InterChiplet::SyncCommand & __write_cmd, const InterChiplet::SyncCommand & __read_cmd)
Get end cycle of one communication.
bool hasLaunch (const InterChiplet::AddrType & __dst)
Check whether there is LAUNCH command in order.
bool hasLock (const InterChiplet::AddrType & __dst)
Check whether there is LOCK command in order.
void loadDelayInfo (const std::string & __file_name, double __clock_rate)
Load package delay list from specified file.
void popLaunch (const InterChiplet::AddrType & __dst)
Pop the first LAUNCH command to the specified destination address.
void popLock (const InterChiplet::AddrType & __dst)
Pop the first LOCK command to the specified destination address.
int size () const

Public Functions Documentation

function NetworkDelayStruct

inline NetworkDelayStruct::NetworkDelayStruct () 

function checkOrderOfCommand

Check the order of write/read commands.

inline bool NetworkDelayStruct::checkOrderOfCommand (
    const InterChiplet::SyncCommand & __cmd
) 

Parameters:

  • __cmd Command to check.

Returns:

If the order of command matches the order of delay infomation, return True. Otherwise return False.

function clearDelayInfo

inline void NetworkDelayStruct::clearDelayInfo () 

function frontLaunchSrc

Return the source address of the first LAUNCH command to the specified destination address.

inline InterChiplet::AddrType NetworkDelayStruct::frontLaunchSrc (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

Returns:

The source address of the first LAUNCH command.

function frontLockSrc

Return the source address of the first LOCK command to the specified destination address.

inline InterChiplet::AddrType NetworkDelayStruct::frontLockSrc (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

Returns:

The source address of the first LOCK command.

function getBarrierCycle

inline InterChiplet::InnerTimeType NetworkDelayStruct::getBarrierCycle (
    const std::vector< InterChiplet::SyncCommand > & barrier_items
) 

function getDefaultEndCycle [1/2]

Get end cycle of one communication if cannot find this communication from delay list.

inline InterChiplet::InnerTimeType NetworkDelayStruct::getDefaultEndCycle (
    const InterChiplet::SyncCommand & write_cmd
) 

Parameters:

  • __write_cmd Write command

Returns:

End cycle of this communication, used to acknowledge SYNC command.

function getDefaultEndCycle [2/2]

Get end cycle of one communication if cannot find this communication from delay list.

inline CmdDelayPair NetworkDelayStruct::getDefaultEndCycle (
    const InterChiplet::SyncCommand & write_cmd,
    const InterChiplet::SyncCommand & read_cmd
) 

Parameters:

  • __write_cmd Write command
  • __read_cmd Read command.

Returns:

End cycle of this communication, used to acknowledge SYNC command.

function getEndCycle

Get end cycle of one communication.

inline CmdDelayPair NetworkDelayStruct::getEndCycle (
    const InterChiplet::SyncCommand & __write_cmd,
    const InterChiplet::SyncCommand & __read_cmd
) 

Parameters:

  • __write_cmd Write command
  • __read_cmd Read command.

Returns:

End cycle of this communication, used to acknowledge SYNC command.

function hasLaunch

Check whether there is LAUNCH command in order.

inline bool NetworkDelayStruct::hasLaunch (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

Returns:

If there is LAUNCH command to the specified destination address, return True.

function hasLock

Check whether there is LOCK command in order.

inline bool NetworkDelayStruct::hasLock (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

Returns:

If there is LOCK command to the specified destination address, return True.

function loadDelayInfo

Load package delay list from specified file.

inline void NetworkDelayStruct::loadDelayInfo (
    const std::string & __file_name,
    double __clock_rate
) 

Parameters:

  • __file_name Path to benchmark file.
  • __clock_rate Clock ratio (Simulator clock/Interchiplet clock).

function popLaunch

Pop the first LAUNCH command to the specified destination address.

inline void NetworkDelayStruct::popLaunch (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

function popLock

Pop the first LOCK command to the specified destination address.

inline void NetworkDelayStruct::popLock (
    const InterChiplet::AddrType & __dst
) 

Parameters:

  • __dst Destination address.

function size

inline int NetworkDelayStruct::size () const

The documentation for this class was generated from the following file /data_sda/junwan02/legosim/Chiplet_Heterogeneous_newVersion/interchiplet/includes/net_delay.h