Hi steve,

   In m5_2.0b4, physicalMemory.cc file includes "params/PhysicalMemory.hh".
But I cannot find this head file except in the build/ALPHA_FS/params
directory. So does the dram.hh file.
   Does that mean I also need to include "params/sdram.hh" file in my
sdram.cc? If so, how to get the "params/sdram.hh" file?

Tracy



> All that you have to do is create a getPort() function on your C++
> object and declare a Port attribute on the corresponding Python
> object.  Then your python script can connect the port on your object
> to a port on any other object (using '='), and m5 takes care of the
> rest.  Take a look at PhysicalMemory.py and physical.cc for an
> example.
>
> Steve
>
> On Nov 14, 2007 6:55 AM,  <[EMAIL PROTECTED]> wrote:
>> Hi steve,
>>
>>    Thanks for replying me!
>>    I am using M5 b3 version now. My SDRAM model is implemented from
>> scratch in SE mode.
>>    I have another question: If I create a Memory port in my SDRAM
>> object,
>> how to connect this port to the bus, or how to set the peer port?
>>    Maybe this question is stupid, but I am not really clear about the
>> usage and implementation of port object.
>>
>> Rongrong
>>
>>
>>
>> > I'm a little confused... memory system timing is basically the same in
>> > SE and FS modes.  If you're using an old version of M5, it's true that
>> > different main-memory objects got used in those two modes, but that's
>> > not true anymore in b4; they both use PhysicalMemory.  (Actually I
>> > think that change happened in b3, or maybe even earlier.)
>> >
>> > It's probably easiest to derive from PhysicalMemory, though you could
>> > write your own object from scratch.  If you're working with b4 (which
>> > you probably should), then I'd recommend the following approach:
>> >
>> > - derive your SDRAM object from PhysicalMemory
>> > - inside your SDRAM object, create a MemoryPort class that derives
>> > from PhysicalMemory::MemoryPort
>> > - in SDRAM::MemoryPort, override the recvTiming() function (which is
>> > currently defined in SimpleTimingPort) with a version that's the same
>> > as in SimpleTimingPort except leave out the "schedSendTiming(pkt,
>> > curTick + latency);" line.
>> > - later when you know what tick the response will be ready, call
>> > "port->schedSendTiming(pkt, doneTick);".  Note that you'll either have
>> > to record the port the packet came in on, or override
>> > PhysicalMemory::getPort() to only allow one non-functional port to be
>> > created.  (I'm not sure when if ever PhysicalMemory needs multiple
>> > non-functional ports...)
>> >
>> > I haven't actually tried this, but if I were trying to do a detailed
>> > DRAM model that's how I'd go about it.
>> >
>> > Steve
>> >
>> > On 11/13/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>> >> Hi,
>> >>
>> >>    I have some questions about adding a new SDRAM model with
>> >> out-of-order
>> >> memory access scheduling into FS mode. This SDRAM model can run
>> >> correctly in SE mode.
>> >>     In SE mode, once a memory access is scheduled, the response time
>> >> will
>> >> be sent out by calling the callback function -
>> >> slaveInterface->respond().
>> >>     In FS mode, there is no such callback function. Instead,
>> >> sendTiming(pkt, latency) is called to send the latency to EventQueue.
>> >> This function is called every packet and the calculated memory access
>> >> latency is fixed.
>> >>     My questions are :
>> >>     1. Should I derive my SDRAM class from physicalMemory? In SE
>> mode,
>> >> this SDRAM model is derived from SimObject class.
>> >>     2. In our SDRAM model, memory accesses are scheduled every memory
>> >> cycle, could I just call sendTiming(pkt, latency) in my code once the
>> >> latency is obtained?
>> >>     3. How to set the port to my SDRAM model?
>> >>
>> >> Thanks,
>> >> Tracy
>> >> _______________________________________________
>> >> m5-users mailing list
>> >> m5-users@m5sim.org
>> >> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>> >>
>> > _______________________________________________
>> > m5-users mailing list
>> > m5-users@m5sim.org
>> > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>> >
>>
>> _______________________________________________
>> m5-users mailing list
>> m5-users@m5sim.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>
> _______________________________________________
> m5-users mailing list
> m5-users@m5sim.org
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>

_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to