element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
PicoZed Hardware Design Using GTX transceivers
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 4 replies
  • Subscribers 322 subscribers
  • Views 2484 views
  • Users 0 members are here
Related

Using GTX transceivers

nahkabiljetti
nahkabiljetti over 7 years ago

Hello!

I'm looking for some help how to use the GTX transceivers on PicoZed 7030 board. I'm using the FMC Carrier Card V2 platform and my goal is to send data to one GTX transceiver channel and receive it with another. Later this communication should happen between multiple PicoZed boards.
 

I currently have a setup where I connect the SMA TX pair to SFP+ module RX pair via SFP+ to SMA adapter. After watching your 4 tutorial videos about how to use IBERT core to validate links I managed to verify that the link is working correctly. The Link was automatically detected by Vivado and it shows the link
 

MGT_X0Y1/TX (SMA) -> MGT_X0Y2/RX (SFP+)
 

Status as 6.250 Gbps as expected and no errors.
 

Now I would want to move to the next step: use the GTX transceivers from a custom logic so that I can send my custom data to one transceiver and receive it to another but I'm really confused how to achieve this. First things I find info about are the "7 Series FPGAs Transceivers Wizard" and "Aurora 64B66B" cores. But when I used the IBERT core I did not need the Transceivers Wizard setup. That makes me want to think that it's not needed.
 

What I'm looking for is basic steps what is needed to send data from my custom logic to GTX transceiver and receive it back. Do I need transceivers wizard? Do I need to edit .xdc constraints manually? Can I use Aurora example design?
 

I'm fairly familiar with Vivado and SDK but I have not worked with .xdc constraints. I'm familiar with building a custom AXI4 peripheral.
 

Best regards
Jan

  • Sign in to reply
  • Cancel
Parents
  • nahkabiljetti
    0 nahkabiljetti over 7 years ago

    It took some time and experimenting but I now have a working solution with two PicoZed FMC Carrier Card V2 cards connected with optical fibre. I instantiated the Aurora64B66B core with following options:

     

    Line Rate (Gbps): 6.25
    GT Refclk (MHz): 250.000
    INIT clk (MHz): 50.0
    GT DRP clk (MHz): 100.0

    Dataflow Mode: Duplex
    Interface: Framing
    Flow Control: None

    DRP Mode: AXI4 Lite

    GT Selections:
    Lanes: 1
    GTXQ0: GTXE2_X0Y2 (SFP+)

    Shared Logic:
    Include Shared Logic in the core

     

    I then created the example design and used it as a reference to make my own reset and control modules and the constraint file. When I managed to get the channel up (Aurora channel_up signal connected to PL LED) I created a data module writing AXI4 Stream data to the Aurora core via AXI4-Stream Data FIFO. This is because the USER_DATA_S_AXIS_TX interface is clocked by the user_clk_out clock that is asynchronous to the FCLK_CLK0 system clock I use to create the stream. Same thing with receiving the data from the core (USER_DATA_M_AXIS_RX).

    For the GT Refclk I used the onboard oscillator generating 250 MHz clock. Init clk and GT DRP clock I took from ZYNQ Processing System FCLK_CLK0 and FCLK_CLK1.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
Reply
  • nahkabiljetti
    0 nahkabiljetti over 7 years ago

    It took some time and experimenting but I now have a working solution with two PicoZed FMC Carrier Card V2 cards connected with optical fibre. I instantiated the Aurora64B66B core with following options:

     

    Line Rate (Gbps): 6.25
    GT Refclk (MHz): 250.000
    INIT clk (MHz): 50.0
    GT DRP clk (MHz): 100.0

    Dataflow Mode: Duplex
    Interface: Framing
    Flow Control: None

    DRP Mode: AXI4 Lite

    GT Selections:
    Lanes: 1
    GTXQ0: GTXE2_X0Y2 (SFP+)

    Shared Logic:
    Include Shared Logic in the core

     

    I then created the example design and used it as a reference to make my own reset and control modules and the constraint file. When I managed to get the channel up (Aurora channel_up signal connected to PL LED) I created a data module writing AXI4 Stream data to the Aurora core via AXI4-Stream Data FIFO. This is because the USER_DATA_S_AXIS_TX interface is clocked by the user_clk_out clock that is asynchronous to the FCLK_CLK0 system clock I use to create the stream. Same thing with receiving the data from the core (USER_DATA_M_AXIS_RX).

    For the GT Refclk I used the onboard oscillator generating 250 MHz clock. Init clk and GT DRP clock I took from ZYNQ Processing System FCLK_CLK0 and FCLK_CLK1.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube