0

I am trying to build a transistor computer, and I want to save as much resources as possible. However, I also want it to be practical, so I am implementing a binary-decimal conversion. In order to convert binary to decimal, you must first convert it to BCD(binary-coded decimal). I am working on a machine that converts a 4-bit value to BCD, using a previous post as guidelines. I popped the truth table into Circuitverse's Combinational analysis feature, and it gave me a solution that had 45 transistors in it. Since then, I have compacted it to include only 38 transistors, but I hope that I can go farther and make the converter even less costly. Here is my current design in logic gates:

Hyperlink: Circuitverse

Image:enter image description here

Truth Table: enter image description here

Could someone help me make this device even smaller in terms of transistor count? It would be great!

Nip Dip
  • 281
  • 2
  • 10
  • 1
    have your computer do BCD like the IBM1401 and avoid the problem! It might be worthwhile for your endeavours to read on on the IBM1401. Ken Shirriff has some great writeups (actually all of his writeups are great - it's hard not to learn something new). For an old skool solution, I'd suggest using diodes and exploit open collector techniques to perform some logic. – Kartman May 23 '21 at 03:40
  • NipDip, I love the idea you are following. I didn't go that way at the time. I used 7400 series parts to make an 8bit. But it's cool to consider. However, if you are trying to minimize parts then perhaps you will need to spend some time studying things like open-collector outputs. (That is, if you haven't done so, already.) Depending on where you want to go, also RTL or DTL design. I talk a little about RTL [here](https://electronics.stackexchange.com/a/281320/38098). – jonk May 23 '21 at 04:11
  • I've done a few of those, like for example a NOT gate is an open-collector NPN BJT(I'm planning to make the computer entirely out of BJTs, not MOSFETs, btw. But anyway this is great! That means the OR gates have halved in the number of transistors they will require. Also after further research I found that the 3-input AND gates are possible with 3 transistors instead of 4, which means that I only need 29 transistors technically, unless I am misunderstanding something about the OR gates. – Nip Dip May 23 '21 at 04:55
  • Also, I figured out that the 3-input OR gate is actually unnecessary and can be omitted(it checks for a number larger than 4 which is already being checked to find S3), bringing the total to 28 – Nip Dip May 23 '21 at 05:27
  • show us the truth table – Kartman May 23 '21 at 06:49
  • Sure thing. I'll edit thee truth table in. – Nip Dip May 23 '21 at 14:44
  • "I want to save as much resources as possible" ... then do this in software. –  May 23 '21 at 14:58
  • I've already built multiple microcomputers in software, but I want to do an actual concrete example with BJTs. – Nip Dip May 23 '21 at 17:23
  • @NipDip but program your computer's software to do the conversion – user253751 Jul 21 '21 at 16:51
  • @NipDip I don't really understand what this circuit does, anyway. How is 0,1,2,3,4,8,9,A,B,C a form of BCD? – user253751 Jul 21 '21 at 16:51
  • @user253751: it would be easier to see what's going on if the inputs and outputs were labelled A4…A1 & S4…S1: bit 0 gets passed unchanged, S4 is a carry of sorts. One motivation to have no more than ten lines is this suffices to convert all result of adding two BCDs, and a possible *carry in*. – greybeard Mar 30 '23 at 11:26

0 Answers0