xvii
Copyright © 2013 IEEE. All rights reserved.
22. Compiler directives.......................................................................................................................... 638
22.1 General................................................................................................................................. 638
22.2 Overview ............................................................................................................................. 638
22.3 `resetall................................................................................................................................. 638
22.4 `include ................................................................................................................................ 639
22.5 `define, `undef, and `undefineall ......................................................................................... 639
22.6 `ifdef, `else, `elsif, `endif, `ifndef ........................................................................................ 645
22.7 `timescale............................................................................................................................. 648
22.8 `default_nettype ................................................................................................................... 649
22.9 `unconnected_drive and `nounconnected_drive .................................................................. 650
22.10 `celldefine and `endcelldefine.............................................................................................. 650
22.11 `pragma ................................................................................................................................ 650
22.12 `line ...................................................................................................................................... 651
22.13 `__FILE__ and `__LINE__ ................................................................................................. 652
22.14 `begin_keywords, `end_keywords ....................................................................................... 653
Part Two: Hierarchy Constructs
23. Modules and hierarchy..................................................................................................................... 660
23.1 General................................................................................................................................. 660
23.2 Module definitions............................................................................................................... 660
23.3 Module instances (hierarchy)............................................................................................... 672
23.4 Nested modules.................................................................................................................... 683
23.5 Extern modules .................................................................................................................... 684
23.6 Hierarchical names .............................................................................................................. 685
23.7 Member selects and hierarchical names .............................................................................. 688
23.8 Upwards name referencing .................................................................................................. 689
23.9 Scope rules .......................................................................................................................... 692
23.10 Overriding module parameters ............................................................................................ 694
23.11 Binding auxiliary code to scopes or instances ..................................................................... 701
24. Programs .......................................................................................................................................... 705
24.1 General................................................................................................................................. 705
24.2 Overview.............................................................................................................................. 705
24.3 The program construct ......................................................................................................... 705
24.4 Eliminating testbench races .................................................................................................709
24.5 Blocking tasks in cycle/event mode..................................................................................... 709
24.6 Programwide space and anonymous programs.................................................................... 710
24.7 Program control tasks .......................................................................................................... 710
25. Interfaces.......................................................................................................................................... 711
25.1 General................................................................................................................................. 711
25.2 Overview.............................................................................................................................. 711
25.3 Interface syntax.................................................................................................................... 712
25.4 Ports in interfaces........................................................................................................
......... 716
25.5 Modports.............................................................................................................................. 717
25.6 Interfaces and specify blocks...............................................................................................723
25.7 Tasks and functions in interfaces......................................................................................... 724
25.8 Parameterized interfaces ...................................................................................................... 730
25.9 Virtual interfaces.................................................................................................................. 732
25.10 Access to interface objects................................................................................................... 737