??? 12/26/07 18:50 Read: times |
#148733 - It's not that simple ... Responding to: ???'s previous message |
Well ... what I got from their support staff was, and my query is below their response ...
Hi Richard,
I think the old application note you are referring to is Xapp013.pdf. There are some changes in the chip fabric, and the carry logic of Spartan2 hasn’t share the input with the LUT. What I’m thinking is that your fast-multiplexer can be implemented in a SRL (made of LUT) which can be a 16:1 multiplexer in one LUT. You may refer to the doc below, and Virtex device has the similar fabric with Spartan2. http://www.xilinx.com/support/d...app211.pdf (Figure 2) Hope this helps! Best Regards, Yolanda Xu Customer Applications Engineer Xilinx, CSS Technical Support Center: http://www.xilinx.com/support/c...upport.htm ***************************************************** Xilinx has launched a new User Community http://forums.xilinx.com , please go there and exchange your knowledge and idea with other users ***************************************************** -------------------------------------------------------------------------------- From: Richard Erlacher [mailto:<deleted>]
Sent: Tuesday, December 25, 2007 12:40 AM To: xilinxsupport; Yolanda Xu Subject: Re: <CASE:720494> details about using carry logic Hi, Yolanda, I'm looking for ways of using resources already built into the FPGA, that will help me build faster multiplexers (not multipliers) and fast counters. The carry logic seems to be the logical candidate. There's precious little documentation about useful ways of using the inherent capabilities of the fast-carry logic, as most of the published application materials are little more than marketing drivel. Many years ago, there was an app-note regarding the use of carry logic in XC4000 series LC's for fast counters. It's that sort of thing I'm looking for, but need it applied to these more modern devices. The normal 4:1 and 8:1 multiplexers reach across several LC's thereby compounding their prop-delay with routing delay. I'm looking for ways of using the three MUXCY primitives included in every Spartan-II LC as a multiplexer rather than simply as part of the carry logic in arithmetic applications. Surely someone, somewhere at XILINX knows something more about this than has been published in recent years. regards, Richard Erlacher Quite frankly, it doesn't help, as I don't see how I'd be using the carry logic as a data selector (multiplexer). I'm just after a general description of where I can apply that carry logic and where I can't, and how to infer it when I do want to use it, together with some relevant timing data. I'm looking at this in the context of building a general purpose ALU that has two input paths, each steered by an 8-bit-wide 10:1 (in this case) mux. If I build that, and also provide a data distributor to route the data to wherever it goes after the ALU. In the past, I've done this with tristate resources, but, as you've pointed out, those are no longer available in current FPGA technology. I had to send my query twice, in order to get someone to read it correctly. They didn't distinguish between multiplexers and multipliers the first time. Moreover, it's often easy for them to cite a Virtex where the feature to which they refer isn't available in the devices about which I inquired. If, for example, I wanted to build an 805x core, but in such a way that I could exercise it in a "real" environment, I'd need to use about three dozen level shifters with Spartan-3's, while I can easily "get by" with the Spartan-II XC2S200, since it is 5-volt tolerant. The SP3 might perform better, but the SP2 would work where the SP3 probably (it might workqt 3 volts ... but ...) wouldn't. Either one would require external memory, as neither has enough internal memory to do much, and certainly not enough to provide a full testbed. In order, for example, to make the ALU capable of handling all the 805x instructions, as well as all the address arithmetic operations, takes a pretty complex ALU, but the ALU will still be considerably faster than the muxes required to steer the datapaths. That's one reason I'm looking at higher performance muxes and counters. RE RE |