What a Xilinx fpga could do in 1988

I'm writing up a project that ran from 1988 to 1991. It involved building an ECL-based digital processor that ran at 25MHz, working into a couple of ECL SRAMs. Debugging the hardware was tedious and took more than a year.

There's evidence that there was an alternative proposal which would have dropped the processing speed to 10MHz, and I suspect that engineers involved might have planned on doing the digital processing in a a re-programmable Xilinx fpga.

What I'd like to find out is whether the Xilinx parts that were availlable back then could have supported what we needed to do.

We were sampling a sequential process, at 256 discrete points.

We had two 16-bit lists of data in SRAM. One list represented the data we were collecting (Data), and the other was a 15-bit representation of what we thought we were seeing (Results).

Every 100nsec we would have got a 7-bit A/D converter output and would have had to add it to a 16-bit number pulled out of the Data S/RAM, and write the sum back into the same SRAM address (though the first version of what we built wrote the data into a second Data SRAM amd ping-ponged between two Data SRAMs on successive passes).

After we'd done enough Accumulation passes through our 256 element list of Data points, we'd make an Update pass, and up-shift the accumulated data by eight or fewer bits (depending on how many Accumulation passes we'd done - never more than 2^8 (256), and subtract the 15-bit bit Result representation of what we thought we had from the shifted accumulated data.

We could then down shift the difference by anything up to 15 bits ( depending on how reliable the Results we thought we had were) and add it back onto to our 15-bit Result representation of what we thought we had, to improve the reliability of that particular number, and write this improved number back into the Result store

Obviously, we had to back-fill the most significant bits of the down- shifted number with the sign bit of the difference (and of course that got overlooked in the first version of the ECL-based system).

In practice, 15-bits was an over-kill, and the final version of the ECL-based system settled for a maximum down-shift of 7 bits - with the arithemtic for longer accumulations being handed off to the system processor, which wasn't as fast, but didn't have to to the job often enough for it to matter..

The Updata pass could run quite a bit slower than 10MHz, but we would have liked to use a barrel-shifter, which could set up any shift from

+8 to -7 (or -15) as we did in the ECL system, rather than a shift- register shifter.

Would this have been practical in Xilinx fpga's back in 1988?

--
Bill Sloman, Sydney
Reply to
Bill Sloman
Loading thread data ...

I did some Xilinx designs (but never got to implement them) in about 1995, I believe at 33MHz on an XC4013. It took some careful pipelining and such to get that speed.

I beleive the XC4000 series goes back to 1991, though that might be close to the beginning.

The problem with your question is that you didn't specify an implementation. The FPGA might, for example, have two logic blocks that run at 5MHz used alternately, for a 10MHz throughput. (Or three, or four, or more, if needed.)

TTL easily runs at 10MHz, so some external TTL latches could get the clock rate down, while keeping the 10MHz, or even 25MHz throughput.

-- glen

Reply to
glen herrmannsfeldt

Not that close. Cambridge Instruments used Xilinx parts to rework the digital logic in their Quantimet Image Analysis gear around 1987. It saved quite a lot of board space and money - the TTL msi logic that had been doing the job before (since at least 1975 in various manifestations) took up a lot of printed board space.

If that could have been made to work, I've got my answer.

The data would have been held in TTL-compatible SRAM. We only needed a couple of banks of 256 16-bit words. Extra latches for intermediate results wouldn't have been a problem, but I'd expect that the buffering on the periphery of the fpga to drive the relatively high capacitance of external tracks would have added significant extra propagation delay.

The ECL-based variant that we did build at the time - slowly, because it was a pig to debug - used half a dozen 1024 x 8 ECL SRAMs because they were the smallest parts I could buy that ran fast enough. Ten years later, the smallest fast SRAMs were closer to 1M x8.

--
Bill Sloman, Sydney
Reply to
Bill Sloman

(snip, I wrote)

I meant that, as well as I remember, the XC4000 series dates to about 1991. Earlier series were earlier than that.

-- glen

Reply to
glen herrmannsfeldt

I think the 3000 series was the one that took off and made Xilinx a household name... well, if you lived in a household of rabid digital design guys.

Before that was the 2000 series which was a rather limited device I believe. It was more than a CPLD, but not by tons. I think it had 64 or maybe 100 LUT/FFs. I never knew the details of the architecture because it was already obsolete by the time I got a chance to work with FPGAs. My understanding is that it was an ok device for a first product, but was not found in so many designs. This is possibly because it was replaced fairly quickly by the 3000 or because the tools were so arcane that not just anyone could work with it.

I think my first FPGA design was with the then new 4000 series part which had some significant improvements over the 3000 series. Just like now, there aren't too many product starts with the older series. So while the 3000 series had lots of design wins and continued to be made for some 15 years I believe, the 4000 started the trend of each new generation being the marketing focus in order to continue getting design wins.

--

Rick
Reply to
rickman

...

While I wasn't using "Brand X" at the time, I was using "Brand A" and we were delivering a product doing comparable level (actually somewhat more so) level of processing at the time. I think we were using ping-ponging of memory accesses (read memory A, write the results a few clocks later into memory B, on next pass, read memory B, write results into memory A). I am fairly sure that the Xilinx parts available at the time were comparable.

Reply to
Richard Damon

I've got a 1989 Xilinx "Programmable Gate Array Data Book" in my hand. Befo re the Internet, kids, you had to get a data book from the chip maker's loc al rep. If you were a hardware engineer, your office had a prominent shelf (or shelves) with all your data books lined up. Depending on how many, how current and how cool your data books were, that's how cool you were.

It has the XC3000 series, including the (infamous) XC3090, with 320 CLBs, a llegedly good for 9000 gates(!). That part really got people's attention. T he Splash I reconfigurable supercomputer was an array of XC3090s. Even the XC3020 with 64 CLBs and 64 IOBs was pretty useful. The databook has an app note for a 100 MHz 8-digit frequency counter in 51 CLBs: timebase (8 CLBs), BCD counter (16), five shift registers (20), 2 control CLBs and 1 CLB to s uppress leading zeros.

Looking at what you were doing, Bill, I'm confident a 3000-series FPGA with an SRAM attached could have done the job. Maybe even an XC3020.

--Mike

Reply to
Mike Butts

fore the Internet, kids, you had to get a data book >from the chip maker's local rep. If you were a hardware engineer, your office had a prominent she lf (or shelves) with all your >data books lined up. Depending on how many, how current and how cool your data books were, that's how cool you were.

Been there, done that. I've got a 1986 National Linear Applications databook on my bookshelf at the moment - though the bulk of my databooks are still in a box in my wife's office, on the last leg of the journey from Cambridge via the Netherlands to Sydney. Sadly the

1989 Xilinx databook isn't one of them

allegedly good for 9000 gates(!). That part really >got people's attention . The Splash I reconfigurable supercomputer was an array of XC3090s. Even t he XC3020 with 64 CLBs >and 64 IOBs was pretty useful. The databook has an app note for a 100 MHz 8-digit frequency counter in 51 CLBs: timebase >(8 C LBs), BCD counter (16), five shift registers (20), 2 control CLBs and 1 CLB to suppress leading zeros.

th an SRAM attached could have done the job. Maybe even an XC3020.

I've found a data sheet for the XC3000 series on the web dated 1988, and thought that I'd downloaded it. What I can find now are all dated

1998, which isn't helpful.

The reference to the Splash 1 reconfigurable super-computer is more helpful since it gives me a 1991 reference

Custom Integrated Circuits Conference, 1991., Proceedings of the IEEE

1991 Date of Conference: 12-15 May 1991 Author(s): Waugh, Thomas C. Xilinx Inc., San Jose, CA, USA

which suggests that the parts (as opposed to the datasheet) had been available back when we glueing chunks of ECL together. Back in 1989 I had a datasheet for a really fast Sony ECL counter, but my unsuccessful attempts to buy a couple suggested that it was nothing more than vapourware. Not the first time I'd run into market-research by data-sheet publication, nor the last. Even the AMD Taxichip - which we did use - wasn't quite the device that the early issue datasheets described, but once AMD had worked out how to make it right, what they did make was fine (if not quite what they'd initially had in mind).

--
Bill Sloman, Sydney
Reply to
Bill Sloman

Can you tell us why this is being researched so many years after the project?

--

Rick
Reply to
rickman

I've got a board in front of me with a 3020 on it. Date code is 8845. We had a 3090 is another part of that project.

--
These are my opinions.  I hate spam.
Reply to
Hal Murray

Sure. When the project was cancelled - at the end of 1991 - and I got made redundant with most of the rest of the project team, I got the computer man ager to print out my weekly reports for the previous four years which cover ed the entire history of the project - or at least the part that I was dire ctly involved in - and I took them home with me.

This was - of course - totally illegal, so I didn't do anything with them a t the time.

After I ran out of employers - in June 2003 - I started scanning and OCRing my way though this pile of paper. I'd got a fair way through it by 2009 an d swapped a few e-mails with interested parties back then, then got distrac ted by getting a new aortic valve.

I finally finished the job a few months ago and started writing a sort of h istory of the project, which involved making sense of stuff that had been g oing on before I got involved. It has become to seem clear that there had b een a fairly well-worked out plan for a less ambitious machine, which the g uy who would have been selling the machine, and - at that stage - getting m ost of the profits from the sales - didn't like very much. There's no actua l evidence that the less ambitious plan involved Xilinx fpga's, but it's pl ausible.

As a speculation, it adds spice to an otherwise bland and uninteresting tal e.

--
Bill Sloman, Sydney
Reply to
bill.sloman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.