Probably, the simplest simulator I have found is NoCSim. A more advanced simulator is HeMPS. These are the simulator specifically designed for NoC simulation purposes.
I'm currently using Stanford's Booksim2. It's a microarchitectural simulator, with various degrees of configurability: topology, routing, virtual channels, size of buffers, type of traffic, and more. I definitely recommend it: https://github.com/booksim/booksim2
but the point is you need to simulate for example routing with one of these and then you can use some other programming languages like Matlab for analyzing it.
you can use GEM5, for a particular and detailled architecture, then for routing and other metrics you can use noxim, and for high level you can use our simulator written in java .