

Power delivery
This is
- Size
- 206.6 × 142 mm
- Copper layers
- 4
- Thickness
- 1.73 mm
- Parts
- 477
- Nets
- 256
- Pads
- 1,468
- Tracks, vias
- 2,240, 174
- Pours
- 68
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 4 Jan 2026
- Updated
- 6 Jan 2026
Overview
Power delivery is an open-source printed circuit board by ddacot, from the ddacot/fpga-cluster-framework repository on GitHub. It is a 4-layer board of 206.6 × 142 mm with 477 parts on 256 nets, routed with 2,240 tracks and 174 vias.
It is built around the B2B-XH-A, CPDQC5V0U-HF and XT90PW-M.G.Y, with the 3SMBJ5925B-TP, SC32S-7PF20PPM and TS02-66-50-BK-100-LCR-D among its other parts. Its parts include 172 capacitors, 97 resistors, 66 ICs, 64 diodes and 38 connectors. It belongs with the power boards and the STM32 boards of this library.
Main components
7B2B-XH-A
插件,P=2.5mm-25℃~+85℃ 1 1x2P 2 2.5mm 250V 2P 3A 5.75mm 7.4mm 7mm Brass K Pin PA66 Through Hole Tin UL94V-0 White XH 插件,P=2.5mm Wire To Board Connector ROHSJSTWire To Board ConnectorCPDQC5V0U-HF
SOD-923F(0402)-40℃~+125℃ 12V 130pF 15A@8/20us 180W@8/20us 2uA 5V 9V ESD IEC 61000-4-2 Unidirectional SOD-923F(0402) ESD and Surge Protection (TVS/ESD) ROHSComchipESD And Surge Protection (TVS/ESD)XT90PW-M.G.Y
-0.4mΩ 30A 7.4mm 8/10/12AWG DC 500V Gold Plated PA Plug、- Yellow - Power connector / plug connector ROHSChangzhou Amass ElecPlug3SMBJ5925B-TP
DO-214AA(SMB)Zener DiodesMicro Commercial ComponentsSC32S-7PF20PPM
SMD3215-2P-40℃~+85℃ 32.768kHz 70kΩ 7pF Crystal Oscillator ±20ppm SMD3215-2P Crystals ROHSSeikoCrystalsTS02-66-50-BK-100-LCR-D
插件-30℃~+80℃ 100,000 cycles 12V 1N 50mA PC Pin Round Button SPST Through Hole 插件 Tactile Switches ROHSCUITactile SwitchesUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)
README
README.mdFPGA Cluster Framework
A scalable, FPGA-based cluster framework for parallel data acquisition and repeatable evaluation of hardware primitives (e.g., TRNGs, PUFs, and other custom bitstream-generating DUTs). The framework combines:
- Host-side automation (programming, orchestration, data collection, metadata logging)
- A synthesizable FPGA “shell” (control plane + high-throughput capture path)
- A pluggable DUT interface (drop in your TRNG/PUF/primitive and stream data into DDR-backed capture)
This repository is organized to include technical documentation, scripts, RTL, tooling, and PCB designs for the cluster setup.
If you are using this repository as part of a research portfolio, this README is written to be self-contained and reproducible for third parties who want to understand or rebuild the system.
Contents
- What this framework does
- Repository structure
- System overview
- Hardware prerequisites
- Software prerequisites
- Quick start
- Build flow
- Running a capture
- Integrating your DUT (TRNG/PUF/custom)
- Data format and metadata
- Reproducibility checklist
- Troubleshooting
- License and citation
- Contact
What this framework does
This framework is designed to make it practical to collect large, statistically meaningful datasets from hardware primitives across many FPGA instances, enabling you to:
- Run identical designs on multiple boards and compare results across devices
- Sweep configuration parameters and capture results consistently
- Log build + runtime metadata to support repeatable experiments
- Separate control and data responsibilities cleanly:
- Control plane: programming, register writes, run control, status
- Data plane: streaming capture into DDR via DMA (or equivalent)
Typical use cases:
- TRNG / entropy-source characterization and NIST compliance (throughput, bias, stability, robustness)
- PUF response collection across many devices
- Side-channel/physical-variation experiments requiring consistent capture workflows
- Automated regression testing of DUT changes
Repository structure
- documentation/ # PDF technical documentation and design notes
- fpga_cluster_fw/ # Folder containing the firwmare
- fpga_cluster_scripts/ # Host automation (programming, orchestration, data pulls, metadata)
- fpga_cluster_hw/ # FPGA design (shell + DUT interface + top-level integration)
- tools/ # Build helpers (TCL, Makefiles, environment setup, utilities)
- hardware/ # PCB / hardware design files for the Power Delivery and Communication interface
System overview
Conceptual architecture
Data path (capture pipeline):
- [DUT / TRNG / PUF] -> (stream) -> [FIFO/Adapter] -> [DMA/Writer] -> [DDR Capture Buffer] -> Host readout
Control path (orchestration):
- Host scripts program the FPGA, load firmware (if used), configure registers, start/stop capture, and retrieve data.
Design principles
- Pluggable DUT: DUT logic is isolated so you can swap primitives without rewriting the whole platform.
- DDR-backed capture: Enables high-throughput collection without requiring real-time USB streaming.
- Cluster automation: Host scripts should handle multi-board runs, retries, and consistent metadata.
Hardware prerequisites
This framework typically targets FPGA boards with:
- A Xilinx FPGA (e.g., Artix-7 class or similar)
- External DRAM (e.g., DDR3/DDR4) accessible from fabric
- A programming interface (typically JTAG over USB)
Update with your tested hardware:
- Board(s): Xilinx Artix 7
- Memory: DDR3
- Programming interface: JTAG
- Clocking: 100MHz (Adjustable)
Cluster setup notes (practical considerations):
- Use a powered USB hub suitable for the number of boards
- Ensure adequate power delivery and cooling
- Label boards (serial numbers / device IDs) to support reproducible tracking
Software prerequisites
Typical host environment requirements:
- Vivado (synthesis/implementation/bitstream)
- Vitis / XSDK (only if building embedded firmware; optional depending on design)
- Xilinx cable drivers (for JTAG)
- XSDB / xsct (common for scripted programming and debug)
- Python 3 (common for orchestration scripts)
- Common tools:
make,bash,tcl
Tested tool versions (fill in):
- Vivado: 2023.4
- Vitis/SDK: [INSERT VERSION]
- OS: Linux/Windows
- Python: 3.11
Python requirements:
scripts/requirements.txt
Quick start
1) Clone
git clone https://github.com/ddacot/fpga-cluster-framework.git
cd fpga-cluster-frameworkParts
477| Qty | Value | Footprint | References |
|---|---|---|---|
| 131 | 4.7uF | power_delivery_footprints:C_0603_1608Metric | C10, C11, C100, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110, C111, C112, C117 +115 |
| 65 | 10k | power_delivery_footprints:R_0603_1608Metric | R1, R2, R3, R14, R15, R16, R17, R18, R19, R20, R21, R26, R27, R28, R29, R30 +49 |
| 33 | 0.1uF | power_delivery_footprints:C_0603_1608Metric | C13, C14, C15, C16, C113, C114, C115, C116, C133, C134, C135, C136, C153, C154, C155, C156 +17 |
| 33 | C1T 2.5 | power_delivery_footprints:0685T2500 | U1, U10, U15, U16, U17, U18, U23, U24, U25, U26, U31, U32, U33, U34, U39, U40 +17 |
| 32 | 100 | power_delivery_footprints:R_0603_1608Metric | R10, R11, R12, R13, R22, R23, R24, R25, R34, R35, R36, R37, R46, R47, R48, R49 +16 |
| 32 | B2B-XH-A | power_delivery_footprints:B2B-XH-A | J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, J24, J25 +16 |
| 32 | CPDQC5V0U-HF | power_delivery_footprints:CPDQC5V0U-HF | D1, D2, D3, D10, D11, D12, D17, D18, D19, D20, D25, D26, D27, D28, D33, D34 +16 |
| 32 | LED | power_delivery_footprints:LED_0603_1608Metric | D13, D14, D15, D16, D21, D22, D23, D24, D29, D30, D31, D32, D37, D38, D39, D40 +16 |
| 32 | SW_SP3T | power_delivery_footprints:DIP4_SP3T-TOP_4P3X8P6_CNK | SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24 +16 |
| 32 | TPS22965NDSGR | power_delivery_footprints:TPS22965NDSGR | U3, U11, U12, U13, U14, U19, U20, U21, U22, U27, U28, U29, U30, U35, U36, U37 +16 |
| 4 | XT90PW-M | power_delivery_footprints:AMASS_XT90PW-M | J35, J36, J37, J38 |
| 2 | 15pF | power_delivery_footprints:C_0603_1608Metric | C4, C6 |
| 2 | 32pF | power_delivery_footprints:C_0603_1608Metric | C1, C2 |
| 2 | 3SMBJ5925B-TP | power_delivery_footprints:DIODE_DO-214AA_4P38X3P62_MCC | CR1, CR2 |
| 1 | 100uF | power_delivery_footprints:50ZLH100MEFC8X11.5 | C169 |
| 1 | 10uF | power_delivery_footprints:UVC2G100MPD | C171 |
| 1 | 2.2u | power_delivery_footprints:400LLE2R2MEFC8X11.5 | C172 |
| 1 | 220uF | power_delivery_footprints:ECA1HM221B | C170 |
| 1 | 3-140-172 | power_delivery_footprints:FUSE_3-140-172_SCH | F1 |
| 1 | Conn_02x03_Top_Bottom | power_delivery_footprints:PinSocket_2x03_P2.54mm_Vertical | J2 |
| 1 | ECS-250-18-5PX-F-TR | power_delivery_footprints:CRYSTAL_ECS-250-18-5PX-F-TR_ECS | XTAL1 |
| 1 | LP38692MP-3.3_NOPB | power_delivery_footprints:LP38692MP-3.3_NOPB | VR1 |
| 1 | SC32S-7PF20PPM | power_delivery_footprints:XTAL_SC32S-7PF20PPM_EPS | XTAL2 |
| 1 | STM32F401RCT6TR | power_delivery_footprints:STM32F401RCT6TR | U2 |
| 1 | TS02-66-50-BK-100-LCR-D | power_delivery_footprints:TS02-66-50-BK-100-LCR-D | SW1 |
| 1 | USBLC6-2SC6 | power_delivery_footprints:USBLC6-2SC6 | CR3 |
| 1 | USB_B_Micro | power_delivery_footprints:USB_Micro-B_Amphenol_10103594-0001LF_Horizontal | J1 |
More from ddacot/fpga-cluster-framework
1- 2 layers233.1 × 122.9 mm

Similar boards
- 2 layers54 × 34.3 mm

Pcb v2
hvtran21/SWAN
UMass Amherst ECE Senior Design Project - SWAN - A more secure and user centered solution to wireless access control.
15 parts - 2 layers121 × 156.5 mm

UGV
ugv-dtu/electronics_2026
This repository contains 2 firmware projects, each for a different operational mode of the Rover. Only one folder is flashed to Teensy at a time — either autonomous or manual.
99 parts - 4 layers45.7 × 76.2 mm

Node v5 0 0
VTC-WISDOM/node_hardware
Schematic/PCB designs for WiSDOM nodes, also includes a few other related hardware projects
107 parts2CERN-OHL-W-2.0 - 4 layers40 × 75 mm

- 4 layers47.8 × 35.1 mm

- 4 layers90.6 × 58.1 mm

EcoApi pcb
EcoApi/EcoApi_BeeHiveMonitoring
describ options with 0R resistors. etc ...
179 parts4GPL-3.0 - 2 layers58 × 63 mm

Camping LightRelay
Rustaphor/LightRelay4Camping
Analog light sensor to night power up LED garland. For Camping use.
91 parts2GPL-3.0 - 4 layers70.9 × 75 mm

Flagshep Audio Player V1
HYLDAIC/Flagshep-V1_Audio-Player
A high fidelity semi-portable audio player student project with provided PCB files, 3D files and Code
77 parts1CERN-OHL-P-2.0
Questions
How big is the Power delivery PCB?
It measures 206.6 × 142 mm and has 4 copper layers, 1.73 mm thick.
What parts does the Power delivery use?
477 parts, built around the B2B-XH-A, CPDQC5V0U-HF, XT90PW-M.G.Y and 3SMBJ5925B-TP. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Power delivery KiCad files?
From the ddacot/fpga-cluster-framework repository on GitHub, at the commit this page was made from: the board is hardware/power_delivery/power_delivery.kicad_pcb and its schematic hardware/jtag_pcb/connectors0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Power delivery design in my own project?
Its repository states no licence, so its author keeps all rights: ask ddacot before reusing the design.