CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 16:43:50 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"4d83dbb84a61888be1f2fac6bffe292f"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=qtRVeOEqN4XSR2typwy5%2B0RMMQIDdaXDC0uBzeIJObc7cWNSVoNuoRNbiGMkZy5vRBZUfxCCIvDsGKRDWzyHrd0L2uYBWlO7JLc4Y31rWUliP7w%2F11%2FS92oC6wu1E45N5nnmas2LAV7z9mHh0bs1fog3SL6vfDxF3pVonyET7qzDhkMBV41taxiq0vAHY8LLuVKRIuwOxa1lFJwUAWKuKWra86ltpB4oMXDHzYhMVv8L3NUZIaIJp8DhcZYwfOMGCtdoNnaHyd7brOLBqSuXsA%3D%3D--15btls70lCI0g3fV--lQNQP500r4s4a1IGnIdlqw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.2060870170.1753289030; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 16:43:50 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 16:43:50 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 80E2:394F4C:ECBD9C:117BF73:68811146
Home · pothosware/PothosZynq Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 18
Home
guruofquality edited this page Dec 16, 2014
·
12 revisions
The Pothos Zynq toolkit provides zero-copy DMA support blocks for Xilinx Zynq FPGAs. The toolkit provides:
- DMA source and sink blocks for zero-copy buffer integration with a Pothos data flow,
- a userspace driver for interfacing with an AXI DMA engine in the programmable logic,
- loopback examples in Vivado, Zynq boot files, and documentation to recreate the demo.

Checkout the loopback demo for the MicroZed Zynq evaluation board.
The AXI DMA userspace driver is a combined kernel module and C userspace API for DMA buffer access. Also, the C API is in general, useful for individuals that want to interface with DMA on a Zynq FPGA.
- The kernel module is responsible for parsing the device tree for available AXI DMA engines, allocating DMA buffers for the userspace driver, and implementing waiting and interrupt interfacing.
- The userspace driver implements the buffer interface, handles the scatter/gather tables, and reads and writes to the DMA control registers in the FPGA.
- Because Pothos is a userspace library, the userspace driver is implemented to only call into the kernel for initialization, cleanup, and waiting for completion. We otherwise stay out of the kernel during runtime operations.
References:
- Checkout the C userspace API for the Pothos AXI DMA userspace driver.
- Checkout the kernel source for the Pothos AXI DMA userspace driver.
The Zynq DMA source and sink blocks integrate the userspace driver above with the Pothos framework hooks for buffer integration. This includes a custom buffer manager to handle releasing buffers into the DMA engine, and DMA block work functions that wait on completion and acquire buffers from the DMA engine.
References:
- Zynq DMA source block - DMA stream to arbitrary consumer
- Zynq DMA sink block - arbitrary producer to DMA stream
- Zynq DMA buffer manager - hooks for buffer integration
You can’t perform that action at this time.