Hi Ali,

It is difficult to tell where is the problem based on the information available 
(I can’t open .py attachments) but here is a list of checks that you can 
perform.

First, ensure that your modules are present and configured in m5out/config.ini. 
Especially, you want to check that the edges are all there and connecting the 
expected components. I also suggest going for the simplest crossbar you can 
come up with and walk your way up to fancier topologies. If some components are 
missing, then check your topology file as it is responsible for configuring the 
network components based on the SLICC units defined by <PROTOCOL_NAME>.py.

By the way, when you say that you don’t use virtual network, do you mean that 
you only have vnet 0 used by your protocol or that all vnets end up on the same 
physical layer? The later case might not work as protocols assume logical 
separation of vnets.

Then, you want to make sure that you implement Network::make\*Link functions 
properly as these are the functions that connect your network modules once they 
are instantiated.

Then, you want to check that Network.py handles the —network CLI parameter 
properly for the routerless case.

At that point, you should be able to debug your network’s elaboration. Do not 
hesitate to add plenty DPRINTF statements in the functions related to network 
elaboration.

Also I recommend building gem5.debug —with-asan —with-ubsan when developping 
new features as it will catch many early bugs related to read of non 
initialized memory, references to nullptr, etc.

Regards,

Gabriel
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to