xvc-server 0.1.0

Library for implementing Xilinx Virtual Cable (XVC) servers that handle JTAG communication with FPGA devices over network connections
Documentation
  • Coverage
  • 36.36%
    4 out of 11 items documented0 out of 7 items with examples
  • Size
  • Source code size: 12.93 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.81 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Schottkyc137/xvc-rs
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Schottkyc137

XVC Server

A Rust library for implementing Xilinx Virtual Cable (XVC) servers that handle JTAG communication with FPGA devices over network connections.

Features

  • Protocol Implementation: Full XVC 1.0 support for remote JTAG operations
  • Pluggable Backends: Trait-based architecture for different hardware drivers

Quick Start

Minimal Example

use xvc_server::{XvcServer, server::{Server, Config}};
use std::net::{IpAddr, Ipv4Addr, SocketAddr};

// Implement the trait for your hardware
struct MyDriver;

impl XvcServer for MyDriver {
    fn set_tck(&self, period_ns: u32) -> u32 {
        period_ns
    }

    fn shift(&self, _num_bits: u32, _tms: Box<[u8]>, tdi: Box<[u8]>) -> Box<[u8]> {
        tdi
    }
}

// Create and run the server
let driver = MyDriver;
let config = Config::default();
let server = Server::new(driver, config);

let addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::LOCALHOST), 2542);
server.listen(addr)?;

Usage

See the crate documentation for detailed documentation.

See Also