Forum Discussion
Altera_Forum
Honored Contributor
16 years agoFlash two parallel flash IC by two usb-blaster controlled by one computer
Hello,
I have met a problem with my system. I hope who knows the root course can give me a favor. There are two usb-blaster connected to my computer. And I want to flash the serial flash and parallel flash in our product by usb-blaster. So, two usb-blaster flash two products. The command i use is as the following batch commands: c:\altera\81\qprogrammer\bin\quartus_pgm --cable=USB-Blaster[USB-0] -m jtag -o p;mfdutility.sof nios2-flash-programmer --cable='USB-Blaster [USB-0]' --epcs --base=0x04000000 --override=nios2-flash-override.txt --debug --erase-all --verify product.sflash nios2-flash-programmer --base=0x0000 --cable='USB-Blaster [USB-0]' product.s09 And flash one product, computer spent 7 minutes. Computer with two usb-blaster, work simultanously spent 14~15 minutes to finish two product's flashing. Are there any one can tell me why two usb-blaster work simultanoulsy, the flashing time is double? And are there any method to realize decrease the flashing time to be 7 minutes for flashing two modules by two usb-blaster? Thank you for your time reading and help. Jenny3 Replies
- Altera_Forum
Honored Contributor
I can't say for sure why the time doubles but here is a theory.
1 - All programming through the USB-Blaster goes through the same jtag_server.exe instance. 2 - Perhaps also due to the fact that the driver for both USB-Blasters is shared. 14 minutes does seem excessively long. Jake - Altera_Forum
Honored Contributor
I'm not familiar with the programming algorithm used by the nios2-flash-programmer respectively the mfdutility loader. But the only explanation for the observed behaviour is, that it's very low level, without any intelligence and data buffering for burst programming in the FPGA side loader. With the PFL IP, you have two versions, a basic and an enhanced one. The latter involves a data fifo and local execution of a complete burst programming cycle.
- Altera_Forum
Honored Contributor
I don't think the question is "why is it taking so long?" but rather "why does it take twice as long to program two parts even though they are using separate USB-Blasters and separate processes?"
One would naturally expect that if it takes 7 minutes to program one flash, it should take 7 minutes to program two flash in parallel. However, it appears that the programming is not truly being done in parallel. Something is blocking. Jake