System-Level Tools for NoC-Based Multi-Core Design