I am working on building a computer out of logic chips. I want to use an EEPROM as the instruction memory. However, my EEPROM's only has 8bits data output, but I want my instructions to be 16bits long. How would I go about combining 2 of them to double the output length? Thank you

  • \$\begingroup\$ The data word width and/or the instruction width of a computer actually have little to do with the physical bus width of the memory. Can't you just fetch the bytes sequentially and assemble them into a register? \$\endgroup\$ – Dave Tweed Sep 10 '19 at 4:12
  • \$\begingroup\$ I think Max wants 2-bytes returned when loading the address as opposed to the one byte the eeproms typically offer. If that's the case, then the individual address and control lines for each eeprom can connect together so the 16 bits can be loaded at once. \$\endgroup\$ – Mike Sep 10 '19 at 4:21
  • \$\begingroup\$ This is trivial with old-school parallel (EPROM-replacement) EEPROMs; in fact we used exactly such to create the very wide control ROM in a class way back when. But most of the widely used contemporary EEPROMs are serial devices... Realize there is no practical reason at all to build a computer out of low scale integration parts; if you really really want to do something custom, use an FPGA, but recognize that your "custom" will have to be truly unique or a small sideshow to fixed logic datapaths to be a win over a conventional hard core processor. \$\endgroup\$ – Chris Stratton Sep 10 '19 at 4:37
  • 1
    \$\begingroup\$ Max, you don't specify the memory devices or your control signals. But it's not at all hard to do. Since you don't specify the address width or control lines, this diagram is only an example case (and you simply ground the \$\overline{CS}\$ lines, for all I can tell.) But as you can see, it's not hard. The difficulties come in the details. None of which you've provided. \$\endgroup\$ – jonk Sep 10 '19 at 5:03

I think you could just connect the corresponding address pins of each eeprom together which would give you a 16 bit output, but this wouldn’t give you any more addresses.

| improve this answer | |
  • \$\begingroup\$ But the OP did use the I2C tag with the question, so I am not optimistic that this will work. \$\endgroup\$ – Elliot Alderson Sep 10 '19 at 12:26
  • \$\begingroup\$ Oh true, I missed that sorry. I thought this was regarding the traditional parallel Eeproms \$\endgroup\$ – Steve Sep 11 '19 at 13:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.