AN 755: Implementing JESD204B IP Core System Reference Design with ARM HPS As Control Unit (Baremetal Flow)

ID 683776
Date 12/30/2015
Public
Document Table of Contents

1.8.3. Implementing a Multi-Link Design

The reference design Qsys projects, top level HDL, and software source code are designed for easy implementation of a JESD204B multi-link use case. In the Qsys project, 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 support modules. This section assumes that each jesd204b_subsystem module in the multi-link design has identical parameter configurations. In the top level HDL, 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 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 (see System Parameters section for more details). 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 source code, all relevant software tasks are coded with multi-link capabilities. The software parameter that defines the number of links in the design is the MAX_LINKS parameter in the main.h header file (see Software Parameters section for more details). 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 7. Multi-Link Use Case (Data Path Only) Block DiagramThis figure illustrates the block diagram of a multi-link use case. Only the data path is shown in the figure.

To implement a multi-link design, perform these procedures:

  1. Edit the Qsys project.
  2. Edit the top level HDL file.
  3. Edit the software source code.

The following sections describe these procedures in detail.