GithubHelp home page GithubHelp logo

lmb3939 / arduinoxvc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from islandcontroller/arduinoxvc

0.0 0.0 0.0 142 KB

Xilinx Virtual Cable (XVC) Server implementation for use with an Arduino UNO/Leonardo

License: Apache License 2.0

C++ 100.00%

arduinoxvc's Introduction

ArduinoXVC

Build Status

This project implements a bare-bones Xilinx Virtual Cable server on an Arduino Uno / Leonardo, based on the specification posted in Xilinx/XilinxVirtualCable.

Hardware

Make sure that the device's JTAG output-high voltage does not exceed the Arduino's maximum input voltage!

Connect your Arduino Uno to the JTAG port of the target device:

Arduino Pin JTAG Pin
2 (OD output) TCK
3 (OD output) TMS
4 (OD output) TDI
5 (input) TDO
GND GND

The Arduino's pins are configured as open drain outputs to automatically adjust to the target's JTAG I/O voltage. External pull-up resistors aren't required, as Xilinx PLDs provide them internally.

Software

So far, this project has been tested successfully using ISE 14.7 and iMPACT.

An additional program is required to translate the serial port to a TCP socket, e.g. pyserial: tcp_serial_redirect.

  1. Start the tcp-to-serial bridge application to serve the Arduino's Serial VCP to localhost:2542. Use baudrate 115200 and 8N1 mode.
python tcp_serial_redirect -P 2542 COMx 115200
  1. Open iMPACT and start the Boundary Scan flow
  2. Open the Cable Setup dialog (either via right-click or the Output menu)
  3. Mark the checkbox under Cable Plug-In
  4. Enter the following into the combobox below:
xilinx_xvc host=127.0.0.1:2542 disableversioncheck=false

Set disableversioncheck to false for iMPACT to parse the getinfo version string and maximum packet size.

  1. The PLD should now show up and be identified correctly when you run Initialize Chain.

Programming / Readout speed

JTAG transfers are limited to a clock frequency of ~100 kHz, leading to excessive programming times for large FPGA bitfiles.

Device File size Programming time
XC2C64A 27 kiB 10 Seconds
XC6SLX9 333 kiB 5 Minutes

arduinoxvc's People

Contributors

islandcontroller avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.