F-tile Jesd204c Intel Fpga Ip Design Example User Guide

F-tile Jesd204c Intel Fpga Ip Design Example User Guide

INTEL-LGOO

F-Tile JESD204C Intel FPGA IP Design Example

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-PRODUCT-IMAGE

About the F-Tile JESD204C Intel® FPGA IP Design Example User Guide

This user guide provides the features, usage guidelines, and detailed description about the design examples for the F-Tile JESD204C Intel® FPGA IP using Intel Agilex™ devices.

Intended Audience

This document is intended for:

  • Design architect to make IP selection during system level design planning phase
  • Hardware designers when integrating the IP into their system level design
  • Validation engineers during system level simulation and hardware validation phase

Related Documents
The following table lists other reference documents which are related to the F-Tile JESD204C Intel FPGA IP.

Table 1. Related Documents

ReferenceDescription
F-Tile JESD204C Intel FPGA IP User GuideProvides information about the F-Tile JESD204C Intel FPGA IP.
F-Tile JESD204C Intel FPGA IP Release NotesLists the changes made for the F-Tile JESD204C F-Tile JESD204C in a particular release.
Intel Agilex Device Data SheetThis document describes the electrical characteristics, switching characteristics, configuration specifications, and timing for Intel Agilex devices.

Acronyms and Glossary

Table 2. Acronym List

AcronymExpansion
LEMCLocal Extended Multiblock Clock
FCFrame clock rate
ADCAnalog to Digital Converter
DACDigital to Analog Converter
DSPDigital Signal Processor
TXTransmitter
RXReceiver
AcronymExpansion
DLLData link layer
CSRControl and status register
CRUClock and Reset Unit
ISRInterrupt Service Routine
FIFOFirst-In-First-Out
SERDESSerializer Deserializer
ECCError Correcting Code
FECForward Error Correction
SERRSingle Error Detection (in ECC, correctable)
DERRDouble Error Detection (in ECC, fatal)
PRBSPseudorandom binary sequence
MACMedia Access Controller. MAC includes protocol sublayer, transport layer, and data link layer.
PHYPhysical Layer. PHY typically includes the physical layer, SERDES, drivers, receivers and CDR.
PCSPhysical Coding Sub-layer
PMAPhysical Medium Attachment
RBDRX Buffer Delay
UIUnit Interval = duration of serial bit
RBD countRX Buffer Delay latest lane arrival
RBD offsetRX Buffer Delay release opportunity
SHSync header
TLTransport layer
EMIBEmbedded Multi-die Interconnect Bridge

Table 3. Glossary List

TermDescription
Converter DeviceADC or DAC converter
Logic DeviceFPGA or ASIC
OctetA group of 8 bits, serving as input to 64/66 encoder and output from the decoder
NibbleA set of 4 bits which is the base working unit of JESD204C specifications
BlockA 66-bit symbol generated by the 64/66 encoding scheme
Line RateEffective data rate of serial link

Lane Line Rate = (Mx Sx N’x 66/64 x FC) / L

Link ClockLink Clock = Lane Line Rate/66.
FrameA set of consecutive octets in which the position of each octet can be identified by reference to a frame alignment signal.
Frame ClockA system clock which runs at the frame’s rate, that must be 1x and 2x link clock.
TermDescription
Samples per frame clockSamples per clock, the total samples in frame clock for the converter device.
LEMCInternal clock used to align the boundary of the extended multiblock between lanes and into the external references (SYSREF or Subclass 1).
Subclass 0No support for deterministic latency. Data should be immediately released upon lane to lane deskew on receiver.
Subclass 1Deterministic latency using SYSREF.
Multipoint LinkInter-device links with 2 or more converter devices.
64B/66B EncodingLine code that maps 64-bit data to 66 bits to form a block. The base level data structure is a block that starts with 2-bit sync header.

Table 4. Symbols

TermDescription
LNumber of lanes per converter device
MNumber of converters per device
FNumber of octets per frame on a single lane
SNumber of samples transmitted per single converter per frame cycle
NConverter resolution
N’Total number of bits per sample in the user data format
CSNumber of control bits per conversion sample
CFNumber of control words per frame clock period per link
HDHigh Density user data format
ENumber of multiblock in an extended multiblock

F-Tile JESD204C Intel FPGA IP Design Example Quick Start Guide

The F-Tile JESD204C Intel FPGA IP design examples for Intel Agilex devices features a simulating testbench and a hardware design that supports compilation and hardware testing.
You can generate the F-Tile JESD204C design examples through the IP catalog in the Intel Quartus® Prime Pro Edition software.

Figure 1. Development Stages for the Design Example

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-01

Design Example Block Diagram

Figure 2. F-Tile JESD204C Design Example High-level Block Diagram

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-02

The design example consists of the following modules:

  • Platform Designer system
    • F-Tile JESD204C Intel FPGA IP
    • JTAG to Avalon Master bridge
    • Parallel I/O (PIO) controller
    • Serial Port Interface (SPI)—master module— IOPLL
    • SYSREF generator
    • Example Design (ED) Control CSR
    • Reset sequencers
  • System PLL
  • Pattern generator
  • Pattern checker

Table 5. Design Example Modules

ComponentsDescription
Platform Designer systemThe Platform Designer system instantiates the F-Tile JESD204C IP data path and supporting peripherals.
F-Tile JESD204C Intel FPGA IPThis Platform Designer subsystem contains the TX and RX F-Tile JESD204C IPs instantiated together with the duplex PHY.
JTAG to Avalon Master bridgeThis bridge provides system console host access to the memory-mapped IP in the design through the JTAG interface.
Parallel I/O (PIO) controllerThis controller provides a memory-mapped interface for sampling and driving general purpose I/O ports.
SPI masterThis module handles the serial transfer of configuration data to the SPI interface on the converter end.
SYSREF generatorThe SYSREF generator uses the link clock as a reference clock and generates SYSREF pulses for the F-Tile JESD204C IP.

Note: This design example uses the SYSREF generator to demonstrate the duplex F-Tile JESD204C IP link initialization. In the F-Tile JESD204C subclass 1 system level application, you must generate the SYSREF from the same source as the device clock.

IOPLLThis design example uses an IOPLL to generate a user clock for transmitting data into the F-Tile JESD204C IP.
ED Control CSRThis module provides SYSREF detection control and status, and test pattern control and status.
Reset sequencersThis design example consists of 2 reset sequencers:
  • Reset Sequence 0—Handles the reset to TX/RX Avalon® streaming domain, Avalon memory-mapped domain, core PLL, TX PHY, TX core, and SYSREF generator.
  • Reset Sequence 1—Handles the reset to RX PHY and RX core.
System PLLPrimary clock source for the F-tile hard IP and EMIB crossing.
Pattern generatorThe pattern generator generates a PRBS or ramp pattern.
Pattern checkerThe pattern checker verifies the PRBS or ramp pattern received, and flags an error when it finds a mismatch of data sample.
Software Requirements

Intel uses the following software to test the design examples in a Linux system:

  • Intel Quartus Prime Pro Edition software
  • Questa*/ModelSim* or VCS*/VCS MX simulator
Generating the Design

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-03To generate the design example from the IP parameter editor:

  1. Create a project targeting Intel Agilex F-tile device family and select the desired device.
  2. In the IP Catalog, Tools ➤ IP Catalog, select F-Tile JESD204C Intel FPGA IP.
  3. Specify a top-level name and the folder for your custom IP variation. Click OK. The parameter editor adds the top-level .ip file to the current project automatically. If you are prompted to manually add the .ip file to the project, click Project ➤ Add/ Remove Files in Project to add the file.
  4. Under the Example Design tab, specify the design example parameters as described in Design Example Parameters.
  5. Click Generate Example Design.

The software generates all design files in the sub-directories. These files are required to run simulation and compilation.

Design Example Parameters
The F-Tile JESD204C Intel FPGA IP parameter editor includes the Example Design tab for you to specify certain parameters before generating the design example.

Table 6. Parameters in the Example Design Tab

ParameterOptionsDescription
Select Design
  • System Console Control
  • None
Select the system console control to access the design example data path through the system console.
SimulationOn, OffTurn on for the IP to generate the necessary files for simulating the design example.
SynthesisOn, OffTurn on for the IP to generate the necessary files for Intel Quartus Prime compilation and hardware demonstration.
HDL format (for simulation)
  • Verilog
  • VDHL
Select the HDL format of the RTL files for simulation.
HDL format (for synthesis)Verilog onlySelect the HDL format of the RTL files for synthesis.
ParameterOptionsDescription
Generate 3- wire SPI moduleOn, OffTurn on to enable 3-wire SPI interface instead of 4-wire.
Sysref mode
  • One-shot
  • Periodic
  • Gapped periodic
Select whether you want the SYSREF alignment to be a one-shot pulse mode, periodic, or gapped periodic, based on your design requirements and timing flexibility.
  • One-shot—Select this option to enable SYSREF to be a one-shot pulse mode. The sysref_ctrl[17] register bit’s value is 0. After the F-Tile JESD204C IP reset deasserts, change the sysref_ctrl[17] register’s value from 0 to 1, then to 0, for a one-shot SYSREF pulse.
  • Periodic—SYSREF in periodic mode has 50:50 duty cycle. SYSREF period is E*SYSREF_MULP.
  • Gapped periodic—SYSREF has programmable duty cycle of granularity of 1 link clock cycle. SYSREF period is E*SYSREF_MULP. For out-of-range duty cycle setting, the SYSREF generation block should automatically infer 50:50 duty cycle.
    Refer to the SYSREF Generator section for more information about the SYSREF
    period.
Select boardNoneSelect the board for the design example.
  • None—This option excludes hardware aspects for the design example. All the pin assignments will be set to virtual pins.
Test Pattern
  • PRBS-7
  • PRBS-9
  • PRBS-15
  • PRBS-23
  • Ramp
Select pattern generator and checker test pattern.
  • Pattern Generator—JESD204C support PRBS pattern generator per data sample. This means that the width of the data is N+CS option. PRBS pattern generator and checker are useful for creating data sample stimulus for testing and it is not compatible with PRBS test mode on the ADC/DAC converter.
  • Ramp Pattern Generator—JESD204C link layer operates normally but the transport later is disabled and the input from the formatter is ignored. Each lane transmits an identical octet stream that increments from 0x00 to 0xFF and then repeats. Ramp pattern test is enable by prbs_test_ctl.
  • PRBS Pattern Checker—JESD204C PRBS scrambler is self synchronizing and it is expected that when the IP core is able to decode link up, the scrambling seed is already synchronized. PRBS scrambling seed will take up 8 octets to self initialize.
  • Ramp Pattern Checker—JESD204C scrambling is self synchronizing and it is expected that when the IP core is able to decode link up, the scrambling seed is already synchronized. The first valid octet is loaded as the ramp initial value. Subsequent data must increment up to 0xFF and roll over to 0x00. Ramp pattern checker should check for identical pattern across all lanes.
Enable internal serial loopbackOn, OffSelect internal serial loopback.
Enable Command ChannelOn, OffSelect command channel pattern.

Directory Structure
The F-Tile JESD204C design example directories contain generated files for the design examples.

Figure 3. Directory Structure for F-Tile JESD204C Intel Agilex Design Example

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-04Table 7. Directory Files

FoldersFiles
ed/rtl
  • tx
    • j204c_f_tx_ip.qsys
    • j204c_f tx_ss.qsys
    • altera_s10_user_rst_clkgate_0.ip
    • j204c f_se_outbuf_1bit.ip
simulation/mentor
  • modelsim_sim.tcl
  • tb_top_waveform.do
simulation/synopsys
  • vcs
    • vcs_sim.sh
    • tb_top_wave_ed.do
  • vcsmx
    • vcsmx_sim.sh
    • tb_top_wave_ed.do
Simulating the Design Example Testbench

The design example testbench simulates your generated design.

Figure 4. Procedure

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-05To simulate the design, perform the following steps:

  1. Change the working directory to <example_design_directory>/simulation/<Simulator>.
  2. In the command line, run the simulation script. The table below shows the commands to run the supported simulators.
SimulatorCommand
Questa/ModelSimvsim -do modelsim_sim.tcl
vsim -c -do modelsim_sim.tcl (without Questa/ ModelSim GUI)
VCSsh vcs_sim.sh
VCS MXsh vcsmx_sim.sh

The simulation ends with messages that indicate whether the run was successful or not.

Figure 5. Successful Simulation
This figure shows the successful simulation message for VCS simulator.F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-09

Compiling the Design Example

To compile the compilation-only example project, follow these steps:

  1. Ensure compilation design example generation is complete.
  2. In the Intel Quartus Prime Pro Edition software, open the Intel Quartus Prime Pro Edition project <example_ design_ directory>/ed/quartus.
  3. On the Processing menu, click Start Compilation.

Detailed Description for the F-Tile JESD204C Design Example

The F-Tile JESD204C design example demonstrates the functionality of data streaming using loopback mode.
You can specify the parameters settings of your choice and generate the design example.
The design example is available only in duplex mode for both Base and PHY variant. You can choose Base only or PHY only variant but the IP would generate the design example for both Base and PHY.

Note:  Some high data rate configurations may fail timing. To avoid timing failure, consider specifying lower frame clock frequency multiplier (FCLK_MULP) value in the Configurations tab of the F-Tile JESD204C Intel FPGA IP parameter editor.

System Components

The F-Tile JESD204C design example provides a software-based control flow that uses the hard control unit with or without system console support.

The design example enables an auto link up in internal and external loopback modes.

JTAG to Avalon Master Bridge
The JTAG to Avalon Master Bridge provides a connection between the host system to access the memory-mapped F-Tile JESD204C IP and the peripheral IP control and status registers through the JTAG interface.

Figure 6. System with a JTAG to Avalon Master Bridge Core

Note:  System clock must be at least 2X faster than the JTAG clock. The system clock is mgmt_clk (100MHz) in this design example.

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-06Parallel I/O (PIO) Core
The parallel input/output (PIO) core with Avalon interface provides a memory-mapped interface between an Avalon memory-mapped slave port and general purpose I/O ports. The I/O ports connect either to on-chip user logic, or to I/O pins that connect to devices external to the FPGA.

Figure 7. PIO Core with Input Ports, Output Ports, and IRQ Support
By default, the Platform Designer component disables the Interrupt Service Line (IRQ).

F-Tile-JESD204C-Intel-FPGA-IP-Design-Example-07The PIO I/O ports are assigned at the top level HDL file ( io_ status for input ports, io_ control for output ports).

The table below describes the signal connectivity for the status and control I/O ports to the DIP switch and LED on the development kit.

Table 8. PIO Core I/O Ports

PortBitSignal
Out_port0USER_LED SPI programming done
31:1Reserved
In_port0USER_DIP internal serial loopback enable Off = 1
On = 0
1USER_DIP FPGA-generated SYSREF enable Off = 1
On = 0
31:2Reserved.

SPI Master
The SPI master module is a standard Platform Designer component in the IP Catalog standard library. This module uses the SPI protocol to facilitate the configuration of external converters (for example, ADC, DAC, and external clock generators) via a structured register space inside these devices.

The SPI master has an Avalon memory-mapped interface that connects to the Avalon master (JTAG to Avalon master bridge) via the Avalon memory-mapped interconnect. The SPI master receives configuration instructions from the Avalon master.

The SPI master module controls up to 32 independent SPI slaves. The SCLK baud rate is configured to 20 MHz (divisible by 5).
This module is configured to a 4-wire, 24-bit width interface. If the Generate 3-Wire SPI Module option is selected, an additional module is instantiated to convert the 4-wire output of the SPI master to 3-wire.

IOPLL
The IOPLL generates the clock required to generate frame_clk and link_clk. The reference clock to the PLL is configurable but limited to the data rate/factor of 33.

  • For design example that supports data rate of 24.33024 Gbps, the clock rate for frame_clk and link_clk is 368.64 MHz.
  • For design example that supports data rate of 32 Gbps, the clock rate for frame_clk and link_clk is 484.848 MHz.

SYSREF Generator
SYSREF is a critical timing signal for data converters with F-Tile JESD204C interface.

The SYSREF generator in the design example is used for the duplex JESD204C IP link initialization demonstration purpose only. In the JESD204C subclass 1 system level application,you must generate SYSREF from the same source as the device clock.

For the F-Tile JESD204C IP, the SYSREF multiplier (SYSREF_MULP) of the SYSREF control register defines the SYSREF period, which is n-integer multiple of the E parameter.

You must ensure E*SYSREF_MULP ≤16. For example, if E=1, the legal setting for SYSREF_MULP must be within 1–16, and if E=3, the legal setting for SYSREF_MULP must be within 1–5.

Note:  If you set an out-of-range SYSREF_MULP, the SYSREF generator will fix the setting to SYSREF_MULP=1.
You can select whether you want the SYSREF type to be a one-shot pulse, periodic, or gapped periodic through the Example Design tab in the F-Tile JESD204C Intel FPGA IP parameter editor.

Table 9. Examples of Periodic and Gapped Periodic SYSREF Counter

ESYSREF_MULPSYSREF PERIOD

(E*SYSREF_MULP* 32)

Duty CycleDescription
11321..31
(Programmable)
Gapped Periodic
113216
(Fixed)
Periodic
12641..63
(Programmable)
Gapped Periodic
126432
(Fixed)
Periodic
1165121..511
(Programmable)
Gapped Periodic
116512256
(Fixed)
Periodic
23191..191
(Programmable)
Gapped Periodic
2319296
(Fixed)
Periodic
285121..511
(Programmable)
Gapped Periodic
28512256
(Fixed)
Periodic
29
(Illegal)
6432
(Fixed)
Gapped Periodic
29
(Illegal)
6432
(Fixed)
Periodic

 

Table 10. SYSREF Control Registers
You can dynamically reconfigure the SYSREF control registers if the register setting is different than the setting you specified when you generated the design example. Configure the SYSREF registers before the F-Tile JESD204C Intel FPGA IP is out of reset. If you select the external SYSREF generator through the
sysref_ctrl[7] register bit, you can ignore the settings for SYSREF type, multiplier, duty cycle and phase.

BitsDefault ValueDescription
sysref_ctrl[1:0]
  • 2‘b00: One-shot
  • 2‘b01: Periodic
  • 2’b10: Gapped periodic
SYSREF type.

The default value depends on the SYSREF mode setting in the Example Design tab in the F-Tile JESD204C Intel FPGA IP parameter editor.

sysref_ctrl[6:2]5’b00001SYSREF multiplier.

This SYSREF_MULP field is applicable to periodic and gapped-periodic SYSREF type.

You must configure the multiplier value to ensure the E*SYSREF_MULP value is between 1 to 16 before the F-Tile JESD204C IP is out of reset. If the E*SYSREF_MULP value is out of this range, the multiplier value defaults to 5’b00001.

sysref_ctrl[7]
  • Duplex datapath: 1’b1
  • Simplex TX or RX datapath: 1’b0
SYSREF select.

The default value depends on the data path setting in the Example Design tab in the F-Tile JESD204C Intel FPGA IP parameter editor.

  • 0: Simplex TX or RX (External SYSREF)
  • 1: Duplex (Internal SYSREF)
sysref_ctrl[16:8]9’h0SYSREF duty cycle when SYSREF type is periodic or gapped periodic.

You must configure the duty cycle before the F-Tile JESD204C IP is out of reset.

Maximum value = (E*SYSREF_MULP*32)-1 For example:

50% duty cycle = (E*SYSREF_MULP*32)/2

The duty cycle defaults to 50% if you do not configure this register field, or if you configure the register field to 0 or more than the maximum value allowed.

sysref_ctrl[17]1’b0Manual control when SYSREF type is one-shot.
  • Write 1 to set the SYSREF signal to high.
  • Write 0 to set the SYSREF signal to low.

You need to write a 1 then a 0 to create a SYSREF pulse in one-shot mode.

sysref_ctrl[31:18]22’h0Reserved.

Reset Sequencers
This design example consists of two reset sequencers:

  • Reset Sequence 0—Handles the reset to TX/RX Avalon streaming domain, Avalon memory-mapped domain, core PLL, TX PHY, TX core, and SYSREF generator.
  • Reset Sequence 1—Handles the reset to RX PHY and RX Core.

3-Wire SPI
This module is optional to convert SPI interface to 3-wire.

System PLL
F-tile has three on-board system PLLs. These system PLLs are the primary clock source for hard IP (MAC, PCS, and FEC) and EMIB crossing. This means that, when you use the system PLL clocking mode, the blocks are not clocked by the PMA clock and do not depend on a clock coming from the FPGA core. Each system PLL only generates the clock associated with one frequency interface. For example, you need two system PLLs to run one interface at 1 GHz and one interface at 500 MHz. Using a system PLL allows you to use every lane independently without a lane clock change affecting a neighboring lane.
Each system PLL can use any one of eight FGT reference clocks. System PLLs can share a reference clock or have different reference clocks. Each interface can choose which system PLL it uses, but, once chosen, it is fixed, not reconfigurable using dynamic reconfiguration.

Related Information
F-tile Architecture and PMA and FEC Direct PHY IP User Guide

More information about the system PLL clocking mode in Intel Agilex F-tile devices.

Pattern Generator and Checker
The pattern generator and checker are useful for creating data samples and monitoring for testing purposes.
Table 11. Supported Pattern Generator

Pattern GeneratorDescription
PRBS pattern generatorThe F-Tile JESD204C design example PRBS pattern generator supports the following degree of polynomials:
  • PRBS23: X23+X18+1
  • PRBS15: X15+X14+1
  • PRBS9: X9+X5+1
  • PRBS7: X7+X6+1
Ramp pattern generatorThe ramp pattern value increments by 1 for every subsequent sample with the generator width of N, and rolls over to 0 when all bits in the sample are 1.

Enable the ramp pattern generator by writing a 1 to bit 2 of the tst_ctl register of the ED control block.

Command channel ramp pattern generatorThe F-Tile JESD204C design example supports command channel ramp pattern generator per lane. The ramp pattern value increments by 1 per 6 bits of command words.

The starting seed is an increment pattern across all lanes.

Table 12. Supported Pattern Checker

Pattern CheckerDescription
PRBS pattern checkerThe scrambling seed in the pattern checker is self- synchronized when the F-Tile JESD204C IP achieves deskew alignment. The pattern checker requires 8 octets for the scrambling seed to self-synchronize.
Ramp pattern checkerThe first valid data sample for each converter (M) is loaded as the initial value of the ramp pattern. Subsequent data samples values must increase by 1 in each clock cycle up to the maximum and then roll over to 0.
Pattern CheckerDescription
For example, when S=1, N=16 and WIDTH_MULP = 2, the data width per converter is S * WIDTH_MULP * N = 32. The maximum data sample value is 0xFFFF. The ramp pattern checker verifies that identical patterns are received across all converters.
Command channel ramp pattern checkerThe F-Tile JESD204C design example supports command channel ramp pattern checker. The first command word (6 bits) received is loaded as the initial value. Subsequent command words in the same lane must increment up to 0x3F and roll over to 0x00.

The command channel ramp pattern checker checks for ramp patterns across all lanes.

F-Tile JESD204C TX and RX IP
This design example allows you to configure each TX/RX in simplex mode or duplex mode.
Duplex configurations allow IP functionality demonstration using either internal or external serial loopback. CSRs within the IP are not optimized away to allow for IP control and status observation.

F-Tile JESD204C Design Example Clock and Reset

The F-Tile JESD204C design example has a set of clock and reset signals.

Table 13.Design Example Clocks

Clock SignalDirectionDescription
mgmt_clkInputLVDS differential clock with frequency of 100 MHz.
refclk_xcvrInputTransceiver reference clock with frequency of data rate/factor of 33.
refclk_coreInputCore reference clock with the same frequency as

refclk_xcvr.

in_sysrefInputSYSREF signal.

Maximum SYSREF frequency is data rate/(66x32xE).

sysref_outOutput
txlink_clk rxlink_clkInternalTX and RX link clock with frequency of data rate/66.
txframe_clk rxframe_clkInternal
  • TX and RX frame clock with frequency of data rate/33 (FCLK_MULP=2)
  • TX and RX frame clock with frequency of data rate/66 (FCLK_MULP=1)
tx_fclk rx_fclkInternal
  • TX and RX phase clock with frequency of data rate/66 (FCLK_MULP=2)
  • TX and RX phase clock is always high (1’b1) when FCLK_MULP=1
spi_SCLKOutputSPI baud rate clock with frequency of 20 MHz.

When you load the design example into an FPGA device, an internal ninit_done event ensures that the JTAG to Avalon Master bridge is in reset as well as all the other blocks.

The SYSREF generator has its independent reset to inject intentional asynchronous relationship for the txlink_clk and rxlink_clk clocks. This method is more comprehensive in emulating the SYSREF signal from an external clock chip.

Table 14. Design Example Resets

Reset SignalDirectionDescription
global_rst_nInputPush button global reset for all blocks, except the JTAG to Avalon Master bridge.
ninit_doneInternalOutput from Reset Release IP for the JTAG to Avalon Master bridge.
edctl_rst_nInternalThe ED Control block is reset by JTAG to Avalon Master bridge. The hw_rst and global_rst_n ports do not reset the ED Control block.
hw_rstInternalAssert and deassert hw_rst by writing to the rst_ctl register of the ED Control block. mgmt_rst_in_n asserts when hw_rst is asserted.
mgmt_rst_in_nInternalReset for Avalon memory-mapped interfaces of various IPs and inputs of reset sequencers:
  •  j20c_reconfig_reset for F-Tile JESD204C IP duplex Native PHY
  • spi_rst_n for SPI master
  • pio_rst_n for PIO status and control
  • reset_in0 port of reset sequencer 0 and 1 The global_rst_n, hw_rst, or edctl_rst_n port asserts reset on mgmt_rst_in_n.
sysref_rst_nInternalReset for SYSREF generator block in the ED Control block using the reset sequencer 0 reset_out2 port. The reset sequencer 0 reset_out2 port deasserts the reset if the core PLL is locked.
core_pll_rstInternalResets the core PLL through the reset sequencer 0 reset_out0 port. The core PLL resets when mgmt_rst_in_n reset is asserted.
j204c_tx_avs_rst_nInternalResets the F-Tile JESD204C TX Avalon memory- mapped interface through reset sequencer 0. The TX Avalon memory-mapped interface asserts when mgmt_rst_in_n is asserted.
j204c_rx_avs_rst_nInternalResets the F-Tile JESD204C TX Avalon memory- mapped interface through reset sequencer 1. The RX Avalon memory-mapped interface asserts when mgmt_rst_in_n is asserted.
j204c_tx_rst_nInternalResets the F-Tile JESD204C TX link and transport layers in txlink_clk, and txframe_clk, domains.

The reset sequencer 0 reset_out5 port resets j204c_tx_rst_n. This reset deasserts if the core PLL is locked, and the tx_pma_ready and tx_ready signals are asserted.

j204c_rx_rst_nInternalResets the F-Tile JESD204C RX link and transport layers in, rxlink_clk,and rxframe_clk domains.
Reset SignalDirectionDescription
The reset sequencer 1 reset_out4 port resets j204c_rx_rst_n. This reset deasserts if the core PLL is locked, and the rx_pma_ready and rx_ready signals are asserted.
j204c_tx_rst_ack_nInternalReset handshakes signal with j204c_tx_rst_n.
j204c_rx_rst_ack_nInternalReset handshakes signal with j204c_rx_rst_n.

Figure 8. Timing Diagram for the Design Example ResetsF-Tile-JESD204C-Intel-FPGA-IP-Design-Example-08

F-Tile JESD204C Design Example Signals

Table 15. System Interface Signals

SignalDirectionDescription
Clocks and Resets
mgmt_clkInput100 MHz clock for system management.
refclk_xcvrInputReference clock for F-tile UX QUAD and System PLL. Equivalent to data rate/factor of 33.
refclk_coreInputCore PLL reference clock. Applies the same clock frequency as refclk_xcvr.
in_sysrefInputSYSREF signal from external SYSREF generator for JESD204C Subclass 1 implementation.
sysref_outOutputSYSREF signal for JESD204C Subclass 1 implementation generated by the FPGA device for design example link initialization purpose only.

 

SignalDirectionDescription
SPI
spi_SS_n[2:0]OutputActive low, SPI slave select signal.
spi_SCLKOutputSPI serial clock.
spi_sdioInput/OutputOutput data from the master to external slave. Input data from external slave to master.
SignalDirectionDescription
Note:When Generate 3-Wire SPI Module option is enabled.
spi_MISO

Note: When Generate 3-Wire SPI Module option is not enabled.

InputInput data from external slave to the SPI master.
spi_MOSI

Note: When Generate 3-Wire SPI Module option is not enabled.

OutputOutput data from SPI master to the external slave.

 

SignalDirectionDescription
ADC/DAC
tx_serial_data[LINK*L-1:0] 

Output

 

Differential high speed serial output data to DAC. The clock is embedded in the serial data stream.

tx_serial_data_n[LINK*L-1:0]
rx_serial_data[LINK*L-1:0] 

Input

 

Differential high speed serial input data from ADC. The clock is recovered from the serial data stream.

rx_serial_data_n[LINK*L-1:0]

 

SignalDirectionDescription
General Purpose I/O
user_led[3:0] 

 

Output

Indicates the status for the following conditions:
  • [0]: SPI programming done
  • [1]: TX link error
  • [2]: RX link error
  • [3]: Pattern checker error for Avalon streaming data
user_dip[3:0]InputUser mode DIP switch input:
  • [0]: Internal serial loopback enable
  • [1]: FPGA-generated SYSREF enable
  • [3:2]: Reserved

 

SignalDirectionDescription
Out-of-band (OOB) and Status
rx_patchk_data_error[LINK-1:0]OutputWhen this signal is asserted, it indicates pattern checker has detected error.
rx_link_error[LINK-1:0]OutputWhen this signal is asserted, it indicates JESD204C RX IP has asserted interrupt.
tx_link_error[LINK-1:0]OutputWhen this signal is asserted, it indicates JESD204C TX IP has asserted interrupt.
emb_lock_outOutputWhen this signal is asserted, it indicates JESD204C RX IP has achieved EMB lock.
sh_lock_outOutputWhen this signal is asserted, it indicates JESD204C RX IP sync header is locked.

 

SignalDirectionDescription
Avalon Streaming
rx_avst_valid[LINK-1:0]InputIndicates whether the converter sample data to the application layer is valid or invalid.
  • 0: Data is invalid
  • 1: Data is valid
rx_avst_data[(TOTAL_SAMPLE*N)-1:0

]

InputConverter sample data to the application layer.
F-Tile JESD204C Design Example Control Registers

The F-Tile JESD204C design example registers in the ED Control block use byte-addressing (32 bits).

Table 16. Design Example Address Map
These 32-bit ED Control block registers are in the mgmt_clk domain.

ComponentAddress
F-Tile JESD204C TX IP0x000C_0000 – 0x000C_03FF
F-Tile JESD204C RX IP0x000D_0000 – 0x000D_03FF
SPI Control0x0102_0000 – 0x0102_001F
PIO Control0x0102_0020 – 0x0102_002F
PIO Status0x0102_0040 – 0x0102_004F
Reset Sequencer 00x0102_0100 – 0x0102_01FF
Reset Sequencer 10x0102_0200 – 0x0102_02FF
ED Control0x0102_0400 – 0x0102_04FF
F-Tile JESD204C IP transceiver PHY Reconfig0x0200_0000 – 0x023F_FFFF

Table 17. Register Access Type and Definition
This table describes the register access type for Intel FPGA IPs.

Access TypeDefinition
RO/VSoftware read-only (no effect on write). The value may vary.
RW
  • Software reads and returns the current bit value.
  • Software writes and sets the bit to the desired value.
RW1C
  • Software reads and returns the current bit value.
  • Software writes 0 and has no effect.
  • Software writes 1 and clears the bit to 0 if the bit has been set to 1 by hardware.
  • Hardware sets the bit to 1.
  • Software clear has higher priority than hardware set.

Table 18. ED Control Address Map

OffsetRegister Name
0x00rst_ctl
0x04rst_sts0
continued…
OffsetRegister Name
0x10rst_sts_detected0
0x40sysref_ctl
0x44sysref_sts
0x80tst_ctl
0x8ctst_err0

Table 19. ED Control Block Control and Status Registers

Byte OffsetRegisterNameAccessResetDescription
0x00rst_ctlrst_assertRW0x0Reset control.

[0]: Write 1 to assert reset. (hw_rst) Write 0 again to deassert reset.

[31:1]: Reserved.

0x04rst_sts0rst_statusRO/V0x0Reset status.

[0]: Core PLL locked status. [31:1]: Reserved.

0x10rst_sts_dete cted0rst_sts_setRW1C0x0SYSREF edge detection status for internal or external SYSREF generator.

[0]: Value of 1 Indicates a SYSREF rising edge is detected for subclass 1 operation. Software may write 1 to clear this bit to enable new SYSREF edge detection.

[31:1]: Reserved.

0x40sysref_ctlsysref_contr olRWDuplex datapath
  • One-shot: 0x00080
SYSREF control.

Refer to Table 10 on page 17 for more information about the usage of this register.

Periodic:Note: The reset value depends on
0x00081the SYSREF type and F-Tile
Gapped- periodic:JESD204C IP data path parameter settings.
0x00082
TX or RX data
path
One-shot:
0x00000
Periodic:
0x00001
Gapped-
periodic:
0x00002
0x44sysref_stssysref_statu sRO/V0x0SYSREF status. This register contains the latest SYSREF period and duty cycle settings of the internal SYSREF generator.

Refer to Table 9 on page 16 for the legal value of the SYSREF period and duty cycle.

continued…
Byte OffsetRegisterNameAccessResetDescription
[8:0]: SYSREF period.
  • When the value is 0xFF, the
    SYSREF period = 255
  • When the value if 0x00, the SYSREF period = 256. [17:9]: SYSREF duty cycle. [31:18]: Reserved.
0x80tst_ctltst_controlRW0x0Test control. Use this register to enable different test patterns for the pattern generator and checker.

[1:0] = Reserved field

[2] = ramp_test_ctl

  • 1’b0 = Enables PRBS pattern generator and checker
  • 1’b1 = Enables ramp pattern generator and checker

[31:3]: Reserved.

0x8ctst_err0tst_errorRW1C0x0Error flag for Link 0. When the bit is 1’b1, it indicates an error has happened. You should resolve the error before writing 1’b1 to the respective bit to clear the error flag.

[0] = Pattern checker error

[1] = tx_link_error

[2] = rx_link_error

[3] = Command pattern checker error

[31:4]: Reserved.

Document Revision History for the F-Tile JESD204C Intel FPGA IP Design Example User Guide

Document VersionIntel Quartus Prime VersionIP VersionChanges
2021.10.1121.31.0.0Initial release.

Documents / Resouces

Download manual
Here you can download full pdf version of manual, it may contain additional safety instructions, warranty information, FCC rules, etc.


Related Manuals