diff options
Diffstat (limited to 'src/mem/ruby/network')
-rw-r--r-- | src/mem/ruby/network/MessageBuffer.cc | 4 | ||||
-rw-r--r-- | src/mem/ruby/network/MessageBuffer.py | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/mem/ruby/network/MessageBuffer.cc b/src/mem/ruby/network/MessageBuffer.cc index f4eca3b1e..560b69c63 100644 --- a/src/mem/ruby/network/MessageBuffer.cc +++ b/src/mem/ruby/network/MessageBuffer.cc @@ -156,7 +156,9 @@ MessageBuffer::enqueue(MsgPtr message, Tick current_time, Tick delta) assert(delta > 0); Tick arrival_time = 0; - if (!RubySystem::getRandomization() || !m_randomization) { + // random delays are inserted if either RubySystem level randomization flag + // is turned on, or the buffer level randomization is set + if (!RubySystem::getRandomization() && !m_randomization) { // No randomization arrival_time = current_time + delta; } else { diff --git a/src/mem/ruby/network/MessageBuffer.py b/src/mem/ruby/network/MessageBuffer.py index d8a028532..b8a44ba91 100644 --- a/src/mem/ruby/network/MessageBuffer.py +++ b/src/mem/ruby/network/MessageBuffer.py @@ -37,7 +37,10 @@ class MessageBuffer(SimObject): ordered = Param.Bool(False, "Whether the buffer is ordered") buffer_size = Param.Unsigned(0, "Maximum number of entries to buffer \ (0 allows infinite entries)") - randomization = Param.Bool(False, "") + randomization = Param.Bool(False, "Insert random delays on message \ + enqueue times (enforced to have \ + random delays if RubySystem \ + randomization flag is True)") master = MasterPort("Master port to MessageBuffer receiver") slave = SlavePort("Slave port from MessageBuffer sender") |