Community
cancel
Showing results for 
Search instead for 
Did you mean: 
aakkü
Novice
790 Views

Coniguring FPGA devices over USB

Hello,

I am in the process of selecting FPGA device for the product I am desingning. Product is a data acquisition system that collects data from ADCs and sends it to an host computer via USB interface. FPGA will be used to interface with ADCs and processing ADC data. Another microcontroller(FTDI microncontroller) will be responsible with sending data to computer via USB.

My problem is I want to configure FPGA over USB with the help of the microcontroller on the board. I can load the initial program to FPGA with any interface when the product is in production. However, I'd like to know if it's possible to reconfigure the FPGA over USB once the product is delivered to the customers (firmware update).

Which FPGAs are suitable for this type of application?

Thanks in advance.

0 Kudos
8 Replies
JOHI
New Contributor II
97 Views

​Hello,

The majority of the intel FPGA's support NIOS2. With this technology you can implement a micro-processor & ram in the FPGA fabric.

The Nios2 configuration & fpga configuration can be stored in an eprom.

The nice thing about this configuration is that you can use the processor to reconfigure the eprom while it is operating hence doing a firmware upgrade.

USB can be realised with a cypress processor.

 

Should you be interested in a board that has all the hardware you need to do a feasability test for your job (ADC + EPROM + FPGA + USB controller) look at the Terasic site (DE10-standard / DE2-115)

 

I know that this answer does not include the use of the FTDI microcoltroller, but it could be a way to get you started.

 

See also https://www.intel.com/content/www/us/en/products/programmable/configuration-device.html

 

Best Regards,

Johi.

aakkü
Novice
97 Views

Thanks for your answer Johi.

In my application I need hi-speed USB and DAC and FT93xx microcontrollers have these, and therefore I am going to have this microcontroller in the board. It would be really nice to be able to update FPGA configuration through USB using the microcontroller on board.

I want to know how difficult it is to program the FPGA over microcontroller. Can an FPGA be simply reconfigured via a serial interface such as I2C or SPI?

For some reason I can't use NIOS II processor I get errors no one can seem to solve. Link to the error: https://forums.intel.com/s/question/0D50P00004DAgF9SAL/another-sldhub-error

 

Thanks.

 

YuanLi_S_Intel
Employee
97 Views

Hi Alperen, What John has suggested is absolutely correct. Thank You John! Regards, YL
YuanLi_S_Intel
Employee
97 Views

Hi Alperen, I am sorry to say that FPGA can only be configured via JTAG. If you want to configure FPGA without using it, you will need to use SoC on the FPGA. Please refer to link below for more information: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-v/cv_5400a.pdf Regards, YL
aakkü
Novice
97 Views

Hello SooYL,

 

Thanks for your response.

I am quite new to FPGA design, forgive me if I ask something stupid. Take it easy on me.

 

I am going to be using cyclone 10 LP series FPGA. I've been reading the handbook to learn more about configuration (Chapter 6). It's my understanding that there are two main ways to program/configure a cyclone 10 LP FPGA I can either use configuration pins or JTAG pins. In figure.88 it shows a diagram of a microcontroller with a flash memory programming an FPGA, I want to implement something like this. Is it too difficult? Another example is figure 97, it is very similar to the last example. It's just a microcontroller controlling a flash memory and configuring the FPGA.

 

My plan is kind of like this: first, I generate the bitstream file required for FPGA configuration, send it via USB to microcontroller, have microcontroller put the bit stream to flash memory and configure the FPGA using one of two ways that I explained above.

 

Is that a reasonable approach?

 

Thanks.

YuanLi_S_Intel
Employee
97 Views

Hi Alperen, No problem. We are here to make you become FPGA pro user. You may ask any question. Yes, your approach is appropriate. Regards, YL
aakkü
Novice
97 Views

Hi,

Thank you for your response.

I have one more question. When using one of these methods, do I have to use special FPGA PROM such as ECPQ proms, or should I use regular EEPROM?

Thanks!

YuanLi_S_Intel
Employee
97 Views

Hi Alperen, You may use EPCQ or any third party memory. The benefit of using EPCQ or any Intel PSG configuration devices is because those configuration devices are already tested and proven to work with FPGA. Regards, YL
Reply