EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Re: Inquiry About EPICS Support for XILINX XDMA PCIe Driver
From: Joao Paulo Martins via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk <tech-talk at aps.anl.gov>, "hzx1997 at mail.ustc.edu.cn" <hzx1997 at mail.ustc.edu.cn>
Date: Tue, 3 Jun 2025 07:49:19 +0000

Hello Zengxuan,

 

It is a common practice to write a hardware abstraction layer around the XDMA driver, exposing an API to your FPGA firmware made of higher-level functions, like setClockSouce(), setTriggerSource(), armAcquistion() and such. Usually, it's a C or C++ library and its complexity will depend on where you want to transfer the "business logic" of your application.

Here is an example of a very simple XDMA abstraction library that exposes simple functions to read and write registers https://gitlab.esss.lu.se/icshwi/ics-xdriver-lib

 

With this library in hands, your next step is to develop an EPICS device support tailored to your FPGA firmware, and for that task my recommendation is the ASYN framework: https://epics-modules.github.io/asyn/

Hope that helps!

João Paulo Martins
European Spallation Source ERIC



From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of hzx1997--- via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, June 3, 2025 9:06 AM
To: tech-talk <tech-talk at aps.anl.gov>
Subject: Inquiry About EPICS Support for XILINX XDMA PCIe Driver

 

Dear EPICS Support Team,

 I am currently working on a project involving XILINX FPGA-based systems using KU060 fpga. I would like to inquire whether EPICS has any existing PCIe driver examples or support specifically for the XILINX DMA (XDMA) IP core.

If there are relevant resources, documentation, or example modules available, I would greatly appreciate your guidance on where to find them. Additionally, could you please advise on any potential issues or important considerations when integrating XDMA with the EPICS framework?

Thank you for your time and support. I look forward to your response.

Best regards,
Zengxuan Huang

 


hzx1997 at mail.ustc.edu.cn


References:
Inquiry About EPICS Support for XILINX XDMA PCIe Driver hzx1997--- via Tech-talk

Navigate by Date:
Prev: Inquiry About EPICS Support for XILINX XDMA PCIe Driver hzx1997--- via Tech-talk
Next: RE: aai to multiple states Žiga Oven via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Inquiry About EPICS Support for XILINX XDMA PCIe Driver hzx1997--- via Tech-talk
Next: StreamDevice and libpcre2 Jörn Dreyer via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025