In reply to celine.song:
Modports are mainly for tools, like synthesis, that analyze the design in pieces. They need to know exactly which signals need to be kept as top-level, and their intended directions. Simulation tools don't really care about that since they flatten (elaborate) the full design anyway and coerce the effective direction to whatever is needed.
Verification engineers are accustomed to having unrestricted access to all signals, so modports are not as useful. And it's easy to work around them unless someone enforces a strict coding methodology.