By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Sqrl said:

I like the design but what program is that? It doesn't look like MultiSim and I wasn't aware that there were other programs out there =P The only reason I ask is because I know with multisim you can "block" a lot of the redundant parts and make the design cleaner.

 

If you're just doing this for practice you should do one with some "look-ahead" adders.


There's a ton of programs available.  This one is called LogicWorks, and I got it at the campus bookstore for $40 (it was required for my course).  It's a little bit clunky, but it does the job well.

I did a 4-bit adder with carry look-ahead and used that to make my 4-bit multiplier:

 

I went ahead and made an 8-bit adder out of two of the look-ahead ones.  Also realized I could use incrementers for part of my multiplier design, so I rolled one of those.  I should have learned the look-ahead principle on incrementers first, where it's easier to understand how it works.  It took a while for me to convince myself that the propogate signals could be generated independently from one another.

The multiplier design could have benefited from grouping the signals, but I was tired.  :)

 

I had myself pretty well confused for a while as to where I did and did not need to handle carries in this design.  I'm not convinced that I need both of the two incrementers at the top, because I don't know if it's possible for both carry-ins to be set at the same time (if not, I could just OR them and get by with only one incrementer).

 

Just need to wire up an adder-subtractor now and make an ALU.  :)  What's driving me nuts isn't figuring out the logic or stringing it together; it's making the darn MUXes!  I had to make an 8-bit-wide 4-to-1 MUX for my shift register, and naming all those pins... argh...