Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 Discussions

PCI express reconfiguration feasability.

Altera_Forum
Honored Contributor II
1,143 Views

We are using Cyclone IV GX, with PCI express, with EPCS128. I want to be able to do factory reconfigurations by distributing a file to customers. 

 

So pleased could you inform me whether the following is feasable?  

 

What I intend to do is program updated .pof to EPCS using USB Blaster. 

 

Pof contains images of factory boot and application hardware. Start address and size of application image are known. 

 

Application image will be in lower 32 sectors to allow use of ALTREMOTE_UPDATE to boot to application from factory boot image. 

 

In order to do updates in field I intend to use IO to read and write EPCS with ALTASMI_PARALLEL using PCI express. This will copy the application section of the EPCS into a file, over the PCI express, to my baseboard with linux. I will start to read at the start address and copy the known amount of data to the file as well as including start address and length information. 

 

This file will then be used to reconfigure units in the field. 

 

The file can be copied over PCI express, by an application that requires updating, to write the copied application image to a known fixed area in the top 32 sectors of the EPCS, once again using ALTASMI_PARALLEL. (Therefore all revisions of application hardware will require this ability). 

 

I will then trigger a reconfig using ALTREMOTE_UPDATE. I will reboot the baseboard, which will go into a standby mode. 

 

On factory boot, the hardware/software (NIOS or state machine based) will detect the reconfig from the application and copy the new application from the upper 32 sectors of the EPCS128 flash to address of the existing application in EPCS128 flash. 

 

The factory boot will then trigger reconfiguration using ALTREMOTE_UPDATE and assert a WAKE signal to bring the baseboard out of standby, that should boot the board an re-enumerate the PCI express bus. 

 

Is this a feasible thing to do? 

 

I do not have room for a PCB with two FPGAs. 

 

 

Thank you.
0 Kudos
0 Replies
Reply