Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12435 Discussions

PC controlling 8 Cyclone Transciever FPGA boards via USB

Altera_Forum
Honored Contributor II
986 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
136 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
Altera_Forum
Honored Contributor II
136 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.
Altera_Forum
Honored Contributor II
136 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.
Altera_Forum
Honored Contributor II
136 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
Reply