Ninos,
Probably the best way to gain understanding is through example designs and simulations / working with dev kits. It seems that you have sufficient experience such that books will only take you so far; 'doing' is often better - this isn't Fourier analysis.
Since your asking about co-design, I recommend working through some simpler Nios II designs that include a simulation component.
Perhaps the verification IP examples:
search for this "example design nios simulation" within the Altera site. I haven't posted enough to add links... no trust ... nice. Plenty of examples tie an SoC together using simulation.
Just some thoughts, your topic is a bit broad.
-Jerry