- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am following the Arria 10 CvP tutorial, for configuring CvP on the Arria 10 Dev Kit, located here: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_a10_cvp_prop.pdf
My design is essentially just the PCI-E Hard IP Core with CvP enabled + a basic NIOS II configuration. I have my project configured to use the 10AX115S2F45I1SG under "Device" in Quartus, as specified in the Development Kit User Guide (https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_a10-fpga-prod-devkit.pdf).
I have compiled the design successfully and downloaded it to the FPGA without setting it up for CvP - the PCI-E Hard IP Core enumerates successfully with the host system under "lspci".
I have followed the CvP tutorial through to "Splitting the SOF file" in section 3-4. When I load my SOF Data file in, under "Properties", my device is listed as the 10AX115S2F45. The tutorial specifies I need to select the flash loader as "10AX115S1F45I1SG" - I have used the "S2" variant in my Quartus project since the User Guide specified this as the correct chip.
However, when I go to select the "Flash Loader" device, in the "Select Devices" list, I am presented with a significantly reduced set of devices than available elsewhere in Quartus. In terms of "10AX115S2" devices, I have the choice of:
- 10AX115S2
- 10AX115S2E2
- 10AX115S2ES
Selecting either the "E2" or "ES" designations will cause Quartus to crash with an error report which is attached at the bottom of this post.
Selecting "10AX115S2" will successfully create the periphery and core files, however this isn't a specific designation as the tutorial suggests I should choose.
When I then go to program the FPGA in Quartus Programmer GUI, upon hitting "Auto Detect", I have a similar issue to setting the "Flash Loader". A prompt is shown with the text "Found devices with shared JTAG ID for device 1. Please select your device". Again, my specific device isn't present, so I select 10AX115S2. If I select any of the other variants, Quartus crashes.
I specify my periphery image for the EPCQL2014 device, and my programmer window looks as follows:
I then hit "Start" to start flashing, the flash seems to progress, but hits 88% in the progress indicator and says "(Failed)".
In the messages console:
"Error(209025): Can't recognize silicon ID for device 1. A device's silicon ID is different from its JTAG ID. Verify that all cables are securely connected, select a different device, or check the power on the target system. Make sure the device pins are connected and configured correctly."
I believe there are some missing files or similar from my system, but short of installing the Arria 10 qdz file, I'm not sure what else I can do.
This crashing behavior I have also experienced under Windows.
Any and all advice on fixing this issue is welcomed.
Thanks.
Quartus Crash Report:
Problem Details
Error:
Internal Error: Sub-system: PGMIO, File: /quartus/pgm/pgmio/pgmio_pcf_data_server.cpp, Line: 70
No PCF Info Found for nightfury5es
Stack Trace:
0x6397e: std::string::_Rep::_M_dispose(std::allocator<char> const&) [clone .part.0] (pgm_pgmio)
0x46a5b1: PGMIO_PCF_DATA_SERVER::get_pcf_file_info(std::string const&, PGMIO_PCF_ENTRY**, bool) + 0x91 (pgm_pgmio)
0x3867ed: PGM_PCF_CONTAINER::get_pcf_file_info(std::string) + 0xcd (pgm_pgmio)
0x433679: PGMIO_POFIO::PGMIO_POFIO(PGM_DEVICE const*, std::string) + 0x109 (pgm_pgmio)
0x43d27c: PGMIO_BITSTREAM_WRITER::write_bitstream(std::vector<PGMIO_LOGICAL_PAGE*, std::allocator<PGMIO_LOGICAL_PAGE*> >&, std::vector<PGMIO_LOGICAL_PAGE*, std::allocator<PGMIO_LOGICAL_PAGE*> >&, PGMIO_CCF&, std::vector<std::string, std::allocator<std::string> >*, unsigned int) + 0x344c (pgm_pgmio)
0x3f1394: PGMIO_F2P::convert_sram_files(PGMIO_CCF&) + 0x1494 (pgm_pgmio)
0x80b09: CPFQ_FRAME_WND::on_click_generate() + 0xcb3 (pgm_cpfq)
0x91ff5: CPFQ_FRAME_WND::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 0xcf (pgm_cpfq)
0x2a088a: QMetaObject::activate(QObject*, int, int, void**) + 0x76a (Qt5Core)
0x234342: QAbstractButton::clicked(bool) + 0x32 (Qt5Widgets)
0x23452a: QAbstractButtonPrivate::emitClicked() + 0x3a (Qt5Widgets)
0x23584a: QAbstractButtonPrivate::click() + 0xba (Qt5Widgets)
0x235a15: QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 0xd5 (Qt5Widgets)
0x193508: QWidget::event(QEvent*) + 0x1d8 (Qt5Widgets)
0x15916c: QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x9c (Qt5Widgets)
0x160e27: QApplication::notify(QObject*, QEvent*) + 0xe57 (Qt5Widgets)
0x272ea8: QCoreApplication::notifyInternal2(QObject*, QEvent*) + 0x118 (Qt5Core)
0x15f7ef: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 0x1bf (Qt5Widgets)
0x1ada5b: QWidgetWindow::handleMouseEvent(QMouseEvent*) + 0x61b (Qt5Widgets)
0x1afe61: QWidgetWindow::event(QEvent*) + 0x1e1 (Qt5Widgets)
0x15916c: QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x9c (Qt5Widgets)
0x16028f: QApplication::notify(QObject*, QEvent*) + 0x2bf (Qt5Widgets)
0x272ea8: QCoreApplication::notifyInternal2(QObject*, QEvent*) + 0x118 (Qt5Core)
0xe8f6b: QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 0x90b (Qt5Gui)
0xea945: QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 0x105 (Qt5Gui)
0xc4f5b: QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0xab (Qt5Gui)
0xd7236: QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x16 (Qt5XcbQpa)
0x27179a: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 0x12a (Qt5Core)
0x27a280: QCoreApplication::exec() + 0x80 (Qt5Core)
0x401ecb: qgq_main(int, char const**) + 0x7b (quartus)
0x3ebd0: msg_main_thread(void*) + 0x10 (ccl_msg)
0x40de4: msg_thread_wrapper(void* (*)(void*), void*) + 0x6e (ccl_msg)
0x11bec: mem_thread_wrapper(void* (*)(void*), void*) + 0x5c (ccl_mem)
0xc2ee: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)
0x6c25: thr_thread_wrapper + 0x15 (ccl_thr)
0x41930: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0x148 (ccl_msg)
0x401fb5: main + 0x26 (quartus)
0x20830: __libc_start_main + 0xf0 (c)
End-trace
Executable: quartus
Comment:
None
System Information
Platform: linux64
OS name: Ubuntu 16.04.6
OS version: 16
Quartus Prime Information
Address bits: 64
Version: 19.2.0
Build: 57
Edition: Pro Edition
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
When you convert the sof file, you should select "10AX115S2" as this is the production device which is on your board.
For the programming issue, may I know if you are using AS (Active Serial) configuration mode? Could you check your board MSEL to see if it is selecting AS mode? If no, please change the MSEL to AS before powering up the board.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
When you convert the sof file, you should select "10AX115S2" as this is the production device which is on your board.
For the programming issue, may I know if you are using AS (Active Serial) configuration mode? Could you check your board MSEL to see if it is selecting AS mode? If no, please change the MSEL to AS before powering up the board.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ahhh, excellent, that's sorted the problem out John. For whatever reason, the newer tutorials don't specify that you have to set the MSEL jumpers into the Active Serial mode - hadn't made the link that the files generated earlier were configured as such. The periphery image is programmed using JTAG so its relevance wasn't particularly obvious.
Thanks very much!

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page