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

    I have now been experimenting with MMCM module to derive demanded clocks from gt_refclk for the Aurora example design. Vivado then complains that the instantiated MMCM resides in different clock region than the the reference clock source GT Refclk. Also the Aurora example design uses a MMCM internally (in aurora_64b66b_0_clock_module.v) again in a another clock region. This resulted in critical warnings so I decided to try using of Zynq PL Fabric Clocks using the ZYNQ7 Processing System core.
     

    Solution for using PL Fabric clocks wasn't so hard in the end: I created a block design from Vivado IP Integrator, instantiated a ZYNQ7 Processing System core and form the core options enabled two PL fabric clocks FCLK_CLK0 and FCLK_CLK1 with desired frequencies. After that I created two output ports to the design and attached the clock outputs of the Zynq core to these output ports. Now I just needed to generate a hdl wrapper from the block design using "Create HDL Wrapper..." option. That wrapper I then instantiated into the aurora example design and connected the clock signals.


    I wonder why I couldn't find this solution anywhere..


    Now I'm able to set up a channel (CHANNEL_UP and LANE_UP goes high) using one Aurora core for one GTX transceiver MGT_X0Y1 (SMA) with the example design when connecting the SMA connectors in a loopback with SMA cables. Instantiating a second Aurora core for the SFP+ interface (MGT_X0Y2) has not yet been succesfull. I'm trying a setup shown in the Aurora 64B/66B v11.2 LogiCORE IP Product Guide figure 3-17. For some reason the transceiver core MGT_X0Y2 is not instantiated at all when looking at the implemented design "Device" view. This is probably out of scope for Avnet support so I will move the issue to Xilinx forum if I'm unable to figure it out.

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

    I have now been experimenting with MMCM module to derive demanded clocks from gt_refclk for the Aurora example design. Vivado then complains that the instantiated MMCM resides in different clock region than the the reference clock source GT Refclk. Also the Aurora example design uses a MMCM internally (in aurora_64b66b_0_clock_module.v) again in a another clock region. This resulted in critical warnings so I decided to try using of Zynq PL Fabric Clocks using the ZYNQ7 Processing System core.
     

    Solution for using PL Fabric clocks wasn't so hard in the end: I created a block design from Vivado IP Integrator, instantiated a ZYNQ7 Processing System core and form the core options enabled two PL fabric clocks FCLK_CLK0 and FCLK_CLK1 with desired frequencies. After that I created two output ports to the design and attached the clock outputs of the Zynq core to these output ports. Now I just needed to generate a hdl wrapper from the block design using "Create HDL Wrapper..." option. That wrapper I then instantiated into the aurora example design and connected the clock signals.


    I wonder why I couldn't find this solution anywhere..


    Now I'm able to set up a channel (CHANNEL_UP and LANE_UP goes high) using one Aurora core for one GTX transceiver MGT_X0Y1 (SMA) with the example design when connecting the SMA connectors in a loopback with SMA cables. Instantiating a second Aurora core for the SFP+ interface (MGT_X0Y2) has not yet been succesfull. I'm trying a setup shown in the Aurora 64B/66B v11.2 LogiCORE IP Product Guide figure 3-17. For some reason the transceiver core MGT_X0Y2 is not instantiated at all when looking at the implemented design "Device" view. This is probably out of scope for Avnet support so I will move the issue to Xilinx forum if I'm unable to figure it out.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify 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