Modport

interface can connect things with no direction(input/output) declaration.
there is no error when interface has signals more than module needed.
Is it necessary to use modport? Or is there any other benefits of modport?

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.

In reply to celine.song:

See assigning interface net-type signals from class | Verification Academy

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr

  • SVA Handbook 4th Edition, 2016 ISBN 978-1518681448
  • A Pragmatic Approach to VMM Adoption 2006 ISBN 0-9705394-9-5
  • Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004, ISBN 0-9705394-6-0
  • Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn 978-1539769712
  • Component Design by Example ", 2001 ISBN 0-9705394-0-1
  • VHDL Coding Styles and Methodologies, 2nd Edition, 1999 ISBN 0-7923-8474-1
  • VHDL Answers to Frequently Asked Questions, 2nd Edition ISBN 0-7923-8115

  1. SVA Alternative for Complex Assertions
    Verification Horizons - March 2018 Issue | Verification Academy
  2. SVA: Package for dynamic and range delays and repeats | Verification Academy
  3. SVA in a UVM Class-based Environment
    SVA in a UVM Class-based Environment | Verification Horizons | Verification Academy
  4. FREE BOOK: Component Design by Example … A Step-by-Step Process Using VHDL with UART as Vehicle | Verification Academy

In reply to dave_59:

Thanks. Your perspective is really helpful.