Using an EEPROM to replace combinational logic

Ben Eater · 1.6M views · 2017 · 25:22

Open on YouTube

Embedded systems & DIY electronicsElectronics & circuit designtutorial

Why Electrical Engineering Stack Exchange recommends it

Electronics Stack Exchange answerers point people to it when someone wants to replace gate logic with a ROM lookup table or program a parallel EEPROM without specialist hardware.

Recommended by 3 people across 4 different months, 2017 to 2023.

What it is

Ben Eater wires up a 28C16 parallel EEPROM on a breadboard, reads its contents with LEDs, then uses the datasheet timing to program values by hand. He finishes by using the EEPROM as a lookup table that replaces a combinational circuit, such as a 7-segment decoder.

What people said

Recommends Ronan Paixão · 2018-01 · Electrical Engineering Stack Exchange · on “7 segment binary to hex”

It's been said [LINK] you can try the ICM7218 [LINK] or some other chips. You may also try to build your own combination circuit. This is a great video tutorial [LINK] on how to do it and its mechanics. If you want to optimize it, there are some datasheets ( 1 [LINK] , 2 [LINK] ) with the BCD (0-9) part. As a follow-up, this guy also made a follow-up video [this video] on how to do the same with an EEPROM. Granted, you still have to program it, but it may be worth it. And talking about programming, you may also do it all with a microcontroller. It is usually easier to program than a CPLD ( which you may also use [LINK] ), and there are both code [LINK] and tabular [LINK] implementations. I'd use

Recommends Nyos · 2019-08 · Electrical Engineering Stack Exchange · on “Are there any Programmable ROMs, that don't need specialist hardware to program”

Note that you can program an AT28 by hand. Ben Eater has a couple videos about those, programming by hand: [this video] and with a self-made Arduino programmer: [LINK]

Recommends Cheche Romo · 2020-02 · Electrical Engineering Stack Exchange · on “Add 3 bits to 5 bits”

If you want to use gates the way to go is to use a Karnaugh Map to find the minimal solution possible. If you want to use only 1 IC you can replace all the logic with a 256 byte ROM, here is a great video [this video] explaining the process.

Recommends Nyos · 2020-04 · Electrical Engineering Stack Exchange · on “Fastest ALU architecture”

I agree. See Ben Eater's tutorial on this subject: [this video] (OP needs a bit larger address, and ignore 4 bits from the output)

Cites Jamie · 2017-06 · Electrical Engineering Stack Exchange · on “Working out AT28C16 LED output from datasheet”

I'm trying to work out how to connect some LEDs so I can view the value of the value stored in the AT28C16 ( pdf [LINK] ) chip. I'm actually following a [this video] . In the video he chose a 330Ω resistor but I'm not sure how he would work this out given we don't know the maximum VOH value. My LED's are rated at 1.8v - 2.2v 20mA Please could you explain how to read the datasheet to calculate the resistor value required. Thanks. [LINK]

Cites Guest · 2019-06 · Electrical Engineering Stack Exchange · on “How to program i2c eeprom by hand?”

I have a 24c02 eeprom and I want to program it. But I don't have Arduino or any microcontroler. I saw a video about program eeprom by hand, but they are parallel eeprom. This is the link of that video: [this video] I am very sorry that english isn't my mother language. Sorry about any mistake Thank you very much

Cites nmpauls · 2019-08 · Electrical Engineering Stack Exchange · on “How is the common anode 7-segment display in Ben Eater's setup working?”

First question in this community, and I'm a beginner when it comes to circuits. In Ben Eater's video on using an EEPROM for combinational logic, he uses the output of an EEPROM to drive a common anode seven-segment display. It doesn't really seem like it should work the way it does, however. Here's the setup in question (at the correct timestamp): [this video] [LINK] The way I understand common anode to work is that a given segment of the display will only light up if it has a path to ground. In this setup, it looks like every segment has a path to ground from the white wires, through the LEDs, and to the resistors. But when the EEPROM is outputting high on a given bit, somehow the path to ground

Cites Gunther Schadow · 2020-09 · Electrical Engineering Stack Exchange · on “How do I build an RC-base negative edge detector, that makes a low pulse on a falling edge?”

The only place where I find this answer documented is in Ben Eater's video "Using an EEPROM to replace combinational logic" at this particular time linked here [this video] . This needs to be shown in schematics. I happen to want his ~600ns pulse width in my application too, so I use his exact values for R6 = 680 ohm and C3 = 1 nF for a 680 ns pulse. And the R5 resistor is there to re-charge the capacitor. Please excuse that I am showing the schematics in a certain application of a ramp generator that I'm building. Falling edge of a counter is supposed to reset the ramp. But the circuit in question here is all aroun R5, R6, C3, and D1, along with the rectangle wave from V2. The gate of M1 is simp

Cites stix · 2021-04 · Electrical Engineering Stack Exchange · on “How does this RC pulse generator circuit work?”

In this video from Ben Eater, [this video] he uses an RC circuit to create a push-button "write-pulse" generator for his EEPROM (discussed around the 14 minute mark) that ensures the write pulse fits within the timing requirements from the datasheet. The schematic for the circuit is: simulate this circuit [LINK] – Schematic created using CircuitLab [LINK] However, I am at a loss understanding how this circuit works. Ben states in the video that the 1k resistor is to allow the capacitor to self-discharge, but to me it looks like there is no way for current to flow out of the capacitor when the push button is open, as both ends of the capacitor are tied to +5V through the resistors. I also don't un

Cites Gunther Schadow · 2022-08 · Electrical Engineering Stack Exchange · on “How to make a TTL low pulse of 100 ns to 1 μs with a simple RC on a 74LS04 inverter?”

I APOLOGIZE THAT THIS IS GETTING LONG-ish. There are many updates at the end, and I begin editing the original to bring some finding and WARNINGs into it. BACKGROUND I am building myself a Z80 breadboard computer from scratch [LINK] . It has 64 kB RAM and an 8 kB EEPROM (28C64). I have the EEPROM mapped in a mode where writes go to RAM and reads from ROM when address lines A13, A14, and A15 are low, /MREQ is low, and /WR is high. I can do that all with just one stage of a 74LS04 hex inverter and a 74HC32 quad 2 input OR gate. All well and good. Except I have this crazy desire to allow the system to re-program its own EEPROM for "firmware upgrades". Today I almost broke off a pin taking the E