A place users can post their projects. If you have a small project and would like your own dedicated place to post and have others chat about it then this is your spot.

User avatar
By wzab
#17984 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
User avatar
By wzab
#17991 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