View Single Post
  #6 (permalink)  
Old 01-21-2006, 03:10 PM
Antti Lukats
Posts: n/a
Default Re: Creating Multiple Configuration PROM File

"Ray Andraka" <[email protected]> schrieb im Newsbeitrag
news:[email protected]
> Antti Lukats wrote:
>> "Rob" <[email protected]> schrieb im Newsbeitrag
>> news:[email protected]
>>>All I want to do is change the select bits on the PROM, initiate a
>>>configuration cycle, and have the FPGA loaded with a new/different
>>>configuration. Is this possible? If so, how does one create an .mcs
>>>file with two configurations? Or is it another file extention?

>> well that is where you need external microcontroller or PLD to select
>> between active config
>> you can also select by jumpers but you can not select from FPGA which
>> revision is loaded from Platform Flash
>> the revision select pins must be controlled by some additional circuitry
>> !!
>> if you wire them to the FPGA then they are reset to defaults and you can
>> not select which config is loaded
>> so if you are happy with jumpers selecting the config then its all ok,
>> just add 2 revisions to the PROM when writing it and connect a swithc
>> or jumpers to the rev select pins of the PROM
>> Antti

> You'll need to use a parallel ROM rather than the serial one so that you
> can select the configuration. The configuration select needs a little bit
> of logic outside of the FPGA to hold the configuration select bits while
> the FPGA is being reconfigured...unless you use partial reconfiguration,
> in which case you just have to be careful that the part the controls the
> reconfiguration stays alive. If you go for the partial reconfiguration,
> you'll still need something outside to bootstrap the initial design that
> has the configuration controller in it.
> I've done whole FPGA configuration with a configuration select on several
> designs. One of them is documented (although I don't recall there being
> much detail on the reconfiguration scheme) in my paper on an FPGA based
> radar environment simulator from about 8 years ago. In that case, a
> parallel ROM held 16 (I think) FPGA configurations. A CPLD, which IIRC
> was a Lattice 1032, held the selection registers and the configuration
> state machine. Configuration in this case was initiated with a command
> from a VME interface. It managed the configuration of four XC4025E's. The
> hooks were in the design to allow any of the FPGAs to initiate a
> reconfiguration, but as I recall we didn't use that capability.
> Another one that comes to mind was a universal card reader design on a
> XC3020 (now I am really dating myself) that would self reconfigure after
> determining what kind of card was inserted. That one also used a CPLD to
> manage reconfiguration from a parallel PROM, but in that case it would
> start up with a default configuration, then when the FPGA application was
> ready for a reconfiguration, it would output a configuration code and go
> signal to the CPLD, and the CPLD would then handle the FPGA
> reconfiguration using a simple state machine.
> Those were in the days before Xilinx could do partial reconfiguration, and
> it worked just fine. So, yes it can be done, and it doesn't take a very
> complicated external circuit to do it. In fact, I think the PLD and
> parallel ROM needed actually cost less than the serial ROM for a stock
> configuration circuit.

Ray the OP asked for solution using XCF16!

XCF16 can hold 2 designs, but in order to select them the select
must be either fixed jumpers or then additional PLD that controls
the revision select inputs of the XCF16. Xilinx has a coolrunner
design that does that, but in my opinion too, its really nonsense
to add a PLD to XCFxxP as the same PLD could also control
a SPI flash and provide way more flexibility then the use of
XCFxxPP + PLD and would be cheaper as well.


Reply With Quote