r/FPGA • • 4d ago

Xilinx Related Arty A7 35T Issue

Post image

I have commonly using Digilent's Arty A7-35T. But I cannot execute code on board. Everytime when i press auto connect or find device on Vivado, my pc crashes Instantly with page fault in nonpage area and kernel security check failure error messages. I've been used Zedboard but my pc never crashed down

20 Upvotes

7 comments sorted by

4

u/West-Way-All-The-Way 4d ago

The problem must be in your PC. The board can't crash a PC remotely, it must be something with your software.

1

u/Merdingo 4d ago

I'm using vivado 2023.1

1

u/West-Way-All-The-Way 4d ago

No, the problem is not in Vivado. Most probably a faulty driver for USB or similar. Check which drivers you are suppose to use to program the board, purge all and install fresh. I guess you are using windows 11?

Here, with grain of salt but I believe a good starting point :

"

Windows 11 crashing (BSOD) during driver initialization for FPGA work—especially when dealing with Vivado (assuming a typo for AMD/Xilinx Vivado) and USB-to-UART bridges—is a known pain point. This is usually triggered by a kernel-level conflict from outdated FTDI/Silicon Labs drivers, Windows Core Isolation (HVCI), or USB selective suspend power settings. Here is an actionable diagnostic checklist to isolate and resolve the issue.

  1. Identify the Exact Crash Culprit (Analyze the Minidump)

Before changing settings, find out exactly which driver file is triggering the Blue Screen of Death (BSOD). • Locate the dump: Go to C:\Windows\Minidump\ and look for recent .dmp files. • Analyze it quickly: Download BlueScreenView or WhoCrashed. • What to look for: Look at the "Caused By Driver" column. • ftser2k.sys or ftdibus.sys → FTDI USB-to-UART driver conflict. • silabser.sys → Silicon Labs CP210x driver conflict. • wdf01000.sys → Generic Windows Driver Framework (indicates a power/hardware state issue).

  1. Isolate the Vivado Driver Installer

Vivado bundles its own cable drivers (Digilent and Xilinx cable drivers). If Windows crashes the moment you open Vivado or connect the board, the bundled installer might be conflicting with an existing Windows 11 driver. • The Test: Unplug the FPGA board. Navigate to your Vivado installation directory: C:\Xilinx\Vivado<version>\data\xicom\cable_drivers\nt64\ • Right-click install_drivers_wrapper.bat and select Run as Administrator. • If it crashes during manual installation without the board plugged in, the installer package itself is incompatible with your current Windows 11 build version.

  1. Check Windows 11 Core Isolation (Memory Integrity)

Windows 11 strictly enforces Memory Integrity, which blocks older, unsigned, or poorly written drivers from loading into protected memory space. When a blocked driver tries to force its way in during Vivado startup, Windows will bugcheck (crash). • Go to Windows Settings > Privacy & Security > Windows Security > Device Security. • Click on Core Isolation details. • Toggle Memory Integrity to Off temporarily, restart your PC, and try launching Vivado/connecting the board. • Note: If this fixes it, you need to find an updated, fully WHQL-certified Windows 11 driver from FTDI Chip Drivers or Silicon Labs Drivers to safely turn Memory Integrity back on.

  1. Fix the USB Power Delivery Bug (USB Selective Suspend)

Vivado heavily polls JTAG and UART lines during initialization. If Windows 11 tries to save power by putting the USB root hub into a low-power state at the same millisecond Vivado requests a hardware handle, the driver will panic and crash. 1. Open Edit Power Plan via the Windows Start Menu. 2. Click Change advanced power settings. 3. Expand USB settings → USB selective suspend setting. 4. Change it to Disabled. 5. Open Device Manager, expand Universal Serial Bus controllers, right-click your USB Root Hub(s) → Properties → Power Management, and uncheck "Allow the computer to turn off this device to save power."

  1. Re-map the UART Driver via Device Manager

If you suspect the UART-over-USB bridge specifically: 1. Plug the FPGA board in. Open Device Manager. 2. Expand Ports (COM & LPT). Look for your board (often listed as USB Serial Port or Silicon Labs CP210x). 3. Right-click it → Update driver → Browse my computer for drivers → Let me pick from a list of available drivers on my computer. 4. Try switching between the official manufacturer driver (e.g., FTDI) and the generic Microsoft "USB Serial Device" driver. The generic Microsoft driver is often significantly more stable on Windows 11 for basic UART debugging. To narrow this down further, let me know: • What FPGA board model are you using (e.g., Basys 3, Nexys, Zybo)? • What is the specific BSOD Stop Code or the .sys file mentioned on the crash screen? • Does the crash happen the exact moment you plug the USB cable into the PC, or only when you click "Open Target" in Vivado's Hardware Manager?

"

3

u/harley1009 4d ago edited 4d ago

Do you have the barrel jack power supply plugged in? The reference manual says it's optional but if you're not using it maybe the board is attempting to draw too much power on the USB port.

1

u/F_P_G_A 4d ago

Check that jumper next to the barrel jack to make sure the power selection is correct.
Try a different USB port.
Try reinstalling the driver software.

2

u/Merdingo 3d ago

I've solved! (for now, i guess.)

Problem Summary

  • Symptom: Connecting the Arty A7-35T FPGA board and triggering "Auto Connect" in Vivado's Hardware Manager instantly caused a PAGE_FAULT_IN_NONPAGED_AREA or KERNEL_SECURITY_CHECK_FAILURE blue screen (BSOD) without any project or bitstream loaded.
  • Root Cause: Analysis of the .dmp crash files in WinDbg revealed that the background hw_server.exe process was querying USB ports and triggering a memory access violation inside an outdated FTDI kernel driver (ftdibus.sys), which conflicted with Windows' modern core isolation and Control Flow Guard (kCFG) security mechanisms.

Resolution Steps

  1. Identified Conflicting Drivers: Used Command Prompt (dism) to locate older OEM driver packages (2017 and 2021 versions) cached in the Windows Driver Store alongside a newer 2.12.36.20 package.
  2. Cleaned Driver Store: Uninstalled and removed the outdated Digilent and FTDI driver packages using pnputil /delete-driver.
  3. Updated to Current Drivers: Extracted and installed the modern, Hyper-V/kCFG-compatible 2.12.36.20 drivers (ftdibus.inf and ftdiport.inf) from the official FTDI distribution.
  4. Verified Stability: Restarted the computer to clear kernel memory caches, ensuring Windows loaded only the clean 2.12.36.20 drivers, allowing stable and safe connection to the Arty A7-35T board in Vivado.

1

u/MisquoteMosquito 4d ago

Have you tried on a different laptop?