the params/* files are automatically generated from the SimObject descriptions in the py files.

By defining the appropriate parameters in a py file (like PhysicalMemory and DRAMMemory are defined in PhysicalMemory.py) the build process will generate a header for your in the params directory.

Ali

On Nov 19, 2007, at 3:38 PM, [EMAIL PROTECTED] wrote:

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


_______________________________________________
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