Hacker News new | past | comments | ask | show | jobs | submit login
An unusual 7400-series chip implemented with a gate array (righto.com)
150 points by codezero on March 30, 2024 | hide | past | favorite | 31 comments



> 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


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.


I know it's not adding very much to the conversation but I just have to give kudos to the author of this article. It's always nice to see what the magic smoke inside those chips look like before I let it out! So great job I look forward to reading more of your articles!


Thanks! I'm glad you enjoyed the article.


I couldn't find pictures of a '139 implemented the "normal" way, but here's a 1-of-8 decoder that is: https://www.richis-lab.de/logic20.htm

The dual-die+decoder EEPROMs reminds me of these quad-die EPROMs: https://www.eevblog.com/forum/chat/identify-these-weird-epro...

Are you sure there's not another two 28HC64s on the other side too?


Yes, I'm sure there are just two EEPROMs. Someone on Twitter found the datasheet for the module (DPE8M628), which has details: https://www.datasheetarchive.com/datasheet?id=a3c8d65ff60242...


Funny to see this appear online today. I was discussing the real nand2tetris computer built from 74 ICs yesterday with my 8 year old son yesterday:

https://hackaday.io/project/185131-the-hack-computer-from-na...

and now this pops up.

I'm thinking of buying a bunch of 74xx ICs and buttons and led+resistors somewhere and let him mess with them. It's stone age digital tech according to current norms, but I'd rather see him do it with physical components than behind a screen.


That’s how I got started — 7400 TTL chips are very forgiving to a young person’s hand.

I was amazed you could just write away to National and the day’s send back a databook! I would pour over them and think of ways to use various chips.


A EE in my dorm in the 70's designed and built his own CPU out of 74xx chips when he was in high school. Even the other students were in awe of that.


I did that in the early 90s. Was only a 4-bit job but it mostly worked! Edit: it only ever ran one program which was to count to 99.

There is a whole community of these machines: https://www.homebrewcpuring.org


Vintage X-in-1 kits. Particularly the 300-in-1 kit had a breadboard and a bunch of logic chips. 500-in-1 similar but even has a microprocessor.


I owned a 200 in 1 as a kid, and spent a lof of time playing it. I've never really looked at the others.

The 300 in 1 is indeed a level up. I'll think about it.


That's what my dad did. I remember it as confusing, the parts being marked like SN7424 7411 with one of those numbers being the date code.


do it. you can use them all for basic synth building too. sequencers and square waves are stupidly easy to build


Author here if there are any questions...


Why have you wasted 80% of the die?


I'm not sure what you're asking. IDT used the same gate array for numerous 7400-series products. As a result, simple chips would waste most of the die, while complex chips would use most of it. The tradeoff is that using a gate array saves design costs, although each chip is more expensive to manufacture due to the wasted silicon. Since IDT was selling into low volume, price-insensitive markets (military), the tradeoff was worthwhile.


I may be dating myself here but I seem to recall Intel offering a hobbled 486 processor in which the math processor was disconnected for no other reason than marketing. Regarding the Gate array Technology it seems we've come full circle with the new risk V processors being offered up at incredibly cheap prices.


Why use a $20 Arduino when you could have just gotten a $1 custom PCB, $0.50 microcontroller, and a handful of jellybean parts to do the same job? Because one costs less in Non-Recurring Engineering (NRE) than the other, you'd have to design the schematic and layout and then select parts that are affordable and available. Sometimes its just makes more sense to use a reusable component than doing something custom, especially when you don't plan to sell a lot of them. Someone needed a 1-to-4 decoder and for some reason, couldn't find one on the market that fit the application. The Gate Array already existed and was cheap to configure so that's what they went with. It's overkill but so is getting a brand new die made for such a throwaway part of the design.


kens is the author of the write up, not the designer of the chip.


Sort of the opposite of a "we have 7400 series at home" joke.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: