davidepatti / noxim Goto Github PK
View Code? Open in Web Editor NEWNetwork on Chip Simulator
Network on Chip Simulator
I am unable to understand how to induce faults in Nocs through the noxim simulator.
Please help me .just suggest from where i can look in all source and configuration files for faults
Hello
How can I see more results in Matlab with running the following command line:
./noxim -config ../config_examples/default_config.yaml
in the old version of Noxim, we can see this results with m.file.
Model execution can behave differently if rxProcess() is called before txProcess(). This way, txProcess() views the flit stored at buffer[i] at the same cycle at which the flit was stored by rxProcess().
This happens because SystemC does not guarantee the execution order of SC_METHODs happening at the same clock cycle. It looks like the definition order at the constructor of the module is taken into consideration, but it does not enforce it necessarily.
It must be enforced the following order of the operations: TX before RX.
When compiling noxim using the included script, I encountered an error because GCC could not find std::gets (which is used included from systemc.h).
It seems that std::gets is no longer part of C++ since C++14 (see http://en.cppreference.com/w/cpp/io/c/gets), so I presume that my gcc version (6.2.0-5ubuntu12) was defaulting to this newer standard.
I was able to fix the build by forcing gcc to use C++11 (which included std::gets). I did this by modifying noxim's Makefile OPTS variable so as to use the option --std=c++11 in addition to what was already there. I have not checked whether versions of systemc newer than the one used by the installation script fix this issue.
Hi there..
I am wondering, is it possible to run noxim in Mac OS terminal? I've successfully installed system-c and yaml, but I could not run ./noxim through Mac OS Terminal.
Thanks in advanced.
Hi,
How to debug noxim with gdb? I try to debug the executable file,when I use a list command, the gdb just list the code belong to another source file, like this:
`❯ gdb noxim
Password:
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin17.0.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from noxim...done.
(gdb) list
1 #include "Selection_RANDOM.h"
2
3 SelectionStrategiesRegister Selection_RANDOM::selectionStrategiesRegister("RANDOM", getInstance());
4
5 Selection_RANDOM * Selection_RANDOM::selection_RANDOM = 0;
6
7 Selection_RANDOM * Selection_RANDOM::getInstance() {
8 if ( selection_RANDOM == 0 )
9 selection_RANDOM = new Selection_RANDOM();
10
(gdb) `
The code belongs to /noxim/src/selectionStrategies/Selection_RANDOM.cpp, can't figure out why this happened.
I try to set breakpoint in gdb, but it can't stop the execution of noxim, maybe the breakpoint is in Selection_RANDOM.cpp. Then how can I debug noxim with gdb?
Dear Prof. Davide Patti,
Please let me know that how can I run Noxim in Eclipse linux or MS Visual Studio 2013?
Thanks a lot
When i use the command as mentioned in Manual. It says invalid usage.
I've tried to use another topology (not mesh) in Noxim. So I've changed some codes in source code files .After compiling Noxim, I tried to run default_config.yaml, but I was faced with this error:
....
Loading configuration from"/home/..."... Done
Loading power from file "power.yaml"... Done
noxim: libs/system-2.3.1/include/sysc/communication/sc_port.h"541" void sc_core::sc_port_b::add_interface(sc_core::sc_interface*) [with IF = sc_core::sc_signal_in_if] Assertion 'iface !- 0' failed.
Aborted (core dumped)
I would be very thankful if you could tell me the reason of this error, and how I can fix it.
Thanks alot
Rachel
I run the command you provided but it is not working for me and my fellow too. The same error come on our pc's. Help us to resolve this problem.
When i run noxim following message comes.
SystemC 2.3.1-Accellera --- Sep 23 2015 11:33:47
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
No YAML configuration file found!
Use -config to load examples from config_examples folder
am-0107907988@ubuntu:~/Desktop/noxim/bin$ ./noxim -sim 40000 -warmup 5000 -dimx 8 -dimy 8 -buffer 2
SystemC 2.3.1-Accellera --- Jan 28 2017 09:11:03
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
So any help would be appreciated
Hi prof. Davide Patti,
How can simulate a 3D NoC with Noxim?
Is Noxim support through-silicon via (TSV) links?
Thanks a lot
Hi,
How does Routing Algorithm Wireless Network On chip in Noxim Simulation work? And this section in which source codes of Noxim Simulation is located?
I've installed noxim in my Ubuntu 16.04 machine, with libyaml-cpp-dev and libboost-dev packages from official Ubuntu repositories.
Executing the command:
[...]/noxim/bin$ ./noxim -config ../config_examples/default_config.yaml
SystemC 2.3.1-Accellera --- Apr 7 2017 12:26:23
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Error: (E549) uncaught exception: yaml-cpp: error at line 0, column 0: invalid node;
this may result from using a map iterator as a sequence iterator, or vice-versa
In file: ../../../../src/sysc/kernel/sc_except.cpp:100
Have I done something wrong? I just followed the install instructions in the doc/INSTALL.txt file...
I'm using ubuntu 14.04, the installation directory of systemc-2.3.2 is /usr/include/systemc-2.3.2 and YAML is /usr/include/yaml-cpp. So I changed the noxim Makefile to this:
SYSTEMC := /usr/include/systemc-2.3.2
YAML := /usr/include/yaml-cpp
When I make the file, there's an error like this:
build/Buffer.o: In function _GLOBAL__sub_I__ZN6BufferC2Ev': Buffer.cpp:(.text.startup+0x2e): undefined reference to
sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)'
build/Channel.o: In function _GLOBAL__sub_I__ZN7Channel11b_transportEiRN3tlm19tlm_generic_payloadERN7sc_core7sc_timeE': Channel.cpp:(.text.startup+0x2e): undefined reference to
sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)'
build/ConfigurationManager.o: In function _GLOBAL__sub_I_config': ConfigurationManager.cpp:(.text.startup+0x2d): undefined reference to
sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)'
build/GlobalStats.o: In function _GLOBAL__sub_I__ZN11GlobalStatsC2EPK3NoC': GlobalStats.cpp:(.text.startup+0x2e): undefined reference to
sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)'
build/Hub.o: In function _GLOBAL__sub_I__ZN3Hub9tile2PortEi': Hub.cpp:(.text.startup+0x2e): undefined reference to
sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)'
build/Initiator.o:Initiator.cpp:(.text.startup+0x2e): more undefined references to `sc_core::sc_api_version_2_3_2_cxx201103L<&sc_core::SC_DISABLE_VIRTUAL_BIND_UNDEFINED_>::sc_api_version_2_3_2_cxx201103L(sc_core::sc_writer_policy)' follow
collect2: error: ld returned 1 exit status
I don't know what's wrong, can anyone help me?
Hello,
when I execute Noxim, I have the following error:
./noxim -config ../config_examples/default_config.yaml
SystemC 2.3.1-Accellera --- Nov 20 2017 10:56:41
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the WNoC Simulator
(C) University of Catania
Adaptations by LGGM - UdeA
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Error: (E549) uncaught exception: yaml-cpp: error at line 0, column 0: invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
In file: ../../../../src/sysc/kernel/sc_except.cpp:100
Have I done something wrong?
I need to a application specific traffic pattern. I want to bench mark my routing algorithm.what is the best choice?
What is apsra traffic pattern?
I'm trying to run a slightly modified default_config.yaml as in the article but I keep getting segmentation faults. I'm using Ubuntu and installed noxim using the quick start option (bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/davidepatti/noxim/master/other/setup/ubuntu.sh))
I have use_winoc = true
and:
0:
rxChannels: [0, 2]
txChannels: [0, 2]
attachedNodes: [0,1,4,5]
1:
rxChannels: [0, 1]
txChannels: [0, 1]
attachedNodes: [2,3,6,7]
2:
rxChannels: [2, 3]
txChannels: [2, 3]
attachedNodes: [8,9,12,13]
3:
rxChannels: [1, 3]
txChannels: [2, 3]
attachedNodes: [10,11,14,15]
This gave me a segmentation fault on "std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const 0x00007ffff77c8430" inside the attachHub function.
If I add different channels like so:
0:
dataRate: 8
1:
dataRate: 8
2:
my_config .txt
dataRate: 8
3:
dataRate: 8
I get another segmentation fault on updateTokenPacketRing.
I've attached the file as a txt because github doesn't accept yaml file
my_config .txt
Hello ,
Noxim use the topo mesh as default and I want to support butterfly topology. Thus I must change the code (e.g. signals mapping when creating the NoC). However, as a beginner in SystemC platform it is difficult to understand code because noxim use advance system level coding. So I am unable to solve that and I am asking for this NoC Topology.
If you can give any clue or closest stuff will be well appreciated. .
Thanks in Advance.
hi
i have some problems in install noxim on ubuntu
is there any way to install it on windows??
Hi, this is a great tool, I'm working on it to simulate a broadcast strategy.
The problem is Router::route() only return one direction. How could broadcast be down in that?
Any thoughts would be helpful.
Hi,
I have modified Noxim source and I have compiled it without any error. But when I run this command:
./noxim -config ../config_examples/default_config.yaml
got this (configuration file and power configuration file , both loaded, but simulation did not execute):
SystemC 2.3.1-Accellera --- Sep 12 2017 13:42:33
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Channel 0 data rate 8 Gbps, flit transmission delay 4000 ps, (aligned to 4000 ps) 4 cycles
I have been trying to run noxim simulator for the first time after installation but it shows segmentation fault--
$ ./noxim
SystemC 2.3.1-Accellera --- Jul 27 2015 13:51:54
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file config.yaml
Segmentation fault (core dumped)
Also, I get the following warnings during "make"--
../src/Channel.cpp: In member function ‘void Channel::powerManager(int, tlm::tlm_generic_payload&)’:
../src/Channel.cpp:65:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i!=hub_dst_index)
^
../src/Hub.cpp:42:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0;i<rxChannels.size();i++)
^
../src/Hub.cpp:69:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0;i<rxChannels.size();i++)
^
../src/Hub.cpp: In member function ‘void Hub::perCycleUpdate()’:
../src/Hub.cpp:88:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0;i<txChannels.size();i++)
^
../src/Hub.cpp: In member function ‘void Hub::updateRxPower()’:
../src/Hub.cpp:115:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0;i<rxChannels.size();i++)
^
Help me with the debugging details please.
Hi, I tried to change mesh_dim_x and mesh_dim_y to 8_8, 16_4, 4*4 etc.
And I got this error:
Error: (E109) complete binding failed: port not bound: port 'NoC.Hub_15.port_97' (sc_in) In file: ../../../../src/sysc/communication/sc_port.cpp:231
I'm using mesh topology and don't use wireless hub(it seems like that cuz I didn't configure any thing about wireless). I'm using the /config_examples/other/config16x16.yaml
Could you please tell me how to make it right? Thx
Hi,
If I want to increase the number of hubs without changing the number of nodes(Tiles) (for example 6 hubs), How can I achieve the information to change below part of power.yaml file:
......
tx_attenuation_map:
# - [TX Hub ID, RX Hub ID, Attenuation]
- [0, 1, 1.1]
- [0, 2, 2.2]
- [0, 3, 3.3]
- [1, 0, 1.0]
- [1, 2, 2.2]
- [1, 3, 3.3]
- [2, 0, 1.0]
- [2, 1, 1.1]
- [2, 3, 3.3]
- [3, 0, 1.0]
- [3, 1, 1.1]
- [3, 2, 2.2]
the error message is following:
~/Desktop/noxim/noxim-master/bin$ make
g++ -O3 -Wall -DSC_NO_WRITE_CHECK -I../src -isystem /home/Desktop/systemc-2.3.1a/include -I/home/Desktop/yaml-cpp/include -c ../src/emitfromevents.cpp -o build/emitfromevents.o
In file included from ../src/emitfromevents.cpp:5:0:
../src/yaml-cpp/emitter.h:125:8: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr m_pState;
^
Makefile:43: recipe for target 'build/emitfromevents.o' failed
make: *** [build/emitfromevents.o] Error 1
I want to know what may cause this error?Thank you very much.
Hi,
I want to try a new routing algorithm; I've changed XY routing (in order not to get error of power) and I ran the command below:
./noxim -config ../config_examples/default_config.yaml
and got this error:
SystemC 2.3.1-Accellera --- Apr 12 2017 10:06:33
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Reset for 1000 cycles...
done! Now running for 10000 cycles...
Error: (E549) uncaught exception: UNKNOWN EXCEPTION
In file: ../../../../src/sysc/kernel/sc_except.cpp:107
In process: NoC.Tile[02][00]_(#2).Router.txProcess @ 1007 ns
repeating one more time:
....
....
In process: NoC.Tile[02][03]_(#14).Router.txProcess @ 1018 ns
And after repeating 3-4 times it returns this error:
SystemC 2.3.1-Accellera --- Apr 12 2017 10:36:33
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Reset for 1000 cycles...
done! Now running for 10000 cycles...
noxim: ../src/selectionStrategies/Selection_RANDOM.cpp:15: virtual int Selection_RANDOM::
apply(Router*, const std::vector&, const RouteData&): Assertion `directions.size()!=0' failed.
Aborted (core dumped)
Hi,
In which part of the source code, I can find Tile-Hub-Tile process?
I mean if source tile and destination tile connect to the same hub, we have tile-hub-tile connection,
where can I find this part?
Hub.cpp......>In this part, line 403:
void Hub::tileToAntennaProcess()
{....
403: r_from_tile[i] = route(flit);
...}
we can have two answers for route(flit);
1-port number which the destination tile is connected or 2- DIRECTION_WIRELESS
we only use DIRECTION_WIRELESS
what if we have "port number which the destination tile is connected" as the returned of route(flit)?
I am trying to power gate router and then power on. There will be few cycles latency before power gated router starts working. Would like to know how we can add latency in the simulation for only one object such as router and how we can keep track of no. of cycles executed till any point of time?
Hi,
I'm going to implement a new mapping algorithm in the Noxim for a research project.
Please guide me how do I use the Noxim for mapping purpose.
Thanks in advance
Dear All.
I have changed defult_config.yaml file as follows:
routing_algorithm: XYWi ( a modify XY routing for wire+wireless)
use_winoc: true
verbose_mode: VERBOSE_LOW
trace_mode: true
trace_filename: ../rad.txt
i run this file with ./noxim -config ../config_examples/defult_config.yaml in command line and results be shown and trace file be created in ../rad.txt. but, how do i store the output?
Hello!
I am trying to figure out how virtual channels work in Noxim. Please help me understand how they are implemented?
Hi,
In "bin/power.yaml" , Static and Dynamic power consumption are defined for XY and DYAD routing algorithms.
Would you please explain a little more about the mechanism of computation of power consumption for
a routing algorithm?
Thanks a lot
hi
How come when we configure wireless network on chip at simulator we don't see any improvement in the number of received packets and Global average delay in comparison to network on chip? Does it need to change the source codes or any other parts?
how to understand relation between ack_tx[i],req_tx[i],current_level_tx[i] for knowing successful transmission
Hi, I've been working on supporting broadcast on Noxim. And ReservationTable
, Router::txProcess()
, Router::route()
method are modified so that one input can be reserved for multiple outputs.
However, in the txProcess()
forwarding phase, where one filt is forwarded to multiple output ports, an Error cannot forward Input[m] to Output[n]
always occurs for unicast flit after broadcast flit.
I've read the NoC.cpp and ABP protocol, I think it'll be allright if I invert req_tx[o]
and current_tx[o]
after sending out any filts to output[o]
.
It's really confusing and hard to debug. Any help would be grateful.
ps: my modification is here -> victorisildur_forked_noxim
Summary
When I run noxim, I am returned an error saying it cannot find a YAML configuration file. The command I ran is this:
bin$ ./noxim -sim 40000 -warmup 5000 -dimx 8 -dimy 8 -buffer 2
This returns:
No YAML configuration file found! Use -config to load examples from config_examples folder
If I run the command with the -config flag, then I get a segfault with a core dump.
bin$ ./noxim -config
returns:
Segmentation fault (core dumped)
Finally, if I run the command giving it a config file as an argument, it returns a separate error.
./noxim -config ../config_examples/default_config.yaml
This returns:
SystemC 2.3.1-Accellera --- Jun 14 2015 20:36:52
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
noxim: libs/systemc-2.3.1/include/sysc/kernel/sc_process.h:616: void sc_core::sc_process_b::reference_increment(): Assertion `m_references_n != 0' failed.
Aborted (core dumped)
Steps To Recreate
There were actually problems installing noxim. I run Ubuntu 16.04, and I ran the install script on this repo's README (see https://github.com/davidepatti/noxim/blob/master/other/setup/ubuntu.sh). The first time I ran it, there were errors due to certain files requiring compiler support for ISO C++ 2011 standard. Here is the error output:
g++ -O3 -Wall -I../src -isystem libs/systemc-2.3.1/include -Ilibs/yaml-cpp/include -c ../src/Stats.cpp -o build/Stats.o
In file included from /usr/include/c++/5/type_traits:35:0,
from libs/yaml-cpp/include/yaml-cpp/node/detail/impl.h:12,
from libs/yaml-cpp/include/yaml-cpp/yaml.h:20,
from ../src/Power.h:18,
from ../src/Stats.h:18,
from ../src/Stats.cpp:11:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
So I went into the bin directory and modified the Makefile to include -std=c++11 flag in OPT, and then it compiled the rest of the files successfully, proceeding to break again on line 47 from the setup script.
Here is the output from an increased backtrace from gdb. I'm not sure what to make of it.
Loading configuration from file "config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
noxim: libs/systemc-2.3.1/include/sysc/kernel/sc_process.h:616: void sc_core::sc_process_b::reference_increment(): Assertion `m_references_n != 0' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff6e1d418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff6e1d418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff6e1f01a in __GI_abort () at abort.c:89
#2 0x00007ffff6e15bd7 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion@entry=0x4a8710 "m_references_n != 0",
file=file@entry=0x4a8a00 "libs/systemc-2.3.1/include/sysc/kernel/sc_process.h",
line=line@entry=616,
function=function@entry=0x4ab8e0 <sc_core::sc_process_b::reference_increment()::__PRETTY_FUNCTION__> "void sc_core::sc_process_b::reference_increment()") at assert.c:92
#3 0x00007ffff6e15c82 in __GI___assert_fail (assertion=assertion@entry=0x4a8710 "m_references_n != 0",
file=file@entry=0x4a8a00 "libs/systemc-2.3.1/include/sysc/kernel/sc_process.h",
line=line@entry=616,
function=function@entry=0x4ab8e0 <sc_core::sc_process_b::reference_increment()::__PRETTY_FUNCTION__> "void sc_core::sc_process_b::reference_increment()") at assert.c:101
#4 0x000000000044b77a in sc_core::sc_process_b::reference_increment (this=<optimized out>)
at libs/systemc-2.3.1/include/sysc/kernel/sc_process.h:616
#5 sc_core::sc_process_handle::sc_process_handle (this=<optimized out>, orig=...)
at libs/systemc-2.3.1/include/sysc/kernel/sc_process_handle.h:214
#6 0x0000000000452c90 in sc_core::sc_spawn<sc_boost::_bi::bind_t<void, sc_boost::_mfi::mf0<void, tlm_utils::simple_target_socket<Target, 32u, tlm::tlm_base_protocol_types>::fw_process>, sc_boost::_bi::list1<sc_boost::_bi::value<tlm_utils::simple_target_socket<Target, 32u, tlm::tlm_base_protocol_types>::fw_process*> > > > (opt_p=0x7fffffffcc80, name_p=0x768be8 "b2nb_thread_0", object=...)
at libs/systemc-2.3.1/include/sysc/kernel/sc_spawn.h:119
#7 tlm_utils::simple_target_socket<Target, 32u, tlm::tlm_base_protocol_types>::fw_process::fw_process (
p_own=0x768160, this=0x768278, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
at libs/systemc-2.3.1/include/tlm_utils/simple_target_socket.h:203
#8 tlm_utils::simple_target_socket<Target, 32u, tlm::tlm_base_protocol_types>::simple_target_socket (
n=0x4a86e7 "socket", this=0x768160)
at libs/systemc-2.3.1/include/tlm_utils/simple_target_socket.h:73
#9 Target::Target (h=0x75c1e0, id=0,
nm=<error reading variable: access outside bounds of object referenced via synthetic pointer>,
this=0x768070) at ../src/Target.h:34
#10 Hub::Hub (this=0x75c1e0, nm=..., id=<optimized out>, tr=<optimized out>) at ../src/Hub.h:157
#11 0x0000000000442d54 in NoC::buildMesh (this=this@entry=0x715930) at ../src/NoC.cpp:39
#12 0x000000000041f417 in NoC::NoC (this=0x715930) at ../src/NoC.h:79
#13 sc_main (arg_num=<optimized out>, arg_vet=<optimized out>) at ../src/Main.cpp:54
#14 0x00007ffff7acce64 in sc_elab_and_sim ()
from /usr/local/systemc-2.3.1/lib-linux64/libsystemc-2.3.1.so
#15 0x00007ffff6e08830 in __libc_start_main (main=0x4094b0 <main@plt>, argc=3, argv=0x7fffffffdaf8,
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdae8)
at ../csu/libc-start.c:291
#16 0x000000000040f449 in _start ()
System Info
lsb-release:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
cpu:
Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
64-bit
Any help is much appreciated. I might try installing a previous version of noxim for now.
is there any way to pass new signals between neighouring routers???
Hi,
How to run a table_based traffic in Noxim?
Hello,
I was working with the program and trying to understand the difference between the DETAILED and VERBOSE options. The detailed option works great, outputs a lot of data.
But when I set different verbosity levels, there doesn't seem to be any change in output. Has this option been deprecated?
[13:05:31] mikeyvxt:bin git:(master*) $ ./noxim -config default_config.yaml -verbose 3
SystemC 2.3.1-Accellera --- May 4 2016 15:46:52
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Reset for 1000 cycles...
done! Now running for 10000 cycles...
Noxim simulation completed.
( 11000 cycles executed)
% Total received packets: 2231
% Total received flits: 17855
% Received/Ideal flits Ratio: 0.991944
% Average wireless utilization: 0
% Global average delay (cycles): 14.5177
% Max delay (cycles): 100
% Network throughput (flits/cycle): 1.98389
% Average IP throughput (flits/cycle/IP): 0.0793556
% Total energy (J): 3.35602e-06
% Dynamic energy (J): 2.69689e-07
% Static energy (J): 3.08633e-06
[13:05:36] mikeyvxt:bin git:(master*) $ ./noxim -config default_config.yaml -verbose 1
SystemC 2.3.1-Accellera --- May 4 2016 15:46:52
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
Reset for 1000 cycles...
done! Now running for 10000 cycles...
Noxim simulation completed.
( 11000 cycles executed)
% Total received packets: 2303
% Total received flits: 18413
% Received/Ideal flits Ratio: 1.02294
% Average wireless utilization: 0
% Global average delay (cycles): 14.307
% Max delay (cycles): 83
% Network throughput (flits/cycle): 2.04589
% Average IP throughput (flits/cycle/IP): 0.0818356
% Total energy (J): 3.35523e-06
% Dynamic energy (J): 2.689e-07
% Static energy (J): 3.08633e-06
[13:08:35] mikeyvxt:bin git:(master*) $
Hi
I was trying the lab2 experiment in Access Noxim. I modified the sim.cfg file as directed but I got this error message:
No YAML power configurations file found!
Use -power to load examples from config_examples folder
Hi,
systemc 2.3.1
gcc 15.1
I run the command below:
./noxim -config ../config_examples/default_config.yaml
and it returns error:
SystemC 2.3.1-Accellera --- Jun 14 2015 16:06:33
Copyright (c) 1996-2014 by all Contributors,
ALL RIGHTS RESERVED
Noxim - the NoC Simulator
(C) University of Catania
Loading configuration from file "../config_examples/default_config.yaml"... Done
Loading power configurations from file "power.yaml"... Done
noxim: /software/public/systemc/2.3.1/include/sysc/kernel/sc_process.h:616: void sc_core::sc_process_b::reference_increment(): Assertion `m_references_n != 0' failed.
Aborted
It's almost the same as this issue #9, but it doesn't work for me.
I've been troubled for a few days. Anyone can help me fix it?
Hello,
Regarding the current implementation of Negative-first in Noxim: Packets headed South-East are routed using XY, i.e. Positive then negative, which violates the rules of Negative-first and may induce deadlocks.
Possible fix:
if (destination.x < current.x || destination.y > current.y) // check negative directions first
{
if (destination.x < current.x) directions.push_back(DIRECTION_WEST);
if (destination.y > current.y) directions.push_back(DIRECTION_SOUTH);
} else if (destination.x > current.x || destination.y < current.y) {
if (destination.x > current.x) directions.push_back(DIRECTION_EAST);
if (destination.y < current.y) directions.push_back(DIRECTION_NORTH);
} else
directions.push_back(DIRECTION_LOCAL);
Best regards
Hi,
A question about source code (NoC.h).
Why are "req", "ack", "flit" and "flit_slots" defined as instances of struct sc_signal_NSWEH?
but "t" is defined as a pointer to Tile?
Thank you.
Hi, I can't find any literature about butterfly traffic distribution. There's butterfly topology, obviously they are not the same thing. I can't find the code in noxim related to it either.
noxim: ../src/Power.cpp:104: void Power::configureRouter(int, int, int, std::__cxx11::string, std::__cxx11::string): Assertion `GlobalParams::power_configuration.routerPowerConfig.routing_algorithm_pm.find(routing_function) != GlobalParams::power_configuration.routerPowerConfig.routing_algorithm_pm.end()' failed.
Aborted (core dumped)
i am getting this error
Greetings!
Thanks for such a great and helpful simulator for NOC researchers. I need your help in providing the module diagram of hardware than you used to design simulator. Because it would help users in better understanding of simulator. I know its a huge favor but please provide us. Because my professor wants me to give sketch of simulator in hardware. And as a beginner in SystemC platform I am unable to find that.
Thanks in Advance.
Hi,
At file NoC.cpp we have the definition of tiles, map RX/TX signals and clearing signal for borderlines,
1- If we have [0][0], [1][0], [2][0], [3][0], ..., [mesh_X-1][0], does the [i][j] node locate in "NORTH" borderline?
2- we have 2 signals (RX and TX) for each direction; "req[i][j].south" and "req[i][j].north":
t[i][j]->req_rx[DIRECTION_NORTH] (req[i][j].south);
t[i][j]->req_tx[DIRECTION_NORTH] (req[i][j].north);
For Clearing signals for borderline nodes, if we have request signal [i][0], why we clear just one signal (RX signal) for node located at NORTH borderline?
req[i][0].south = 0;
And why it doesn't need to clear TX signal (req[i][0].north) of the node located at NORTH borderline ?
And also we have this situation for three other borderlines.
Thank you for your time.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.