FPGA to XMOS migration feasibility

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
User avatar
Woody
XCore Addict
Posts: 165
Joined: Wed Feb 10, 2010 2:32 pm

Post by Woody »

If you have hardware (Verilog) engineers who have written the FPGA and need to write in XC to migrate the design, they may want to read the 'XC for Verilog Designers' whitepaper on the documentation page.
http://www.xmos.com/support/documentation


pej02
Member
Posts: 11
Joined: Thu Jun 09, 2011 9:04 pm

Post by pej02 »

leon_heller wrote:Isn't the XMOS high-performance audio over USB an example of a USB CDC?
If you're referring to the USB Audio 2.0 Reference design then no, that implements the USB Audio Device Class which is not the same as a USB CDC. Whilst a USB Audio Device is jolly useful, I'm sure a great number of the folks on here would prefer a CDC implementation from the highly accomplished XC programmers at XMOS (hint).
leon_heller wrote:The original XTAG used an FTDI chip, also. The current XTAG-2 uses a XS1-L1 for the USB interface; if the XC-1A was redesigned it would probably use one, also.
When you plug the XTAG-2 into your PC, how and where does it appear in the hardware device list (if you're a Windows user)? I suspect it is either a HID or a DFU device. If it was a CDC then I would expect XMOS to have shared the code for it as they are good eggs.
pej02
Member
Posts: 11
Joined: Thu Jun 09, 2011 9:04 pm

Post by pej02 »

Woody wrote:If you have hardware (Verilog) engineers who have written the FPGA and need to write in XC to migrate the design, they may want to read the 'XC for Verilog Designers' whitepaper on the documentation page.
Many thanks for that. Unfortunately, the FPGA engineer is a quiche-eating VHDL programmer so giving him a document with Verilog in it would ruin his day.
kuba
Junior Member
Posts: 6
Joined: Sat Aug 27, 2011 5:51 pm

Post by kuba »

pej02 wrote:
leon_heller wrote:XMOS has code for it. You need a PHY chip, of course.
No problem with the PHY. However, as far as I can make out from the code and documentation in here: https://www.xmos.com/applications/usb/u ... le?ver=all there is no code which implements a CDC.
The FTDI chip that you're replacing is not a CDC device. It implements a custom protocol, and needs a custom driver. The protocol is very simple and it's not hard to mimic an FTDI chip -- you can look at the linux FTDI driver for inspiration. I have a prototype run device where I simply glue an FTDI chip on the board as a physical "proof of license" -- in case FTDI wanted to check licensing compliance of their driver. The chip is not wired to anything of course. The FTDI driver is entirely acceptable IMHO, the benefit of it is that you get it for pretty much all the platforms out there: Windows 98 and up, OS X, Linux, QNX, ... CDC doesn't enjoy such a wide support. I have "spoken" to FTDI chips using MAX3421E, even made a full serial-USB-serial bridge using it. If one uses USB3300 as the ULPI USB PHY, it's up to the software whether you do a host or peripheral, so you can have more flexibility that way. Of course software is the hard part :)