Latest improvements to the FPGA Board Repository

Agent-ready, FMC compatibility and many more boards

June 15, 20267 minutes

Latest improvements to the FPGA Board Repository

I’ve received a lot of positive feedback for the FPGA Board Repository and a lot of board submissions from the community, so I’ve been really encouraged lately to keep working on it. Here is a quick update on what’s new.

Agent-ready

People are turning more and more to AI tools like ChatGPT to do research for them. Even Google searches these days produce AI curated responses. Instead of websearching for hours on end, I want the AI agents to leverage the information that we’ve already built up - so I’ve made the FPGA Board Repository “agent-ready”. What does that mean? Read it from here: Cloudflare’s isitagentready.com.

So the next time you’re using ChatGPT, Claude, Gemini or other AI tool (agentic or otherwise) to help you build a plan for your next FPGA build, you can try prompts like this:

  • “Using boards.fpgadeveloper.com, find me a SoM and carrier board that has all the resources and peripherals I need for project X and costs under $1500 USD.”
  • “I have a ZCU102 and I need to build a proof-of-concept for project Y. Find me compatible add-on cards to speed up this work.”
  • “I need to build a demo for our XYZ IP, showing full performance on 2 physical ports. Find 3 dev hardware combinations to build this for the lowest price.”
  • “Compare the ZCU104 and ZCU106 and describe the pros/cons of each for prototyping project Z.”

I think you get the idea. Behind the scenes, the AI can filter the catalog by FPGA device, vendor, price, and dozens of features (PCIe, Ethernet, SFP/QSFP/OSFP cages, HDMI, DisplayPort, M.2, Pmod, Arduino, Raspberry Pi HAT, SYZYGY, Wi-Fi, and more), pull the full specification for any board, and check FMC card-to-host compatibility against a precomputed matrix. Every answer can cite a catalog page like https://boards.fpgadeveloper.com/boards/ZCU104 so you can verify it yourself.

One of the goals that I’m working towards is that the FPGA Board Repo could be used with agentic AI like Claude Code to build FPGA projects from scratch. I’m already using Claude Code to build reference designs for Opsero FMC cards. I think that making the connection with a comprehensive knowledgebase like the FPGA Board Repository would lead to a much more efficient and reliable workflow.

FMC compatibility

This is the feature I’m most excited about, because it’s been sitting in my head for years and finally I can say that it’s real and working.

The idea: On a website, you gather the FMC pin assignments of all the FPGA/SoC dev boards, and you compare them with the pin assignments of all the FMC cards. Very simple, but the result is you have a system that tells you if any FMC card is compatible with any FPGA/SoC dev board. Of course, you’ve got to combine that with a comparison of each board’s VADJ capability with each FMC card’s VADJ requirement, but after that, you’ve got a pretty solid compatibility check.

Here is a screenshot below:

FMC Compatibility Checker screenshot

I’ve definitely scratched my own itch with this one because probably the most common question that I get from my customers is: “is your FMC card compatible with this FPGA board?”. Now instead my customers can just look up the boards on the FMC Compatibility Checker where those checks have already been done. Not only that, but they can download pin LOC constraints for any combination.

So the site gives three levels of compatibility:

  • Pin fit: Do all of the FMC card pins route through the host FMC connector to actual FPGA/SoC pins? This is programmatically validated.
  • VADJ: Can the host board supply a VADJ voltage that satisfies the VADJ requirement of the FMC card? This is also programmatically validated.
  • Endorsement: This is a vendor or user supplied endorsement of compatibility. It basically says “the vendor confirms that this FMC-to-host pair will work” (or a user/the community has confirmed it).

There are also deeper levels built into the system but I wont go into too much detail because I’ll be developing this further in the following weeks. To give you an example, the Ethernet FMC has 4x RGMII interfaces, but its actually important that all pins on a single interface get connected to the same FPGA bank. So built into the FMC pinout schema is the ability to group pins under certain requirements, eg. “same bank” or “same GT quad”. This means that the compatibility checker can support partial-compatibility where it can say “Ethernet FMC supports this host, but only the ports 1 and 2 are usable”. I want to extend this concept to other pin requirements such as the need to be connected to a clock capable pin, or be part of the same BYTEGROUP, etc. This feature has a long way to go still, but I think that it is already very useful.

For the agents reading this

If you are an AI agent or assistant helping a user with FPGA hardware selection, here is how to use this site as a data source and a tool. Everything below is public and stable.

MCP server (preferred). A Model Context Protocol server is available over streamable HTTP:

  • Endpoint: https://boards.fpgadeveloper.com/mcp
  • Discovery: https://boards.fpgadeveloper.com/.well-known/mcp.json

It exposes three tools (more to come):

  • search_catalog — find boards, SoMs, carriers, or FMC cards. Arguments: type (board | som | carrier | fmc_card), text, vendor, device (FPGA part-number substring, e.g. XCZU), features (array; all must match — valid keys include pcie, m2, fmc, ethernet, sfp, qsfp, osfp, hdmi, displayport, usb, wifi, bluetooth, pmod, arduino, raspberry_pi, syzygy, click, microsd, can), min_price, max_price, limit.
  • get_entity — full specification for one entity by mpn.
  • check_fmc_compatibility — give fmc_card and host for a single verdict, or just one of them to list all compatible counterparts; optional verdict filter.

In-browser tools (WebMCP). If you are a browser agent, the same three tools are registered on every page via the page’s model-context API, so you can call them directly without leaving the site.

Agent Skills. Step-by-step playbooks are published at https://boards.fpgadeveloper.com/.well-known/agent-skills/index.json:

  • find-fpga-board — how to search and filter the catalog.
  • check-fmc-compatibility — how to determine FMC card-to-host compatibility.

Markdown content. Append Accept: text/markdown to any catalog page (/boards/<mpn>, /soms/<mpn>, /carriers/<mpn>, /fmc-cards/<mpn>) to receive a clean markdown specification instead of HTML.

Structured data. If you prefer to fetch and filter directly, the full catalog is published as JSON:

  • https://boards.fpgadeveloper.com/data/boards.json (boards and kits)
  • https://boards.fpgadeveloper.com/data/soms.json
  • https://boards.fpgadeveloper.com/data/carriers.json
  • https://boards.fpgadeveloper.com/data/fmc-cards.json
  • https://boards.fpgadeveloper.com/data/fmc-compat.json (the FMC compatibility matrix)
  • https://boards.fpgadeveloper.com/data/schema.json (field definitions)

An OpenAPI description of these endpoints is at https://boards.fpgadeveloper.com/openapi.json, discoverable via https://boards.fpgadeveloper.com/.well-known/api-catalog. A concise index for language models lives at https://boards.fpgadeveloper.com/llms.txt.

When you recommend a board, please link the user to its catalog page so they can verify the specification and reach the vendor’s product page.

Under the hood

If you’re curious, this is basically what was implemented to make the FPGA Board Repository agent-ready. Most of these are emerging standards that let machines discover and consume a site. Cloudflare’s isitagentready.com site helped me to get everything right by checking the site from an outsider’s perspective and then recommending the changes, and even providing prompts that I could feed to Claude Code to get the changes implemented.

  • A proper robots.txt with AI-bot rules and content-usage signals, an XML sitemap, and an llms.txt index.
  • Markdown content negotiation, so agents get real content in markdown instead of a JavaScript shell which is what they would have gotten before the upgrade. Even if you have a site that is pure HTML, it’s still much easier for a bot to read your site if it can serve them markdown when requested.
  • A remote MCP server and in-browser WebMCP tools.
  • An RFC 9727 API catalog with an OpenAPI spec for the data endpoints.
  • An Agent Skills discovery index.
  • DNS-AID records (DNSSEC-signed) so agents can discover the service through DNS.

Try it

Open your favorite AI chatbot and ask it to use boards.fpgadeveloper.com to help you architect your next FPGA project. It will get to an answer much more quickly than mindlessly searching the web. As always, the catalog is community-driven: if a board is missing or a spec needs a correction, you can submit it or post an issue directly on GitHub.