UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 51837

Design Assistant for Vivado Synthesis - Help with SystemVerilog Support - Connecting Modules and Interfaces

Description

This answer record describes SystemVerilog Connecting Module feature and Interface structures supported by Vivado Synthesis and also provides some coding examples for them. These coding examples are attached to this answer record. The answer record also contains information related to known issues and good coding practices.
 
Note: Each coding example can be used to directly create a Vivado project. Please refer to the header in each source file for the SystemVerilog constructs covered in each example

Solution

SystemVerilog Connecting Modules and Interfaces structures that are supported by Vivado Synthesis
 
Please refer to Table 1-1 at the end of this AR for the coding examples for the related coding examples.
 
1. Connecting Modules.
Vivado Synthesis supports the following four ways to instantiate and connect modules.
  • by ordered list
  • by name
  • by named ports
  • by wildcard ports
 
2. Interfaces.
Interfaces are a way of specifying communication between blocks. An interface is a group of nets and variables that are grouped together for the purpose of making connections between modules. Vivado Synthesis supports the following interfaces structures:
  • Interface definition ports
  • Interface data type declarations
  • Interface modport definitions
  • Interface tasks and functions; must be fully automatic
  • Interface procedural code; must follow synthesis rules
  • Parameterized Interfaces
 
Coding Examples for Module connecting and Interfaces
Table 1-1
Coding Example Name Constructs Used
 interfaces_example.zip
  • interfaces
  • modports
  • tasks in interfaces
  • parameterized interfaces
 module_connecting_example.zip
  • module connecting
  • module connecting with wildcard ports

Attachments

Associated Attachments

Name File Size File Type
interfaces_example.zip 4 KB ZIP
module_connecting_example.zip 1 KB ZIP

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
51360 Design Assistant for Vivado Synthesis - Help with SystemVerilog Support N/A N/A
AR# 51837
Date Created 09/15/2012
Last Updated 04/03/2013
Status Active
Type Solution Center
Tools
  • Vivado Design Suite