Crates.io | tapcp |
lib.rs | tapcp |
version | 0.2.1 |
source | src |
created_at | 2023-03-17 19:10:08.974996 |
updated_at | 2024-01-21 20:57:32.696648 |
description | An implementation of the TAPCP protocol for CASPER FPGA devices |
homepage | https://github.com/kiranshila/casperfpga_rs |
repository | https://github.com/kiranshila/casperfpga_rs |
max_upload_size | |
id | 812939 |
size | 32,000 |
A Rust library for interfacing with CASPER Collaboration FPGA devices. Unlike the python version, this library is intended for mission-critical deployments, where breaking changes, memory bugs, and slow/interpreted languages are unacceptable. Additionally, this library will be rigorously tested, documented, and utilize fully specified interfaces.
There are quite a few missing yellow blocks in this library, mainly due to the fact that I don't have hardware to test them on. PRs (or hardware donations) welcome!
Reconcile katcp requirements with "as implemented" details from CASPER devices to add katcp as a transport mechanism.
Currently, .fpg
files are the source of automatically generating typesafe interfaces for a given design. If CASPER adopts device tree, we'd want to write a parser that performs the same translation.
We started working on a python wrapper utilizing py03 to act as a multipurpose rewrite of the python version. This won't be as typesafe (of course), but should act as a more stable and tested stand-in for the previous python version.
Please run cargo +nightly fmt --all
before commiting as well as check clippy with cargo clippy --all
.
casperfpga_rs is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.