Forum Discussion
6 Replies
- skbeh
Contributor
Hi sir
1) Please check to ensure your rootport CPU is also capable support up to gen3x16.
2) Instead of using the IP tab generated example design, please try use this Example Design from AN 881: PCI Express* Gen3 x16 Avalon® Memory Mapped (Avalon-MM) DMA with DDR4 SDRAM and HBM2 Memories Reference Design
Below is the document and design link:
https://www.intel.com/content/www/us/en/docs/programmable/683291/current/introduction.html
- He4Forum
Occasional 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
Contributor
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
Contributor
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
Occasional 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
Contributor
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).