-->
Page 1 of 1

ESP8266 based Xilinx Virtual Cable server

PostPosted: Wed May 20, 2015 12:13 pm
by wzab
Hi,

I often have to work with FPGA based boards, accessing them remotely.
Now when Xilinx has made its Xilinx Virtual Cable specification available:
http://www.xilinx.com/products/intellectual-property/xvc.html
https://github.com/Xilinx/XilinxVirtualCable

and when it is included in the newer versions of Vivado suite:
http://forums.xilinx.com/t5/General-Technical-Discussion/XVC-Protocol-Support-In-Vivado/td-p/387977
http://forums.xilinx.com/xlnx/attachments/xlnx/GenDis/21028/1/ProdDoc_XVC_2014%203.pptx

it seems, that it should be relatively easy to implement a cheap, Internet
enabled programmer/debugger. The ESP8266 $3 module seems to be a good candidate to provide authenticated
access via Wi-Fi to the debugged board.

The question is, if resources provided by that chip are sufficient to implement the XVC protocol, but the idea seems to be worth of further investigation.

Regards,
Wojtek

Re: ESP8266 based Xilinx Virtual Cable server

PostPosted: Wed May 20, 2015 1:44 pm
by wzab
Hi,
After browsing the protocol specification: https://github.com/Xilinx/XilinxVirtualCable/blob/master/README_XVC_v1_0.txt it seems, that the first, non-optimal version of the server can be written even with
nodemcu firmware in lua!
quoting from the protocol description:

The XVC 1.0 communication protocol consists of the following three messages:
* getinfo:
* settck:<period in ns>
* shift:<num bits><tms vector><tdi vector>

In getinfo it is possible to specify the longest acceptable vector length, so it is possible to adapt protocol to low memory environment of nodemcu:

Client Sends:
"getinfo:"
Server Returns:
“xvcServer_v1.0:<xvc_vector_len>\n”
Where:
<xvc_vector_len> is the max width of the vector that can be shifted into the server

Regards,
Wojtek