I'm currently working on a project which uses a 200 kgate Spartan 3A attached to a 480 Mbps FTDI 2232 USB interface chip (runs in 245 sync mode), 32 Mbyte Micron DDR2 SDRAM (8 bit wide data) and a number of high-speed bipolar line drivers made by Maxim. Essentially, it works as a frame buffer/display driver and the clock into the 'main' state machine is 100 MHz with the SDRAM processes running at 133 MHz.
I am curious to know whether I could replace the FPGA and FTDI parts with an XMOS device and achieve the same functionality? I've spotted that there is code for an SDRAM interface (perhaps not DDR2 though?) on the XMOS pages. I've not seen any code for a CDC USB device though.
FPGA to XMOS migration feasibility
-
- Member
- Posts: 11
- Joined: Thu Jun 09, 2011 9:04 pm
-
- Respected Member
- Posts: 395
- Joined: Tue May 18, 2010 12:25 am
There are USB libraries:
http://www.xmos.com/applications/software-components
The most used USB PHY on XMOS is the USB3318, for example it is on the XTAG.
http://www.xmos.com/applications/software-components
The most used USB PHY on XMOS is the USB3318, for example it is on the XTAG.
-
- XCore Expert
- Posts: 844
- Joined: Sun Jul 11, 2010 1:31 am
The FT2232H can do at most 30MB/s, it's easy to do that on an xcore as well.pej02 wrote:I'm currently working on a project which uses a 200 kgate Spartan 3A attached to a 480 Mbps FTDI 2232 USB interface chip (runs in 245 sync mode),
32 Mbyte Micron DDR2 SDRAM (8 bit wide data)
You cannot run xcore I/O pins at that speed. You also normally need 1.8V for DDR2,with the SDRAM processes running at 133 MHz.
and an xcore cannot do that.
The good news is that DDR2 is at most as fast as plain SDRAM at the same data bus speed,
usually slower. And 16bit data bus is common, so you can get about the same bandwidth,
and about the same latency (probably slightly better than the DDR2).
It depends what that functionality actually _is_. You didn't tell :-)I am curious to know whether I could replace the FPGA and FTDI parts with an XMOS device and achieve the same functionality?
-
- Member
- Posts: 11
- Joined: Thu Jun 09, 2011 9:04 pm
Thanks. There is an example for a HID device on this link in the included zip file. Do you know if there is any code for a CDC (communication device class) aswell?rp181 wrote:There are USB libraries:
http://www.xmos.com/applications/software-components
The most used USB PHY on XMOS is the USB3318, for example it is on the XTAG.
-
- Member
- Posts: 11
- Joined: Thu Jun 09, 2011 9:04 pm
Is there any XC code available which controls the FT2232H device?segher wrote:The FT2232H can do at most 30MB/s, it's easy to do that on an xcore as well.
So it is just a case of re-using the SDRAM example code and using the Micron part in that example?segher wrote:The good news is that DDR2 is at most as fast as plain SDRAM at the same data bus speed,
usually slower. And 16bit data bus is common, so you can get about the same bandwidth,
and about the same latency (probably slightly better than the DDR2).),
-
- XCore Expert
- Posts: 546
- Joined: Thu Dec 10, 2009 10:41 pm
- Location: St. Leonards-on-Sea, E. Sussex, UK.
There isn't any point in using an FT2232H, high-speed USB can be implemented on an XMOS chip.
-
- Member
- Posts: 11
- Joined: Thu Jun 09, 2011 9:04 pm
How?leon_heller wrote:There isn't any point in using an FT2232H, high-speed USB can be implemented on an XMOS chip.
-
- XCore Expert
- Posts: 546
- Joined: Thu Dec 10, 2009 10:41 pm
- Location: St. Leonards-on-Sea, E. Sussex, UK.
XMOS has code for it. You need a PHY chip, of course.
-
- Member
- Posts: 11
- Joined: Thu Jun 09, 2011 9:04 pm
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 XUD library code would enable someone highly skilled at writing USB stacks to implement a CDC but I'm not one of those. Perhaps this is why XMOS employs an FT2232D on its XC-1A G4-based development board?leon_heller wrote:XMOS has code for it. You need a PHY chip, of course.
-
- XCore Expert
- Posts: 546
- Joined: Thu Dec 10, 2009 10:41 pm
- Location: St. Leonards-on-Sea, E. Sussex, UK.
Isn't the XMOS high-performance audio over USB an example of a USB CDC?
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.
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.
Last edited by leon_heller on Tue Jun 14, 2011 12:36 pm, edited 1 time in total.