Forums

ESP8266 based Xilinx Virtual Cable server?

Started by Wojciech M. Zabolotny May 20, 2015
Hi,

I often need to access the debugged FPGA boards 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 ( http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family )
seems to be a good candidate to provide authenticated access via Wi-Fi to the debugged board.

It is an open question whether that chip has sufficient resources to
implement the XVC server, but it seems that this idea is worth of further
investigation.
I'd appreciate any comments or suggestions regarding this idea.

With best regards,
Wojtek
I have done the first estimates of possible solution.
It seems, that the complete programmer could consist 
of the ESP8266 based module with sufficient number of pins
(e.g. ESP-03, ESP-07 or ESP-12) and the logic level shifter (e.g. based on ST2378).
With such components it may be exceptionally cheap Wi-Fi enabled programmer/debugger for Xilinx FPGAs.
Short review of protocol specification:
https://github.com/Xilinx/XilinxVirtualCable/blob/master/README_XVC_v1_0.txt
and implementation:
https://github.com/Xilinx/XilinxVirtualCable/blob/master/XAPP1251/src/xvcServer.c
show, that it should be possible to write simple "proof of the concept" implementation in lua, using the nodemcu firmware for ESP8266 (of course later on it should be ported to C for performance improvement).

Regards,
Wojtek
Dnia 20.05.2015 Wojciech M. Zabolotny <wzab@ise.pw.edu.pl> napisa&#322;/a:
> Hi, > > I often need to access the debugged FPGA boards 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 ( http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family ) > seems to be a good candidate to provide authenticated access via Wi-Fi to the debugged board. > > It is an open question whether that chip has sufficient resources to > implement the XVC server, but it seems that this idea is worth of further > investigation. > I'd appreciate any comments or suggestions regarding this idea. > > With best regards, > Wojtek
Hi, I have written a quick&dirty Lua implementation for ESP8266 with nodemcu firmware. The code is posted to alt.sources usenet group: https://groups.google.com/forum/#!topic/alt.sources/RZbOS12JgMI The first results seem to be promising, but unfortunately, I have found information about serious problems with XVC plugin in ISE14 (which still has to be used for older Xilinx FPGAs). The problem is reported here: http://forums.xilinx.com/t5/Design-Tools-Others/iMPACT-XVC-broken-with-multiple-devices/td-p/496232 And it is not clear if Xilinx is going to fix it :-(. Until the mentioned bug is fixed (by Xilinx), and until the code is rewritten in C, to obtain reasonable performance, the ESP8266 based XVC server is not very useful... With best regards, Wojtek