Hi. I am building an adder using regular transistors and i have already built the sum, using 8 transistors (im not using CMOS), exploiting the fact that A XNOR B XNOR C = A XOR B XOR C, which saves me 8 transistors. Now, when i had the more expensive version, the XOR one(that is composed of 4 NAND gates), i was using XORS parts to calculate Carry out. By that i mean that i took the answer of A NAND B, and the answer of first XOR NAND Carry in, and ANDed them(again exploiting the fact that (A NAND B) NAND C = (A AND B) AND C) to get carry out. Now when im using the economic version that saves me 8 transistors, i run into a problem where i dont have the NAND gates, only NOR gates. Is there a cheap way to calculate AND using NOR gates?
EDIT: This is clearly too difficult to understand so i will post a link to a picture i found on the internet.
I think this guy forgot about one cable but it doesnt really matter. As you can see, he used the 2 components of XOR gates to calculate Cout. This cannot be done the same way in my adder because i dont have the NANDs. I tried using boolean logic to find the most optimal solution but i never succeeded. So is there a way to do that?
could you change the google picture link to an actual link to the picture? Thanks
So since NOR is basically OR-bar, you can tie the inputs together to make an inverter. If you throw an inverter on each of the inputs of a NOR, you get an AND:
Code: +-A-+-B-+-a-+-b-+-O-+
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 1 |
+---+---+---+---+---+
KermMartian wrote:
So since NOR is basically OR-bar, you can tie the inputs together to make an inverter. If you throw an inverter on each of the inputs of a NOR, you get an AND:
Code: +-A-+-B-+-a-+-b-+-O-+
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 1 |
+---+---+---+---+---+
I dont think i understand what you said. What do you mean by OR-bar? And by small a and b?
In logic notation, a bar (straight line) over a symbol indicates its negation. Since you can't speak the line over a symbol, you say symbol-bar, and since I can't type a line over symbols on the forum, I wrote OR-bar. What I mean is that NOR is OR with a NOT on the output. In my truth table, a is A-bar and b is B-bar, the states after A and B respectively have been passed through NORs acting as NOTs.
KermMartian wrote:
In logic notation, a bar (straight line) over a symbol indicates its negation. Since you can't speak the line over a symbol, you say symbol-bar, and since I can't type a line over symbols on the forum, I wrote OR-bar. What I mean is that NOR is OR with a NOT on the output. In my truth table, a is A-bar and b is B-bar, the states after A and B respectively have been passed through NORs acting as NOTs.
Okay thank you for the explanation. I think i know what you mean, and that isnt really what i am looking for. I am looking for a way to use the components of the allready existing circut to calculate the carry out. So instead of just calculating the sum, and then calculating AND of 2 inputs and AND of carry in and xor of 2 inputs and then ORing it, which would take 6 transistors total, i want to use some parts of the circut if its possible. I have made a fast drawing of what i allready got.
http://imageshack.us/photo/my-images/850/xnorsum.jpg/
I think im going to stick with the old version. I dont think it can be done so i would only save 4 transistors, and additionally i would have problems with current(dont know the english name, U).
I allways found that minecraft is an awesome tool to analyzing gates and their subcomponents, and in fact it helped me to develop the current version of the circut that you can see on the screenshot above. Just FYI.
Thanks for the help!
That's good to hear; I'm glad you're using Minecraft as an enineering tool. Good luck with your progress on this project, and of course keep us posted.
Well since i was allready done with the version that im using now when i posted this topic, im getting into building this thing, along with the rest of functions(its going to be an ALU).
I have used circut simualtor applet(google it) to simulate it. If you want to take a look at it, be my guest
(i know about some mistakes in resistance, ignore that). This is the import(File->Import paste here):
Code: $ 1 4.9999999999999996E-6 0.015987974607969392 51 5.0 43
t 224 352 256 352 0 1 -0.5974323473734772 0.06310788806324949 100.0
t 224 384 256 384 0 1 0.011454765163800396 0.06541516979988171 100.0
r 256 336 256 288 0 2200.0
g 256 400 256 416 0
t 320 304 352 304 0 1 -0.7121734776533344 0.11681953410677959 100.0
t 320 336 352 336 0 1 0.596553717786918 0.5968024761736003 100.0
g 352 352 352 368 0
w 256 336 272 336 0
t 320 464 352 464 0 1 -0.10286894629668675 0.0661041845920477 100.0
t 320 496 352 496 0 1 -0.5829812855105696 0.06541516997381486 100.0
g 352 512 352 528 0
r 272 464 320 464 0 100.0
r 320 336 272 336 0 100.0
r 352 288 352 240 0 2200.0
r 352 448 352 400 0 2200.0
r 224 352 176 352 0 2200.0
r 224 384 176 384 0 2200.0
w 272 336 272 464 0
r 320 304 272 304 0 2200.0
r 320 496 272 496 0 2200.0
t 384 368 416 368 0 1 0.608171292910578 0.6204014712011263 100.0
t 384 400 416 400 0 1 0.6079896417902687 0.6272500222566112 100.0
r 416 352 416 304 0 2200.0
g 416 416 416 432 0
w 352 288 384 288 0
w 352 448 384 448 0
w 352 240 256 240 0
w 256 240 256 288 0
w 352 400 368 400 0
w 368 400 368 240 0
w 352 240 368 240 0
w 176 384 176 496 0
w 176 496 272 496 0
w 272 304 176 304 0
w 176 304 176 352 0
r 384 448 384 400 0 100.0
r 384 288 384 368 0 100.0
w 416 304 416 240 0
w 368 240 416 240 0
w 688 240 736 240 0
w 736 304 736 240 0
r 704 288 704 368 0 100.0
r 704 448 704 400 0 100.0
w 496 304 496 352 0
w 592 304 496 304 0
w 496 496 592 496 0
w 496 384 496 496 0
w 576 240 448 240 0
w 672 240 688 240 0
w 688 400 688 240 0
w 672 400 688 400 0
w 576 240 576 288 0
w 672 240 576 240 0
w 672 448 704 448 0
w 672 288 704 288 0
g 736 416 736 432 0
r 736 352 736 304 0 500.0
t 704 400 736 400 0 1 0.608646679108363 0.60889543738227 100.0
t 704 368 736 368 0 1 -4.962882291631248 0.03686894982801436 100.0
r 640 496 592 496 0 100.0
r 640 304 592 304 0 100.0
w 592 336 592 464 0
s 496 352 448 352 0 0 false
r 544 384 496 384 0 100.0
r 544 352 496 352 0 100.0
r 672 448 672 400 0 2200.0
r 672 288 672 240 0 2200.0
r 640 336 592 336 0 100.0
r 592 464 640 464 0 100.0
g 672 512 672 528 0
t 640 496 672 496 0 1 -0.6866969784992614 0.03149055876164084 100.0
t 640 464 672 464 0 1 -0.04649168985664476 0.03513379990653864 100.0
w 576 336 592 336 0
g 672 352 672 368 0
t 640 336 672 336 0 1 0.5982623747123046 0.6231484519516527 100.0
t 640 304 672 304 0 1 0.6081391480221991 0.620370778880106 100.0
g 576 400 576 416 0
r 576 336 576 288 0 2200.0
t 544 384 576 384 0 1 -0.732411664462435 0.03149055876164084 100.0
t 544 352 576 352 0 1 0.08127217713969737 0.07069129107914573 100.0
r 448 240 448 352 0 2200.0
w 416 352 432 352 0
w 432 352 432 384 0
w 416 240 448 240 0
w 432 384 496 384 0
t 432 544 432 576 0 1 0.5823543739098171 0.6374033786408424 100.0
t 464 544 464 576 0 1 0.5766482719491698 0.6354143692390548 100.0
r 480 576 528 576 0 500.0
w 272 544 272 464 0
w 592 464 592 544 0
w 768 240 736 240 0
R 784 704 784 736 0 0 40.0 5.0 0.0 0.0 0.5
s 784 656 784 608 0 1 false
s 800 656 800 608 0 1 false
t 832 624 864 624 0 1 -4.882931699608628 0.11706829141548263 100.0
r 864 608 864 560 0 500.0
g 864 688 864 704 0
w 864 608 880 608 0
w 784 704 800 704 0
w 784 576 784 608 0
162 896 656 896 704 1 2.1024259 1.0 0.0 0.0
t 944 624 912 624 0 1 -4.492841104168615 0.09853954248810676 100.0
r 944 624 992 624 0 2200.0
s 992 624 1040 624 0 1 false
R 1040 624 1072 624 0 0 40.0 5.0 0.0 0.0 0.5
r 832 624 832 576 0 2200.0
w 832 576 784 576 0
w 800 704 816 704 0
w 816 704 816 560 0
w 816 560 864 560 0
t 832 496 864 496 0 1 0.011454762534971415 0.06541516707219236 100.0
t 832 464 864 464 0 1 -4.8829317066822355 0.0631078854344205 100.0
r 864 448 864 400 0 500.0
w 784 704 784 656 0
w 800 704 800 656 0
r 832 496 832 544 0 2200.0
r 832 464 832 416 0 2200.0
w 816 560 816 400 0
w 816 400 864 400 0
w 832 544 800 544 0
w 832 416 784 416 0
w 784 416 784 576 0
w 800 544 800 608 0
r 864 512 912 512 0 2200.0
w 864 512 864 544 0
t 944 576 912 576 0 1 1.465614672403134E-10 -0.4086193425687861 100.0
r 944 576 992 576 0 2200.0
s 992 576 1040 576 0 1 false
g 896 704 896 720 0
w 912 640 896 640 0
w 896 640 896 656 0
w 912 592 896 592 0
w 1040 624 1040 576 0
w 896 592 896 640 0
w 880 608 912 608 0
w 864 544 912 544 0
w 912 544 912 560 0
r 864 640 864 688 0 100.0
t 832 288 864 288 0 1 -4.882931707175657 -0.30925198062336445 100.0
t 832 336 864 336 0 1 -4.934584829898545 -0.36090510334625164 100.0
r 832 288 832 240 0 2200.0
r 832 336 832 384 0 2200.0
w 864 320 880 320 0
w 880 320 880 272 0
w 880 272 864 272 0
r 864 272 864 224 0 500.0
g 912 512 912 496 0
t 960 512 928 512 0 1 -4.950661170030624E-4 0.01720586178766631 100.0
r 960 512 1008 512 0 2200.0
s 1008 512 1056 512 0 1 false
w 1040 576 1056 576 0
w 1056 576 1056 512 0
w 816 400 816 224 0
w 816 224 864 224 0
w 832 384 800 384 0
w 832 240 784 240 0
w 800 544 800 384 0
w 784 416 784 240 0
w 864 304 928 304 0
w 864 352 928 352 0
w 928 304 928 352 0
w 928 352 928 496 0
w 896 592 896 528 0
w 896 528 928 528 0
r 272 544 320 544 0 100.0
r 592 544 544 544 0 100.0
w 464 544 544 544 0
w 432 544 320 544 0
w 528 576 768 576 0
w 768 240 768 576 0
t 880 112 912 112 0 1 -0.6827447343000358 0.06310788806321355 100.0
t 880 144 912 144 0 1 0.011454765163764445 0.06541516979988171 100.0
t 1024 128 1056 128 0 1 0.6069041584388221 0.6406823004287603 100.0
t 1024 160 1056 160 0 1 0.6068467945191871 0.643961726419838 100.0
t 976 96 1008 96 0 1 -0.7486507982864968 0.11681953415101905 100.0
t 976 128 1008 128 0 1 0.6086466790963773 0.60889543743882 100.0
r 912 96 912 48 0 2200.0
r 1056 112 1056 64 0 500.0
r 1008 80 1008 32 0 2200.0
r 1024 128 1024 80 0 100.0
r 1024 160 1024 208 0 100.0
g 912 160 912 176 0
g 1008 144 1008 160 0
g 1056 176 1056 192 0
t 896 176 896 208 0 1 -0.66807690904448 0.06541516997381486 100.0
t 928 176 928 208 0 1 -0.03354166770259226 0.06632094798345822 100.0
r 944 208 992 208 0 2200.0
w 832 112 832 32 0
r 976 96 976 32 0 2200.0
w 832 32 976 32 0
r 976 128 928 128 0 100.0
w 912 96 928 96 0
w 928 96 928 128 0
r 928 128 928 176 0 100.0
w 944 208 944 224 0
w 944 224 1024 224 0
w 1024 224 1024 208 0
w 1008 80 1024 80 0
w 1008 32 1056 32 0
w 1056 32 1056 64 0
w 992 208 1072 208 0
w 1072 208 1072 32 0
w 1072 32 1056 32 0
w 1008 32 1008 16 0
w 1008 16 912 16 0
w 912 16 912 48 0
r 880 144 832 144 0 2200.0
r 880 112 832 112 0 2200.0
w 832 144 832 176 0
g 880 208 864 208 0
w 816 224 816 16 0
w 816 16 912 16 0
w 832 144 800 144 0
w 832 112 784 112 0
t 976 464 944 464 0 1 1.4656148517033785E-10 -0.3377262714058864 100.0
s 1024 464 1072 464 0 1 false
r 976 464 1024 464 0 2200.0
w 1056 512 1072 512 0
w 1072 512 1072 464 0
w 896 528 896 480 0
w 896 480 944 480 0
w 944 448 944 240 0
w 944 240 1088 240 0
w 1088 240 1088 112 0
w 1088 112 1056 112 0
r 832 176 896 176 0 2200.0
w 784 240 784 208 0
w 784 208 784 112 0
w 784 208 176 208 0
w 176 208 176 304 0
w 800 384 800 192 0
w 800 192 800 144 0
w 800 192 160 192 0
w 160 192 160 384 0
w 160 384 176 384 0
w 816 224 768 224 0
w 768 224 768 240 0
s 1040 384 1088 384 0 1 false
t 992 384 960 384 0 1 -4.869096196289021 -0.2777155419988897 100.0
r 992 384 1040 384 0 2200.0
w 736 352 752 352 0
w 752 352 752 368 0
w 752 368 960 368 0
w 960 400 896 400 0
w 896 400 896 480 0
w 1072 464 1088 464 0
w 1088 464 1088 384 0
w 1104 256 1104 0 0
w 1104 0 624 0 0
162 448 592 400 592 1 2.1024259 1.0 0.0 0.0
t 464 624 464 592 0 1 0.017088701203236883 0.01688583309543129 100.0
w 480 576 480 592 0
w 624 0 624 624 0
w 416 576 400 576 0
w 400 592 400 576 0
g 400 576 384 576 0
w 1104 256 1040 256 0
w 1040 256 1040 384 0
r 464 624 512 624 0 2200.0
w 512 624 624 624 0
EDIT: There you go, the mistakes are fixed now
Is something wrong with it? I sence awkward silence
This is the result. The lower part of this circut is the adder. The rest ar e 4 logic operations
http://imgur.com/a/zsVeb
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
»
Go to Registration page
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum