beautypg.com

Integration of serdes wrapper in a design, Design and wrapper files – Achronix Speedster22i SerDes User Manual

Page 72

background image

Integration of SerDes Wrapper in a Design

This section details how to use the files generated by ACE GUI into a user-design. For ready-

reference, the design properties from “Design Flow: Creating a SerDes Design” are presented

again:

Design name : simple_serdes_design

Objective : Send data from fabric to SerDes and read-back data using internal loopback.

Data rate : 10.3125 Gbps

Standard : Generic

Number of lanes : 1

Placement : South lane# 8

Ref. clock : 156.25 Mhz

Data width : 40

PCS blocks used :

8b/10b encoder

8b/10b decoder

Symbol alignment: Automatic mode

Note: clock compensation (EFIFO) not used.

The simple_serdes_design will contain the following files:

simple_serdes_design_top.v: Top-level RTL that will instantiate the SerDes wrapper

generated by ACE. As per the directory structure as shown above, this file will be

under src/rtl sub-directory.

simple_user_design_wrapper.v: The SerDes wrapper RTL that has been generated by

ACE. (Under src/ace directory.)

data_generation.v: This will include the code used to generate data for transmission,

including comma characters. (Under src/rtl sub-directory.)

simple_user_design.pdc: ACE Placement file. (Under src/constraints sub-directory.)

simple_user_design.sdc: ACE constraint file for timing. This will contain the timing

constraints from the ACE-generated simple_serdes_design_wrapper.sdc file as well

as constraints related to the additional clocks used in simple_user_design_top.v.

(Under src/constraints sub-directory.)

tb_user_guide.v: This is the testbench used for design; we will use this for simulation

purposes. (Under src/tb sub-directory.)

The Achronix SerDes reference design Speedster22i_SerDes_1lane_10gbps_PCS_bypass_

RD002 can be referred for further understanding on how the ACE GUI generated files can be

used in a design.

Design and Wrapper Files

simple_serdes_design_top.v: This is the top-level module for the current design. This module

will instantiate the SerDes wrapper (from simple_design_wrapper.v file) and will use the

SerDes ports to: (a) send data to SerDes and (b) read-back data from SerDes. Some SerDes

ports are also brought to the FPGA I/O pads as reset and debug signals.
The ports that are available from the SerDes wrapper are displayed in “Figure 25: IP Diagran

Window”. To instantiate the wrapper module simple_serdes_design_wrapper, the following

construct is used:

simple_serdes_design_wrapper iSerDes

where, iSerDes is the name of the instance. The instance name iSerDes is used in other files as

well, such as the ace_placement.pdc and the ace_constraint.sdc files. If the instance name

72

UG028, July 1, 2014