Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12599 Discussions

PC controlling 8 Cyclone Transciever FPGA boards via USB

Altera_Forum
Honored Contributor II
1,273 Views

I need to do one of the following. 

 

1. Have multiple Eclipse sessions controlling multiple Cyclone Transciever Starter Kits / NIOSII cards. 

 

2. Have multiple NIOS command line sessions controlling up to 8 Cyclone Tranciever Starter Kits / NIOSII cards for .elf load and nios_terminal sessions 

 

 

I am not sure how to address each USB connection explicitly or it it is possible on a single PC ? 

 

Can anyone point to a solution here. 

 

My backup plan is to use a single Eclipse session for debug, commit the .elf -> FLASH on each Cyclone board and call the IOCTL to allow stdio to timeout with no 

terminal so as not to be blocking program execution. 

 

Thanks In Advance.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
423 Views

Yes, its possible to get this working. 

 

Assuming you are communicating with the boards via multiple USB-Blasters, then the trick is to make sure each USB-Blaster has a unique serial number. That way your OS will detect the same USB-Blaster each time. 

 

Under Linux you could map each USB-Blaster to a uniquely named device using a udev rule. Under Windows ... I think the same device shows up with the same name each time ... so long as you plug it into the same USB port + Hub port. 

 

You can use FTDI's FT_PROG programmer to program a unique serial number into USB-Blaster devices. USB-Blaster II devices are based on a Cypress EZ-USB FX2 device, and I have not tried re-programming the serial number on one of them. 

 

What kit do you have exactly? (Post a link to the kit on the Altera web site). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

The command line programs (nios2-download, nios2-terminal) accept a "--cable" parameter you can use to indicate what USB Blaster to control. And similar functionality is available through the Eclipse dialog box I believe. 

 

After you've locked down how your PC will enumerate the USB Blasters per Dave's suggestions above, writing a shell script to boot and open the terminal for each board ought to be straight forward. I've personally only ever had (3) boards at once, but I don't see where (8) will be a problem.
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

Dave and Ted,  

 

These are great answers. 

 

Here is the URL to the starter kit: 

http://www.altera.com/products/devkits/altera/kit-cyclone-iv-starter.html 

 

We use that kit since our emulator is constrained to PCIe Gen1 and the testing I am running with requires some source of Inbound and Outbound traffic + NIOSII execution unit . 

So I have two configurations one a system with multiple slots (RC ) and the other is a PLX switch that expands to multiple slots. In each configuration, I will have multiple PCIe cards ( Cyclone, Arria and Stratix ) and I would like to control all the card via a USB hub and PC .... the minimum would be the .elf load for each USB_blaster behind the USB hub. 

 

I will investigate using your suggestions, 

 

Thanks, Bob.
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

Hi Bob, 

 

--- Quote Start ---  

 

Here is the URL to the starter kit: 

http://www.altera.com/products/devkits/altera/kit-cyclone-iv-starter.html 

 

--- Quote End ---  

 

Ok, I have a couple of these kits. They use a USB-Blaster circuit. 

 

I just plugged one of them in and took a look at the device using FT_PROG. It looks like I reprogrammed the serial number as "C4GXSK01" (so the other board I have will be "C4GXSK02" or perhaps 00). I'd recommend just programming yours with similar serial numbers. 

 

Cheers, 

Dave
0 Kudos
Reply