Вы находитесь на странице: 1из 2

Chapter 10

SystemVerilog Interfaces
Page 283
10.1 Interface concepts
Page 284
signals for main_bus must
be individually connected
to each module instance
Page 285
ports for main_bus must
be individually declared in
each module definition
Page 287
10.1.1 Disadvantages of Verilog’s module ports
• Declarations must be duplicated in multiple modules.
• Communication protocols must be duplicated in several modules.
• There is a risk of mismatched declarations in different modules.
• A change in the design specification can require modifications in
multiple modules.

connecting
modules in a
netlist requires
redundant port
declarations
The replicated port declarations also mean that, should the specifi
cation of the bus change during the design process, or in a next gen
eration of the design, then each and every module that shares the
bus must be changed.
A weakness in the Verilog
language is that a change to the ports in one module will usually
require changes in other modules.

protocols must
be duplicated in
each module
If, for example, three
modules read and write from a shared memory device, then the read
and write control logic must be duplicated in each of these modules.
disadvantage of using module ports to connect the
blocks of a design together is that detailed interconnections for the
design must be determined very early in the design cycle.

module ports
inhibit abstract
top-down design
Before any block of the design can be
modeled, the bus must first be broken down to individual signals

10.1.2 Advantages of SystemVerilog interfaces


Page 292
10.1.3 SystemVerilog interface contents
10.1.4 Differences between modules and interfaces
Page 293
10.2 Interface declarations
Page 295
10.2.1 Source code declaration order
10.2.2 Global and local interface definitions
Page 296
10.3 Using interfaces as module ports
10.3.1 Explicitly named interface ports
Page 297
10.3.2 Generic interface ports
10.3.3 Synthesis guidelines
10.4 Instantiating and connecting interfaces
Interface connection rules
Page 298
Interfaces connected to interface instances
10.5 Referencing signals within an interface
Page 300
10.6 Interface modports
Page 301
10.6.1 Specifying which modport view to use
Selecting the modport in the module instance
Page 302
Selecting the modport in the module port declaration
Page 304
Connecting to interfaces without specifying a modport
Synthesis considerations
Page 305
10.6.2 Using modports to define different sets of connections
Restricting module access to interface signals
Page 307
10.7 Using tasks and functions in interfaces
Page 308
10.7.1 Interface methods
10.7.2 Importing interface methods
Page 309
Import using a task or function name
Import using a task or function prototype
Page 310
Calling imported interface methods
Alternate methods within interfaces
Page 311
10.7.3 Synthesis guidelines for interface methods
Page 312
10.7.4 Exporting tasks and functions
Page 313
Exporting a task or function to the entire interface
Page 314
Restrictions on exporting tasks and functions
Page 315
10.8 Using procedural blocks in interfaces
10.9 Reconfigurable interfaces
Page 316
Parameterized interfaces
Page 317
Using generate blocks
10.10 Verification with interfaces
Page 318
10.11 Summary

Вам также может понравиться