Forum Discussion

He4Forum's avatar
He4Forum
Icon for Occasional Contributor rankOccasional Contributor
3 years ago

Downtrain to PCIe Gen3x8 when generating Quartus design with Avalon-MM+ IP for S10 GX dev kit

Avalon® memory mapped Intel® Stratix® 10 Hard IP+ for PCI Express* Solutions User Guide shows that Avalon-MM+ IP can support Gen8 x 16 for PCIe.

When I genetate a design with the IP, I find there is a system message that says using Intel FPGA Root Comple BFM will downtrain design to Gen3x8.

Also when I test the design with S10 dev kit card, it seems the throughput for DMA, which is nearly 7GB/s, is based on Gen3x8.

How can I make the design still support Gen3x16?

6 Replies

    • He4Forum's avatar
      He4Forum
      Icon for Occasional Contributor rankOccasional Contributor

      Hi skbeh,

      I notice that the design you shared to me is for Intel® Stratix® 10 MX FPGA Development Kit, while I am using Intel® Stratix® 10 GX FPGA Development Kit. So will this cause any issue?

  • skbeh's avatar
    skbeh
    Icon for Contributor rankContributor

    Hi He Xu

    Stratix 10 MX devkit OPN is 1SM21BHU2F53E1VG, while Stratix 10 GX devkit OPN is 1SG280LU2F50E2VG, both are using different device OPN.

    Since you are using Stratix 10 GX devkit DK-DEV-1SGX-L-A, the AN881 example design cannot directly being used in your devkit, unless port over the pin assignments.


    The design that you currently tested is generated from the 'Generate Example Design' tab as shown in screenshot below, correct?

    By default this generated example design is only Gen3x8, have you modify the design to gen3x16? If no, then the link is gen3x8 only.


  • skbeh's avatar
    skbeh
    Icon for Contributor rankContributor

    Hi He Xu

    Sorry please ignore the previous reply. I noticed you are using AvMM+ IP for PCI Express and generated the gen3x16 example design.

    To determine if your example design is link-up as Gen3x8 or Gen3x16, kindly use Signaltap to monitor the value of currentspeed_o[1:0] and lane_act_o[4:0]


    currentspeed_o[1:0] indicate the current speed of the PCIe link. The following encodings are defined:

    2'b00 : Undefined

    2'b01 : Gen1

    2'b10 : Gen2

    2'b11 : Gen3


    lane_act_o[4:0] indicate the number of lanes that are configured during link training. The following encodings are defined:

    5'b0 0001 : 1 lane

    5'b0 0010 : 2 lanes

    5'b0 0100 : 4 lanes

    5'b0 1000 : 8 lanes

    5'b1 0000 : 16 lanes


    • He4Forum's avatar
      He4Forum
      Icon for Occasional Contributor rankOccasional Contributor

      Hi skbeh,

      Sorry, I am a newbie for Quartus Software. Do you mean I should use the Signal Tap Logic Analyzer?

      After I clicked on the Signal Tap, it shows like this.

      Then what should I do to monitor the value of currentspeed_o[1:0] and lane_act_o[4:0] as you told me?

      Thanks.

  • skbeh's avatar
    skbeh
    Icon for Contributor rankContributor

    currentspeed_o[1:0] will indicates the link speed, i.e. Gen1, Gen2 or Gen3, see the definition in previous note.

    lane_act_o[4:0] will indicates the link width, i.e. x1, ,x2, x4, x8, x16, see the definition in previous note.


    In between, please check your board DIP switch SW2 setting, make sure SW2.4 is set to ON position (enable pcie x16).