Google-apper
Hovedmeny

Post a Comment On: Ken Shirriff's blog

"Reverse-engineering the first FPGA chip, the XC2064"

12 Comments -

1 – 12 of 12
Anonymous Anonymous said...

too nice
wish you the bests

September 13, 2020 at 12:59 PM

Blogger Liverio said...

Amazing post!

September 14, 2020 at 8:49 AM

Anonymous Anonymous said...

Did these devices not yet have dedicated clock nets?

September 15, 2020 at 12:10 AM

Blogger Tim D said...

Remember my senior HS year, one of my classmates shared a Scientific American article on FPGAs, which stuck with me when I pursued a EE degree/career using FPGAs.

https://archive.org/details/eu_SciAm_1997-06_OCR/page/n55/mode/2up?q=configurable+computing+scientific+america
http://www.fpl.uni-kl.de/reconfigurable/scientificamerican.pdf
https://www.scientificamerican.com/article/configurable-computing/

September 15, 2020 at 5:47 AM

Blogger Ken Shirriff said...

Anonymous: this FPGA had "long lines", vertical and horizontal interconnects that bypassed the switch matrices; they could be used to provide minimum-skew signals. It also had a global net that could be used for the clock.

September 15, 2020 at 8:45 AM

Anonymous Anonymous said...

very cool ...shout out here: https://www.linkedin.com/posts/anthonycollins_geekout-activity-6713910538012823553-lczs

September 22, 2020 at 6:32 AM

Blogger Unknown said...

Have you been able to further decode the i/o pad routing from your initial work a few years ago? Does the 8x18 also contain the connection information to the long lines?

October 8, 2020 at 8:34 AM

Anonymous Anonymous said...

Hi Ken, i think you have a small mistake in the footnotes, as I don't think the FPGA was invented in 2009 but quite some time earlier.

November 26, 2020 at 12:45 AM

Blogger Ken Shirriff said...

Anonymous: I think you misread the footnote. In 2009, Freeman was recognized as the inventor of the FPGA. That doesn't mean the FPGA was invented in 2009.

November 28, 2020 at 10:40 AM

Blogger Arjun Ramesh said...

Hey Ken, thanks for this amazing writeup. I think there is an error on the asynchronous flop. If set = 1, then flop latches 0, and if reset = 1, then it latches a 1. I suspect those might need to be switched.

December 7, 2020 at 6:12 PM

Anonymous Anonymous said...

Fantastic work as always.

January 24, 2021 at 1:57 PM

Anonymous Anonymous said...

Ni ce wrok. I first heard about these and bought some of the XC2064 and XC2018 circa 1986. The company I worked for also purchased the design software which came on a number of floppies. I built several designs using these including glue logic for a microprocessor system and a keyboard encoder. It was fun hand-routing the device; I managed 90+% utilization of the CLBs in one design. The auto-routing in software was a nightmare and hand-routing beginning with using the dedicated lines for clocks plus positioning the CLBs in an organized fashion did the trick. I still have some of these devices and would like to be able to still do more designs with them (slow as they are). A big problem with the design package was that it regularly polled a hardware dongle plugged into the parallel port and more modern versions of the early PC coupled with pre-emptive interrupts got in the way of the design package recognizing the dongle. I did reverse-engineer one of the dongles several years ago - It took a lot of solvent to remove the potting but the internals turned out to be some simple logic with a code defined by cut traces on the PC board. Unfortunately the timing of the old software remained a problem.

October 27, 2022 at 7:25 PM

You can use some HTML tags, such as <b>, <i>, <a>

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot