Hi Christian,

Thank you for the reply. I get your point that since there is no tlm-memory 
object, GEM5 does not treat it as a memory. 

For the solution you are suggesting to have a connection to the accelerator in 
my config file. What I have tried is to have a CPU connected to 
membus(interconnect) at one end and SimpleMemory and TLM slave connected at the 
other end (using se.py as a starting point). GEM5 simulates it, but what I am 
unable to do is to do a transaction or address the TLM slave from a C program. 
Please let me know if this is correct as the connection to the TLM slave 
(accelerator) is through the membus. 

So I am basically trying to do a transaction in the direction of TLM bridge, 
but don't know how to initiate it from a C program.

Thank you

Regards
Yasir



-----Original Message-----
From: Christian Menard [mailto:[email protected]] 
Sent: 20 June 2017 14:37
To: [email protected]
Cc: Qureshi Yasir Mahmood <[email protected]>; Matthias Jung 
<[email protected]>
Subject: Re: [gem5-users] SystemC and GEM5 SE Mode

Hi Yasir,

> So I think there is a bug in se.py that when tlm-memory is used, it 
> doesn't create any other memory.

This is not a bug, its a feature! However, there is a bug of another kind.

The --tlm-memory switch indicates that you want to use a TLM memory instead of 
a gem5 memory. So, none is created. However, since there is no Memory object in 
the gem5 system, the system thinks that there is not enough space. This is the 
bug. There should be a Memory object that points to the external slave and 
indicates to the system how much memory is available. I think the best way to 
resolve this (and also a better way to configure this) would be to introduce a 
new memory type 'TlmMemory' and a corresponding class that is instantiated 
during configuration.

To your problem: if you want to use a gem5 memory and connect your accelerator 
using the --tlm-memory switch, this is not possible. Instead you should build 
your own configuration. se.py is just a template and intended to be modified 
for more complex systems. You could simply copy se.py to your own config and 
hard code the connection to your accelerator or maybe even add some cli 
arguments to configure this connection.

Best regards,
Christian

On Monday, 12 June 2017 14:44:49 CEST Qureshi Yasir Mahmood wrote:
> Hi Matthias,
> 
> I think I have a clue to the problem in the TLM and se.py simulation  
> that when I configure se.py to have TLM memory using configuration 
> parameter --tlm-memory, and also have some physical memory like 
> SimpleMemory using --mem-type=SimpleMemory, it only creates the TLM 
> memory port and does not instantiate the Simple memory. I manually edited the 
> config.ini file to
> include   both SimpleMemory and the tlm-memory and the helloworld program
> worked.
 
> So I think there is a bug in se.py that when tlm-memory is used, it 
> doesn't create any other memory.
 
> Regards
> Yasir
> 
> -----Original Message-----
> From: gem5-users [mailto:[email protected]] On Behalf Of 
> Matthias Jung
 Sent: 09 June 2017 00:21
> To: gem5 users mailing list <[email protected]>
> Subject: Re: [gem5-users] SystemC and GEM5 SE Mode
> 
> Hi Yasir,
> 
> I just wanted to say that se.py works without problems in the cxx config.
> And I confirmed that there is an issue with the TLM setup and se.py.
> 
> Regards
> Matthias
> 
> 
> > Am 08.06.2017 um 14:43 schrieb Qureshi Yasir Mahmood
> > <[email protected]>:
 
> > Hi Matthias,
> > 
> > Thank you for the reply. When you say " Using util/cxx_config with 
> > se.py or fs.py with util/tlm works fine",  do you mean I should 
> > compile the build/examples/slave_port/gem5.sc using cxx_config ?
 
> > Regards
> > Yasir
> > 
> > 
> > -----Original Message-----
> > From: gem5-users [mailto:[email protected]] On Behalf Of 
> > Matthias Jung
 Sent: 07 June 2017 23:50
> > To: gem5 users mailing list <[email protected]>
> > Subject: Re: [gem5-users] SystemC and GEM5 SE Mode
> > 
> > Hi Yasir,
> > 
> > I just had a short look, indeed there is an issue.
> > Using util/cxx_config with se.py or fs.py with util/tlm works fine.
> > We will have a deeper look into it.
> > 
> > Regards
> > Matthias
> > 
> > 
> > 
> >> Am 07.06.2017 um 18:22 schrieb Qureshi Yasir Mahmood
> >> <[email protected]>:
 
> >> Hello All,
> >> 
> >> I am trying to setup a GEM5-SystemC co-simulation with gem5 running 
> >> in SE mode. I have followed the tutorial in /util/tlm/README file 
> >> and I can run the example provided. But when I try to run GEM5 in 
> >> SE with TLM enabled, I get the following error,
 
> >> First to build the config file, I run
> >> 
> >> ../../build/ARM/gem5.opt ../../configs/example/se.py 
> >> --tlm-memory=transactor  --mem-type=SimpleMemory --mem-size=512MB
> >> --mem-channels=1 -c ../../../helloworld/hevc
 
> >> And then to run
> >> 
> >> bash-4.2$ build/examples/slave_port/gem5.sc m5out/config.ini
> >> 
> >> 
> >>        SystemC 2.3.1-Accellera --- May 31 2017 13:14:37
> >>        Copyright (c) 1996-2014 by all Contributors,
> >>       
> >>       ALL RIGHTS RESERVED
> >> 
> >> ============================================================
> >> EventQueue Dump  (cycle 0)
> >> ------------------------------------------------------------
> >> <No Events>
> >> ============================================================
> >> 0: system.remote_gdb.listener: listening for remote gdb #0 on port 
> >> 7000
> >> 0 s (=) : sc_main Start of Simulation
> >> warn: ClockedObject: More than one power state change request 
> >> encountered within the same simulation tick
 fatal: Out of memory, please increase
> >> size of physical memory.
> >> Memory Usage: 597116 Kbytes
> >> 
> >> 
> >> Can anyone please let me know, if I need to have a separate 
> >> physical memory for this and hence modify the se.py file or just 
> >> control it through the configuration options ?
 
> >> Regards
> >> Yasir
> >> _______________________________________________
> >> gem5-users mailing list
> >> [email protected]
> >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> > 
> > _______________________________________________
> > gem5-users mailing list
> > [email protected]
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> > _______________________________________________
> > gem5-users mailing list
> > [email protected]
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> 
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users


--
Dipl.-Ing. Christian Menard
Research Assistant

TU Dresden
Faculty of Computer Science
Chair for Compiler Construction
01062 Dresden

Phone: +49 351 463-42441
e-Mail: [email protected]

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to