Hacker News new | ask | show | jobs
by francescovv 811 days ago
> transistors in an orderly matrix (...) forming scattered circuits connected by thin metal wires.

That's [ULA], isn't it? This tech was also known as "Gate Array", before FPGA came along.

[ULA] https://en.wikipedia.org/wiki/Uncommitted_logic_array

3 comments

Yes, a ULA is another name for a gate array. A while ago I bought an 8086 chip on eBay that turned out to be a random ULA chip that was re-labeled: https://www.righto.com/2020/08/inside-counterfeit-8086-proce...
From that article:

  The book The ZX Spectrum ULA: How to design a microcomputer discusses [...]
 
I had no idea such a book even existed. Now I am really curious about what other hidden gems exist on your bookshelf.
I was intrigued, thinking that someone had managed to clone an 8086 with a gate array. What a disappointment.
I've read that some fake sound chips from eBay actually used a gate array. Not original parts, not a 100% equivalent drop-in, but close enough to work & convince most buyers. Don't know if true but sounds plausible. And if so, a (relatively) simple cpu wouldn't be much of a stretch.

Ken's article doesn't mention it, but there's another reason to use a gate array: pre-fabrication, and through that, easier stock-keeping.

Say you have ~100 different IC's like the one described. One could then do all the manufacturing steps to produce eg. 100k of those gate arrays, except the last fabrication step. And possibly keep a large stock of those 'blank' gate arrays.

Then (when it's known which of those 100 IC's is needed), apply only the last production step to those 'blanks', and presto: selected IC ready - in large volume if needed. Or produce IC's where original part has become hard-to-find.

For a mil-spec part, that flexibility might be among reasons to go for a gate array.

These days, something like a fuse-based FPGA might be used instead?

> Ken's article doesn't mention it

See footnote #5 :-)

Ah, righto! Also I see you elaborated more on this aspect in article on that fake 8086. For anyone interested:

https://www.righto.com/2020/08/inside-counterfeit-8086-proce...

As always: great stuff!

Ken's footnotes are usually my favorite part of his articles!
Yes it's a primitive form of gate array.

The thing is gate arrays are sort of something between a full custom part and an FPGA, they cost less per chip than a gate array, but more per chip than full custom. On the other hand NRE (up front 1 time cost)) is a lot lower than for full custom (I've built both).

These parts are mil-spec which means that their volumes will be lower, it may have made sense to build a mil-spec pad ring then spin out a range of low volume mil-spec 7400 parts from it

I have heard of this structure also referred to as a PLA - programmable logic array, and I think a ULA is specifically for a PLA that is embedded in the empty space of a bigger design (so that in case something is broken, a debug is one mask, not a full respin).

I am not sure that Wikipedia is out-of-date enough to have the precise terminology, but I also may be wrong.

The terminology is a bit of a mess, but usually a PLA is highly structured with an AND plane and an OR plane, so it implements sum-of-products logic. A gate array is more general, with arbitrary connections.