diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/buffers/MessageBuffer.cc --- a/src/mem/ruby/buffers/MessageBuffer.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/buffers/MessageBuffer.cc Fri Feb 01 07:49:04 2013 -0600 @@ -208,13 +208,13 @@ Message* msg_ptr = message.get(); assert(msg_ptr != NULL); - assert(m_clockobj_ptr->curCycle() >= msg_ptr->getLastEnqueueTime() && + assert(m_clockobj_ptr->clockEdge() >= msg_ptr->getLastEnqueueTime() && "ensure we aren't dequeued early"); - msg_ptr->setDelayedCycles(m_clockobj_ptr->curCycle() - + msg_ptr->setDelayedTicks(m_clockobj_ptr->clockEdge() - msg_ptr->getLastEnqueueTime() + - msg_ptr->getDelayedCycles()); - msg_ptr->setLastEnqueueTime(arrival_time); + msg_ptr->getDelayedTicks()); + msg_ptr->setLastEnqueueTime(arrival_time * m_clockobj_ptr->clockPeriod()); // Insert the message into the priority heap MessageBufferNode thisNode(arrival_time, m_msg_counter, message); @@ -393,12 +393,13 @@ // this function should only be called on dequeue // ensure the msg hasn't been enqueued - assert(msg_ptr->getLastEnqueueTime() <= m_clockobj_ptr->curCycle()); - msg_ptr->setDelayedCycles(m_clockobj_ptr->curCycle() - - msg_ptr->getLastEnqueueTime() + - msg_ptr->getDelayedCycles()); + assert(msg_ptr->getLastEnqueueTime() <= m_clockobj_ptr->clockEdge()); - return msg_ptr->getDelayedCycles(); + msg_ptr->setDelayedTicks(m_clockobj_ptr->clockEdge() - + msg_ptr->getLastEnqueueTime() + + msg_ptr->getDelayedTicks()); + + return m_clockobj_ptr->ticksToCycles(msg_ptr->getDelayedTicks()); } void diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc Fri Feb 01 07:49:04 2013 -0600 @@ -173,7 +173,8 @@ flit_d *fl = new flit_d(i, vc, vnet, num_flits, new_msg_ptr, m_net_ptr->curCycle()); - fl->set_delay(m_net_ptr->curCycle() - msg_ptr->getTime()); + fl->set_delay(m_net_ptr->curCycle() - + m_net_ptr->ticksToCycles(msg_ptr->getTime())); m_ni_buffers[vc]->insert(fl); } diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc --- a/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc Fri Feb 01 07:49:04 2013 -0600 @@ -169,7 +169,8 @@ m_net_ptr->increment_injected_flits(vnet); flit *fl = new flit(i, vc, vnet, num_flits, new_msg_ptr, m_net_ptr->curCycle()); - fl->set_delay(m_net_ptr->curCycle() - msg_ptr->getTime()); + fl->set_delay(m_net_ptr->curCycle() - + m_net_ptr->ticksToCycles(msg_ptr->getTime())); m_ni_buffers[vc]->insert(fl); } diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/network/simple/Throttle.cc --- a/src/mem/ruby/network/simple/Throttle.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/network/simple/Throttle.cc Fri Feb 01 07:49:04 2013 -0600 @@ -174,7 +174,7 @@ DPRINTF(RubyNetwork, "throttle: %d my bw %d bw spent " "enqueueing net msg %d time: %lld.\n", m_node, getLinkBandwidth(), m_units_remaining[vnet], - g_system_ptr->getTime()); + g_system_ptr->curCycle()); // Move the message m_out[vnet]->enqueue(m_in[vnet]->peekMsgPtr(), m_link_latency); @@ -235,7 +235,7 @@ void Throttle::clearStats() { - m_ruby_start = g_system_ptr->getTime(); + m_ruby_start = g_system_ptr->curCycle(); m_links_utilized = 0.0; for (int i = 0; i < m_message_counters.size(); i++) { @@ -249,7 +249,7 @@ Throttle::getUtilization() const { return 100.0 * double(m_links_utilized) / - double(g_system_ptr->getTime()-m_ruby_start); + double(g_system_ptr->curCycle()-m_ruby_start); } void diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/profiler/Profiler.cc --- a/src/mem/ruby/profiler/Profiler.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/profiler/Profiler.cc Fri Feb 01 07:49:04 2013 -0600 @@ -113,13 +113,13 @@ for (int i = 0; i < m_num_of_sequencers; i++) { perProcCycleCount[i] = - g_system_ptr->getTime() - m_cycles_executed_at_start[i] + 1; + g_system_ptr->curCycle() - m_cycles_executed_at_start[i] + 1; // The +1 allows us to avoid division by zero } ostream &out = *m_periodic_output_file_ptr; - out << "ruby_cycles: " << g_system_ptr->getTime()-m_ruby_start << endl + out << "ruby_cycles: " << g_system_ptr->curCycle()-m_ruby_start << endl << "mbytes_resident: " << process_memory_resident() << endl << "mbytes_total: " << process_memory_total() << endl; @@ -270,7 +270,7 @@ double minutes = seconds / 60.0; double hours = minutes / 60.0; double days = hours / 24.0; - Cycles ruby_cycles = g_system_ptr->getTime()-m_ruby_start; + Cycles ruby_cycles = g_system_ptr->curCycle()-m_ruby_start; if (!short_stats) { out << "Elapsed_time_in_seconds: " << seconds << endl; @@ -293,7 +293,7 @@ out << "Virtual_time_in_days: " << days << endl; out << endl; - out << "Ruby_current_time: " << g_system_ptr->getTime() << endl; + out << "Ruby_current_time: " << g_system_ptr->curCycle() << endl; out << "Ruby_start_time: " << m_ruby_start << endl; out << "Ruby_cycles: " << ruby_cycles << endl; out << endl; @@ -312,7 +312,7 @@ for (int i = 0; i < m_num_of_sequencers; i++) { perProcCycleCount[i] = - g_system_ptr->getTime() - m_cycles_executed_at_start[i] + 1; + g_system_ptr->curCycle() - m_cycles_executed_at_start[i] + 1; // The +1 allows us to avoid division by zero } @@ -497,7 +497,7 @@ void Profiler::clearStats() { - m_ruby_start = g_system_ptr->getTime(); + m_ruby_start = g_system_ptr->curCycle(); m_real_time_start_time = time(NULL); m_cycles_executed_at_start.resize(m_num_of_sequencers); @@ -505,7 +505,7 @@ if (g_system_ptr == NULL) { m_cycles_executed_at_start[i] = 0; } else { - m_cycles_executed_at_start[i] = g_system_ptr->getTime(); + m_cycles_executed_at_start[i] = g_system_ptr->curCycle(); } } @@ -563,7 +563,7 @@ //g_eventQueue_ptr->triggerAllEvents(); // update the start time - m_ruby_start = g_system_ptr->getTime(); + m_ruby_start = g_system_ptr->curCycle(); } void @@ -734,7 +734,7 @@ uint64 tr = 0; Address watch_address = Address(tr); - DPRINTFN("%7s %3s RUBY WATCH %d\n", g_system_ptr->getTime(), id, + DPRINTFN("%7s %3s RUBY WATCH %d\n", g_system_ptr->curCycle(), id, watch_address); // don't care about success or failure diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/slicc_interface/Message.hh --- a/src/mem/ruby/slicc_interface/Message.hh Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/slicc_interface/Message.hh Fri Feb 01 07:49:04 2013 -0600 @@ -40,16 +40,16 @@ class Message : public RefCounted { public: - Message(Cycles curTime) + Message(Tick curTime) : m_time(curTime), m_LastEnqueueTime(curTime), - m_DelayedCycles(0) + m_DelayedTicks(0) { } Message(const Message &other) : m_time(other.m_time), m_LastEnqueueTime(other.m_LastEnqueueTime), - m_DelayedCycles(other.m_DelayedCycles) + m_DelayedTicks(other.m_DelayedTicks) { } virtual ~Message() { } @@ -71,19 +71,19 @@ virtual bool functionalWrite(Packet *pkt) = 0; //{ fatal("Write functional access not implemented!"); } - void setDelayedCycles(const Cycles cycles) { m_DelayedCycles = cycles; } - const Cycles getDelayedCycles() const {return m_DelayedCycles;} + void setDelayedTicks(const Tick ticks) { m_DelayedTicks = ticks; } + const Tick getDelayedTicks() const {return m_DelayedTicks;} - void setLastEnqueueTime(const Cycles& time) { m_LastEnqueueTime = time; } - const Cycles getLastEnqueueTime() const {return m_LastEnqueueTime;} + void setLastEnqueueTime(const Tick& time) { m_LastEnqueueTime = time; } + const Tick getLastEnqueueTime() const {return m_LastEnqueueTime;} - const Cycles& getTime() const { return m_time; } - void setTime(const Cycles& new_time) { m_time = new_time; } + const Tick& getTime() const { return m_time; } + void setTime(const Tick& new_time) { m_time = new_time; } private: - Cycles m_time; - Cycles m_LastEnqueueTime; // my last enqueue time - Cycles m_DelayedCycles; // my delayed cycles + Tick m_time; + Tick m_LastEnqueueTime; // my last enqueue time + Tick m_DelayedTicks; // my delayed cycles }; inline std::ostream& diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/slicc_interface/NetworkMessage.hh --- a/src/mem/ruby/slicc_interface/NetworkMessage.hh Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/slicc_interface/NetworkMessage.hh Fri Feb 01 07:49:04 2013 -0600 @@ -42,7 +42,7 @@ class NetworkMessage : public Message { public: - NetworkMessage(Cycles curTime) + NetworkMessage(Tick curTime) : Message(curTime), m_internal_dest_valid(false) { } diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/slicc_interface/RubyRequest.hh --- a/src/mem/ruby/slicc_interface/RubyRequest.hh Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/slicc_interface/RubyRequest.hh Fri Feb 01 07:49:04 2013 -0600 @@ -51,7 +51,7 @@ PacketPtr pkt; unsigned m_contextId; - RubyRequest(Cycles curTime, uint64_t _paddr, uint8_t* _data, int _len, + RubyRequest(Tick curTime, uint64_t _paddr, uint8_t* _data, int _len, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, PrefetchBit _pb = PrefetchBit_No, unsigned _proc_id = 100) @@ -70,60 +70,18 @@ m_LineAddress.makeLineAddress(); } - RubyRequest(Cycles curTime) : Message(curTime) - { - } + RubyRequest(Tick curTime) : Message(curTime) {} + RubyRequest* clone() const { return new RubyRequest(*this); } - RubyRequest* - clone() const - { - return new RubyRequest(*this); - } - - const Address& - getLineAddress() const - { - return m_LineAddress; - } - - const Address& - getPhysicalAddress() const - { - return m_PhysicalAddress; - } - - const RubyRequestType& - getType() const - { - return m_Type; - } - - const Address& - getProgramCounter() const - { - return m_ProgramCounter; - } - - const RubyAccessMode& - getAccessMode() const - { - return m_AccessMode; - } - - const int& - getSize() const - { - return m_Size; - } - - const PrefetchBit& - getPrefetch() const - { - return m_Prefetch; - } + const Address& getLineAddress() const { return m_LineAddress; } + const Address& getPhysicalAddress() const { return m_PhysicalAddress; } + const RubyRequestType& getType() const { return m_Type; } + const Address& getProgramCounter() const { return m_ProgramCounter; } + const RubyAccessMode& getAccessMode() const { return m_AccessMode; } + const int& getSize() const { return m_Size; } + const PrefetchBit& getPrefetch() const { return m_Prefetch; } void print(std::ostream& out) const; - bool functionalRead(Packet *pkt); bool functionalWrite(Packet *pkt); }; diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/system/DMASequencer.cc --- a/src/mem/ruby/system/DMASequencer.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/system/DMASequencer.cc Fri Feb 01 07:49:04 2013 -0600 @@ -70,7 +70,7 @@ active_request.bytes_issued = 0; active_request.pkt = pkt; - SequencerMsg *msg = new SequencerMsg(curCycle()); + SequencerMsg *msg = new SequencerMsg(clockEdge()); msg->getPhysicalAddress() = Address(paddr); msg->getLineAddress() = line_address(msg->getPhysicalAddress()); msg->getType() = write ? SequencerRequestType_ST : SequencerRequestType_LD; @@ -108,7 +108,7 @@ return; } - SequencerMsg *msg = new SequencerMsg(curCycle()); + SequencerMsg *msg = new SequencerMsg(clockEdge()); msg->getPhysicalAddress() = Address(active_request.start_paddr + active_request.bytes_completed); diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/system/RubyMemoryControl.cc --- a/src/mem/ruby/system/RubyMemoryControl.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/system/RubyMemoryControl.cc Fri Feb 01 07:49:04 2013 -0600 @@ -278,7 +278,7 @@ void RubyMemoryControl::enqueue(const MsgPtr& message, Cycles latency) { - Cycles arrival_time = g_system_ptr->getTime() + latency; + Cycles arrival_time = curCycle() + latency; const MemoryMsg* memMess = safe_cast(message.get()); physical_address_t addr = memMess->getAddress().getAddress(); MemoryRequestType type = memMess->getType(); @@ -345,7 +345,7 @@ RubyMemoryControl::isReady() { return ((!m_response_queue.empty()) && - (m_response_queue.front().m_time <= g_system_ptr->getTime())); + (m_response_queue.front().m_time <= g_system_ptr->curCycle())); } void diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/system/Sequencer.cc --- a/src/mem/ruby/system/Sequencer.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/system/Sequencer.cc Fri Feb 01 07:49:04 2013 -0600 @@ -657,7 +657,7 @@ pc = pkt->req->getPC(); } - RubyRequest *msg = new RubyRequest(curCycle(), pkt->getAddr(), + RubyRequest *msg = new RubyRequest(clockEdge(), pkt->getAddr(), pkt->getPtr(true), pkt->getSize(), pc, secondary_type, RubyAccessMode_Supervisor, pkt, diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/system/System.hh --- a/src/mem/ruby/system/System.hh Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/system/System.hh Fri Feb 01 07:49:04 2013 -0600 @@ -79,7 +79,6 @@ static uint32_t getBlockSizeBits() { return m_block_size_bits; } static uint64_t getMemorySizeBytes() { return m_memory_size_bytes; } static uint32_t getMemorySizeBits() { return m_memory_size_bits; } - Cycles getTime() const { return curCycle(); } // Public Methods Network* diff -r f07152438a59 -r 1b6c00205a89 src/mem/ruby/system/WireBuffer.cc --- a/src/mem/ruby/system/WireBuffer.cc Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/ruby/system/WireBuffer.cc Fri Feb 01 07:49:04 2013 -0600 @@ -73,7 +73,7 @@ WireBuffer::enqueue(MsgPtr message, Cycles latency) { m_msg_counter++; - Cycles current_time = g_system_ptr->getTime(); + Cycles current_time = g_system_ptr->curCycle(); Cycles arrival_time = current_time + latency; assert(arrival_time > current_time); @@ -124,7 +124,7 @@ pop_heap(m_message_queue.begin(), m_message_queue.end(), greater()); - node.m_time = g_system_ptr->getTime() + Cycles(1); + node.m_time = g_system_ptr->curCycle() + Cycles(1); m_message_queue.back() = node; push_heap(m_message_queue.begin(), m_message_queue.end(), greater()); @@ -135,7 +135,7 @@ WireBuffer::isReady() { return ((!m_message_queue.empty()) && - (m_message_queue.front().m_time <= g_system_ptr->getTime())); + (m_message_queue.front().m_time <= g_system_ptr->curCycle())); } void diff -r f07152438a59 -r 1b6c00205a89 src/mem/slicc/ast/EnqueueStatementAST.py --- a/src/mem/slicc/ast/EnqueueStatementAST.py Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/slicc/ast/EnqueueStatementAST.py Fri Feb 01 07:49:04 2013 -0600 @@ -54,7 +54,7 @@ # Declare message code("${{msg_type.ident}} *out_msg = "\ - "new ${{msg_type.ident}}(curCycle());") + "new ${{msg_type.ident}}(clockEdge());") # The other statements t = self.statements.generate(code, None) diff -r f07152438a59 -r 1b6c00205a89 src/mem/slicc/symbols/Type.py --- a/src/mem/slicc/symbols/Type.py Fri Feb 01 07:45:40 2013 -0600 +++ b/src/mem/slicc/symbols/Type.py Fri Feb 01 07:49:04 2013 -0600 @@ -246,7 +246,7 @@ ''', klass="class") if self.isMessage: - code('(Cycles curTime) : %s(curTime) {' % self["interface"]) + code('(Tick curTime) : %s(curTime) {' % self["interface"]) else: code('()\n\t\t{') @@ -291,7 +291,7 @@ params = ', '.join(params) if self.isMessage: - params = "const Cycles curTime, " + params + params = "const Tick curTime, " + params code('${{self.c_ident}}($params)')