Forum Discussion
Terasic Apollo S10 SOM_FA
That's a genuinely frustrating situation, and I want to give you a clear technical picture of what's actually happening here, because I think the framing of "Intel CPU vs AMD CPU" is obscuring the real root cause.
The core technical reality: The PCIe endpoint implemented in the Stratix 10 SX FPGA on the Apollo S10 SOM (device 1SX280H) "Apollo S10 SoM" is a hardware interface that operates at the PCIe protocol level — it is completely CPU-architecture-agnostic. Whether your host PC runs an Intel or AMD processor has no bearing whatsoever on whether the FPGA's PCIe hard IP enumerates and links up correctly. PCIe is a standardized bus protocol; the FPGA endpoint does not know or care what brand of CPU is on the other end of the root complex.
Where the real incompatibility is: The problem you're describing — a demo application producing errors when run on an AMD system — is almost certainly in Terasic's host-side software layer: either the demo application itself, or the PCIe device driver it uses to communicate with the endpoint. Some demo software vendors hard-code assumptions based on Intel chipset or CPU-specific timing behaviors, or use CPU-vendor-specific API calls or intrinsics. That is a software bug, not an FPGA design issue, and it is squarely Terasic's responsibility to fix.
On the Quartus version testing request: Asking you to iterate through Quartus Prime Pro versions from 19.1 through 23.3 to test their code is unreasonable, and you are correct to push back on it. The Apollo S10 SOM's published latest supported Quartus version is 20.2.0 "Apollo S10 SoM" — that is the authoritative baseline for this board, and that is where Terasic's own validation should be anchored.
Practical suggestions for you:
- Request in writing from Terasic a clear statement of which host OS, driver version, and software stack their demo has been validated against. "Intel CPU only" is not an acceptable support scope for a PCIe endpoint demo — they need to identify the specific software component that fails.
- If you have access to Quartus Prime Pro 20.2 and the board's design example, you can verify the PCIe link independently by checking whether the endpoint enumerates correctly in your system's device manager/lspci before running any Terasic demo software. Enumeration succeeding (or failing) tells you whether the issue is at the PCIe hardware link level or purely in the demo application.
- The Apollo Carrier board and its associated resources "Apollo S10 SoM" should include a user manual — a User Manual is listed as an included resource for the Apollo S10 SOM. "Apollo S10 SoM" Review that for any host-system requirements Terasic may have documented but not prominently advertised.
You are correct that Terasic, as an Altera partner, has the engineering resources to identify and fix a host-software AMD compatibility issue. That is not end-user test work — it is their product validation responsibility.
- paramProd48 minutes ago
Community Manager
Can you explain - The Apollo Carrier board and its associated resources "Apollo S10 SoM" should include a user manual — a User Manual is listed as an included resource for the Apollo S10 SOM. "Apollo S10 SoM" Review that for any host-system requirements Terasic may have documented but not prominently advertised.
- paramProd46 minutes ago
Community Manager
Good question. A User Manual is indeed listed as an included resource for the Apollo S10 SoM, confirmed as part of the documentation package for this board. Apollo S10 SoM However, the full text of that manual was not returned in the available documentation, so I can't surface any host-system requirements Terasic may have buried within it directly from this session.
What I can tell you from the verified board specs that are relevant to host-system planning:- Quartus Prime version: the latest supported Quartus Prime version is 20.2.0. Apollo S10 SoM This is a hard constraint — your host development machine must support that version (Windows or Linux per the Quartus 20.2 system requirements).
- Power: the board requires a 12V power supply. Apollo S10 SoM
- Device OPN: the on-board device is the 1SX280HU2F50E1VG. Apollo S10 SoM Compiling for a Stratix 10 SX at this density is memory- and CPU-intensive — plan for a host with substantial RAM (32 GB+ recommended for Stratix 10 compilation).
- Connectivity to host: the board includes an on-board USB-Blaster II Apollo S10 SoM , so your host needs a USB port and the corresponding Altera USB-Blaster II driver installed under Quartus 20.2.
- I/O interfaces available: the board exposes MicroSD Socket, Gigabit Ethernet with RJ45, USB OTG, UART to USB, and a 1×6 GPIO Header. Apollo S10 SoM The UART-to-USB bridge in particular typically requires a CP210x or FTDI VCP driver on the host OS.
- Expansion: FMC and FMC+ connectors are available Apollo S10 SoM — if your design uses FMC daughtercards, verify the host PCIe or Thunderbolt bandwidth budget accordingly.
To get the complete, formally documented host-system requirements Terasic lists, I'd recommend pulling the User Manual directly from the Terasic product page for the Apollo S10 SoM (part number P0630) and checking sections typically titled "System Requirements" or "Software Installation." That's where any OS version restrictions, minimum RAM/CPU specs for HPS-based Linux development, and USB driver prerequisites will be formally called out.