Reply by Austin Lesea December 1, 20042004-12-01
Rick,

I will forward this thread to my buddy in Spartan land.

I'm on your side here.

But the XC4VLX15 is not going to be a $50 part, and at 13,824 logic 
cells, 864 Kb of BRAM, 32 DSP48's, and four DCM's, that might be just 
the right choice for a SDR design.  I think that a Spartan part that 
could do the same thing would be much larger, and probably more costly 
just due to the lack of the hard IP?

But, you are right:  whatever solves the problem is going to win, and if 
Spartan could have had the socket if they had made some other decisions, 
maybe that would be a good thing.

I'll let you know what kind of response I get.

Austin

rickman wrote:
> Austin Lesea wrote: > >>Rick, >> >>Frankly, the Spartan team is not all that concerned about the (partial) >>reconfiguration feature. I understand your situation, and I can >>sympathize, but the "low cost" FPGA is diverging from the "high feature" >>FPGA. > > > I guess I don't understand how this is an issue. The current parts > support partial reconfiguration in hardware. Even if it is not > supported in hardware, a bitstream can be "modular" which would suffice > to meet my needs. But it has to be supported in software. That is the > issue for the Spartan 3 parts, not the hardware. > > > >>I would ask your contact at the factory about their plans in their new >>family. They may decide to support it, or not. > > > I did, but just like a year ago, I got an answer that says it is in the > plan, but no dates are given. > > Frankly I don't see why this is an issue for the Virtex but not the > Spartan devices. Using the modular reconfiguration capability of an > FPGA can provide temendous compression of bitstream data if the design > is truely modular. One of the big marketing/selling points of FPGAs is > that the same hardware can be used to do different tasks at different > times by reconfiguring them. The idea of modular configuration is just > an extension of that to allow greater saving in hardware costs. > > If Sirius wanted to use an FPGA as an SDR with modular reconfiguration, > do you think they would want to pay $50 for a Virtex or <$20 for a > Spartan part? >
Reply by rickman December 1, 20042004-12-01
Austin Lesea wrote:
> > Rick, > > Frankly, the Spartan team is not all that concerned about the (partial) > reconfiguration feature. I understand your situation, and I can > sympathize, but the "low cost" FPGA is diverging from the "high feature" > FPGA.
I guess I don't understand how this is an issue. The current parts support partial reconfiguration in hardware. Even if it is not supported in hardware, a bitstream can be "modular" which would suffice to meet my needs. But it has to be supported in software. That is the issue for the Spartan 3 parts, not the hardware.
> I would ask your contact at the factory about their plans in their new > family. They may decide to support it, or not.
I did, but just like a year ago, I got an answer that says it is in the plan, but no dates are given. Frankly I don't see why this is an issue for the Virtex but not the Spartan devices. Using the modular reconfiguration capability of an FPGA can provide temendous compression of bitstream data if the design is truely modular. One of the big marketing/selling points of FPGAs is that the same hardware can be used to do different tasks at different times by reconfiguring them. The idea of modular configuration is just an extension of that to allow greater saving in hardware costs. If Sirius wanted to use an FPGA as an SDR with modular reconfiguration, do you think they would want to pay $50 for a Virtex or <$20 for a Spartan part? -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by Austin Lesea December 1, 20042004-12-01
Rick,

Frankly, the Spartan team is not all that concerned about the (partial) 
reconfiguration feature.  I understand your situation, and I can 
sympathize, but the "low cost" FPGA is diverging from the "high feature" 
FPGA.

We see more and more decisions being made that begin to seriously 
differentiate the two product lines.

Spartan 3 may be the last part that looks in large part very similar to 
a 'Virtex' part.

Is this good?  Well, all I can say is that they seem to be selling a 
hell of a lot of parts (some joke that the 'Spartan products group' is 
now the second largest FPGA vendor - by number of parts shipped - in the 
world!).

I would ask your contact at the factory about their plans in their new 
family.  They may decide to support it, or not.

Austin



rickman wrote:
> Austin Lesea wrote: > >>Tom, >> >>There is a SDR project that uses partial reconfiguration to load the >>differing modulation/demodulation formats. They use a form of file >>system to represent the FPGA (I have seen it, it is realy neat -- you >>can look at the FPGA using a browser, and it looks like a file system). >> >>Connections to and from the reloadable modules are simply hard loc'd >>interconnect paths (each modem uses the same inputs and outputs). > > > Do you have any idea of where the Spartan 3 fits into the plans for > partial reconfiguration? Is it seriously being developed or is it still > very back burner? >
Reply by rickman December 1, 20042004-12-01
Austin Lesea wrote:
> > Tom, > > There is a SDR project that uses partial reconfiguration to load the > differing modulation/demodulation formats. They use a form of file > system to represent the FPGA (I have seen it, it is realy neat -- you > can look at the FPGA using a browser, and it looks like a file system). > > Connections to and from the reloadable modules are simply hard loc'd > interconnect paths (each modem uses the same inputs and outputs).
Do you have any idea of where the Spartan 3 fits into the plans for partial reconfiguration? Is it seriously being developed or is it still very back burner? -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by Austin Lesea December 1, 20042004-12-01
Rick,

TBUFs are not required for partial reconfiguration.  That was just one 
approach.  We do not have real TBUFs anyway (they were really gates 
fooling everyone into thinking they are tristate busses).

As far as the tools supporting it, you are correct:  the tools do not 
support it.

However, using the tools, and hand placements, one can do it (although 
painfully) using any interconnect you like with great care (and time).

The key to this is a set of new tools that allow for replaceable modular 
design, and fixed communication pipes to be built.

Austin
Reply by rickman December 1, 20042004-12-01
Andreas Schallenberg wrote:
> > Hi! > > rickman wrote: > > I am still waiting for MDPR support for the Spartan 3, even without the > > rest of the chip running (which the Spartan 3 won't do). I just want to > > make my designs truely modular at configuration time to match the > > hardware configuration rather than to have to produce thousands of > > different configurations. I am now being told they will get right on > > that *after* they have done the Virtex 4 MDPR. > > > This is interesting. What general type of application are you doing? > What are the parts you need to exchange? I'm interested in such things since > we have a discussion on a somewhat regular basis wether reconfiguration > (runtime or not) makes sense for what applications.
MDPR is very important for my application, so much that I am designing in the Spartan 3 in spite of the fact that I have no firm commitment from Xilinx that the Spartan 3 devices will ever be supported for MDPR. I am working on a board which accepts hardware modules as user configurable plug ins. Each of these modules can have a unique interface. The module type can be identified at boot time. At that time the FPGA needs to be loaded with design modules to provide the appropriate interface. With four module sites and potentially a dozen different module types, you can see that the number of combinations are enormous. Even trying to pare this down by limiting the combinations does not reduce the complexity to an acceptable level. My plan is to support this configuration problem by modularizing the design and loading the appropriate interface in the same way that drivers are loaded by an operating system at boot time. I don't need for the FPGA to be running, I just need to be able to select the modules from a store and load them to match the hardware. This will let me create a fixed number of designs for each module type and combine them at load time to create the large number of configurations that need to be supported. I have already found some limitations with the approach. A big one is that the columns in the Xilinx FPGAs are not equivalent, but have special configuration bits near the edges. But this only requires that each module have 4 varieties to fit the 4 slots. Still nowhere near the problem of the number of designs required without MDPR. Using a Virtex chip which is supported for MDPR is not an option due to the high price relative to the application. I assume that this is not requested more for the low cost devices because modularity is typically handled with standard interfaces. But in this case the standard interface is inside the FPGA to avoid needing additional logic on the module. The cost of the interface is absorbed into the FPGA keeping the recurring module cost to a minimum. Kindof the ultimate low cost use of a low cost FPGA. But without MDPR the cost of generating the FPGA bitstreams required will be much higher and any one flash load will only be able to host a small fraction of the total number of combinations. If someone is interested in using this as an example for research, I am happy to cooperate. -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by rickman December 1, 20042004-12-01
Thomas Reinemann wrote:
> > Austin Lesea wrote: > > > For more information, contact your local FAE. > > Starting with a XAPP would be more effective, but I didn't find anything. > Particular interesting are an ucf example and something like a "bus macro". > AFAIK V4 has no TBUFs, how to establish inter module connections, which > survive reconfiguration?
I have looked into this and both the Spartan 3 and Virtex 4 devices have no tbufs, therefore are not currently supported in the design software for partial reconfiguration. I was told that the Virtex 4 would be supported first with the next major release of the tools in Q1 of next year and the Spartan 3 would be added when feasible. But then I was told that Xilinx was working toward supporting the Spartan 3 nearly a year ago. :) -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
Reply by Austin Lesea December 1, 20042004-12-01
Tom,

There is a SDR project that uses partial reconfiguration to load the 
differing modulation/demodulation formats.  They use a form of file 
system to represent the FPGA (I have seen it, it is realy neat -- you 
can look at the FPGA using a browser, and it looks like a file system).

Connections to and from the reloadable modules are simply hard loc'd 
interconnect paths (each modem uses the same inputs and outputs).

Switching modems is easy, because there is nothing to do while you 
switch from one to another, except wait until data starts coming out of 
the modem.

The 405PPC (or microblaze) is used to recognize the modem that is needed 
(what format are they talking in? or what format do I want to transmit 
with? and supervise the loading).

I won't say this is an easy design task, because the tools are all still 
experimental, and they are just not 'all there' yet.

But, it does appear as if this will be used at least for the software 
defined radio case (is being used right now).

How this may be extended, and what other applications may benefit is yet 
to be determined.

My favorite example of reconfiguration is one where when you turn a knob 
on the front panel of the instrument, it then figures out what partial 
bistream to load to do what you just selected (a real application as 
well).  Again, nothing needs to be done while the bitstream is loading.

Contacting the FAE is the only way one can gain access to this work, as 
it is still specialized, and half in Xilinx Labs (the research arm of 
Xilinx), and half in the field.

Austin

Thomas Reinemann wrote:
> Austin Lesea wrote: > > >>For more information, contact your local FAE. > > > Starting with a XAPP would be more effective, but I didn't find anything. > Particular interesting are an ucf example and something like a "bus macro". > AFAIK V4 has no TBUFs, how to establish inter module connections, which > survive reconfiguration? > > Bye Tom
Reply by Thomas Reinemann December 1, 20042004-12-01
Austin Lesea wrote:

> For more information, contact your local FAE.
Starting with a XAPP would be more effective, but I didn't find anything. Particular interesting are an ucf example and something like a "bus macro". AFAIK V4 has no TBUFs, how to establish inter module connections, which survive reconfiguration? Bye Tom
Reply by Andreas Schallenberg December 1, 20042004-12-01
Hi!

rickman wrote:
> ... > I expect you are opening a serious can of worms. The concept is great, > but the hard part is not the hardware, but the design software. Xilinx > has supported modular design for partial reconfiguration (MDPR) for > quite a while. But they have never represented that it works well and > in fact caution users to tread carefully and to not get too ambitious. > With the frame oriented MDPR being new, I would not expect it to be a > simple thing to use for quite a while. > ...
I am involved in a research project in a related area. The question here is how to design for such a target device, that means, to simplify the task for the designer. Of course we need reliable vendors tools to implement the designs but so far the situation was even worse: There was no device family on the market which 100% met our assumptions. From Austins answer I expect that this has changed now with the Virtex 4.
> I am still waiting for MDPR support for the Spartan 3, even without the > rest of the chip running (which the Spartan 3 won't do). I just want to > make my designs truely modular at configuration time to match the > hardware configuration rather than to have to produce thousands of > different configurations. I am now being told they will get right on > that *after* they have done the Virtex 4 MDPR. >
This is interesting. What general type of application are you doing? What are the parts you need to exchange? I'm interested in such things since we have a discussion on a somewhat regular basis wether reconfiguration (runtime or not) makes sense for what applications. Andreas