this post was submitted on 18 Mar 2026
9 points (58.5% liked)
Programming
26163 readers
263 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Maybe I'm not very experienced. Why would someone need a device to translate a 4-bit input to an 8-bit output, is it not just 0110 -> 0000 0110?
Ah, sorry, I could have been more clear there. It can do arbitrary mappings between input values and output values. So for each possible 4-bit value, you can pick a different 8-bit value to be output.
For my case, I'm working with a 7-segment LED display, like the display on a microwave. It's got 7 LEDs arranged to display a number, plus an 8th LED for a decimal point. Like this:
.
if the ROM is getting 0000 for its input, it should light up all segments of the 7-segment display except for the horizontal one in the center, to display a zero. Then for the 0001 input, it should light up the two vertical segments on the right, leaving the rest dark, to display a one. And so on. Each output bit goes to a particular segment of the display.
To relate it more directly to programming, it's like having a 16 byte array. The input gives the array index that you want to access, and the output gives whatever byte is at that index.