Basic circuit (gate) design

Ok so I have an assignment, and a couple of the problems are constructing XOR operators using only NAND gates for one of the problems, and only AND, OR, and NOT gates for the other problem. I have the latter done, but it seems to be overly complicated and I dont have OR gates at all. I just used a hint that the book gave. Heres the expression that the circuit represents

((x'y)'(xy')')'
This looked much cleaner using bars for NOTs, but I hope you get the picture. Sadly, I don't know how to draw the circuit in here haha. But yea, that expression is what the book says x XOR y equals.

I am a computer science student, not an electrical engineer or computer engineering student, so I've never really done any of this before. Any hints would be much appreciated! Please, no answer though
Uh... That expression is already giving you the solution.
x^y
!x & y | x & !y
// (De Morgan)
!(!(!x & y) & !(x & !y))
// (!(a & b) = a !& b)
(!x !& y) !& (x !& !y)
// (!a = a !& a)
((x !& x) !& y) !& (x !& (y !& y))

I am a computer science student, not an electrical engineer or computer engineering student, so I've never really done any of this before.
Weak. This is just applied Boolean algebra. It should come as naturally as memorizing powers of two.
Last edited on
Well I've never been exposed to Boolean algebra until a week ago. It just seemed like the expression was longer than it had to be.
Well I've never been exposed to Boolean algebra until a week ago.


Funny, I could've sworn you said you were a computer science student.
I am lol. First year of cs classes though. Did a bunch of gen Ed first year
Boolean algebra is something you usually literally start learning in the first week though. Well, I don't know how stuff's organized on american colleges, but I can't imagine it to be THAT different.
We hit base on history of architectures, Von Neumann architecture, and data representation first
Odd. Usually you'd first get some purely mathematical subjects, like calculus and algebra (abstract and/or linear), and programming+formal specification. It seems odd to step right into the overly concrete subjects. The history part is specially unusual.
I'm with helios...I live in America and that's pretty much much how my classes have been going.
I didn't design the curriculum, but I've looked at other universities and the program is practically the same. Started with intro to programming languages, then contemporary programming, now comp org and architecture. And discrete math right now. Also required to have at least a math minor for the BS
ResidentBiscuit wrote:
We hit base on history of architectures, Von Neumann architecture, and data representation first


yea, that's what we did in the very first comp sci course at my university (csc130). CSC131 was an introductory programming course though O:.

Also at our university you have an automatic math minor with the classes required by your comp sci major.
I think most cs programs have a math minor. I don't see how you wouldn't get one lol. I'm thinking about just dual majoring with math as well though. Only a few classes shy with the minor
With an extra 12 credit hours at my school a comp sci major can dual minor in physics
How does this major/minor stuff work anyways?
Your major is what you get your degree in, while your minor is generally a subject you choose to study in more in depth than the other subjects, that is relevant to your major. You could pick any subject as a minor, but as it doesn't really hold any weight outside of your university studies it's recommended you pick something to complement your major. As I said, my universities' comp sci program gives an automatic math minor with the required math courses, and the physics minor is only a few credits away.
Topic archived. No new replies allowed.