JESD204B IP Core Design Example User Guide

ID 683094
Date 11/06/2017
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

1.7.9.3. Implementing a Multi-Link Design

The design example Qsys projects, top level HDL file, and software C code are designed for easy implementation of a JESD204B multi-link use case. In the Qsys projects, each link in a JESD204B multi-link use case corresponds to a single instantiation of the jesd204b_subsystem module, which includes the JESD204B IP core and other supporting modules. This section assumes that each jesd204b_subsystem module in the multi-link design has identical parameter configurations.

In the top level HDL file, each link in a JESD204B multi-link use case corresponds to an instantiation of a transport layer TX and RX pair and a pattern generator and checker pair (assuming duplex data path configuration). The HDL file uses the Verilog generate statement using the system parameter LINK as an index variable to generate the requisite number of instances for the multi-link use case. This section assumes that each transport layer TX and RX pair and pattern generator and checker pair in the multi-link design has identical parameter configurations. In the software C code, all software tasks are coded with multi-link capabilities. The MAX_LINKS software parameter in the main.h header file defines the number of links in the design. In a multi-link scenario, each software action performs an identical task on each link starting with link 0 and proceeding sequentially until the link indicated by the MAX_LINKS parameter.

Figure 31. Multi-Link Use Case (Data Path Only) Block Diagram
To implement a multi-link design, you need to perform these procedures:
  1. Edit the Qsys project.
  2. Edit the top level HDL file.
  3. Edit the software C code.

The following sections describe these procedures in detail.