Logisim Circuits

The Partridge Family were neither partridges nor a family. Discuss.
User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Logisim Circuits

Post by chili » May 14th, 2016, 9:39 am

Here are the circuits and other materials from the CPU design streams/videos I've been doing.

Link to a GitHub repository containing history of Logisim circuits used after Video 8:
https://github.com/planetchili/8-bit-CPU

Link to a GitHub repository containing the assembler for the CPU written in C++:
https://github.com/planetchili/ASS

Link to the spreadsheet containing a reference for the control lines and the instruction set:
https://docs.google.com/spreadsheets/d/ ... sp=sharing

Link to the video playlist:
https://www.youtube.com/playlist?list=P ... bocqk3sRNR

Link to the Logisim software:
http://www.cburch.com/logisim/download.html

Below you can find legacy direct downloads for older circuit versions (Up to Video 8):
Attachments
vid 8.zip
(12.23 KiB) Downloaded 721 times
stream6.zip
(10.94 KiB) Downloaded 644 times
stream5.zip
(9.2 KiB) Downloaded 561 times
stream4.zip
(6.41 KiB) Downloaded 583 times
stream1-3.zip
(13.33 KiB) Downloaded 753 times
Chili

rbledsaw
Posts: 3
Joined: November 24th, 2015, 2:36 am
Location: Dekalb, IL
Contact:

Re: Logisim Circuits

Post by rbledsaw » June 8th, 2016, 5:40 am

Here's my version that's cleaned up quite a bit from the end of Stream 5.
Attachments
8bitcpu.circ.zip
(13.21 KiB) Downloaded 753 times

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Logisim Circuits

Post by chili » June 8th, 2016, 1:17 pm

It's pretty sexy. I came.
Chili

rbledsaw
Posts: 3
Joined: November 24th, 2015, 2:36 am
Location: Dekalb, IL
Contact:

Re: Logisim Circuits

Post by rbledsaw » June 8th, 2016, 2:47 pm

chili wrote:It's pretty sexy. I came.
Thanks, Chili. I just hope shit doesn't change drastically otherwise a bunch of rerouting will have to be done :D

User avatar
viruskiller
Posts: 399
Joined: June 14th, 2012, 5:07 pm

Re: Logisim Circuits

Post by viruskiller » July 2nd, 2016, 8:01 pm

man this series is awesome:D!
A few years back i tried to make a CPU in minecraft myself, but always got stuck on how to put all the pieces together. Like i knew how to make decoders, ram,adder,shift registers and other stuff, but never wrapped my head around how to link them all together and then be able to program it.
so thank you for this!

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Logisim Circuits

Post by chili » July 3rd, 2016, 6:12 am

Hey man, I'm glad you're digging it. I wanted to do another stream this weekend, but busy with preparing stuff for the reboot series (learning how to use 3ds max so I can make an intro clip and a logo >_<). There will be more digital logic stuff coming though :)
Chili

User avatar
viruskiller
Posts: 399
Joined: June 14th, 2012, 5:07 pm

Re: Logisim Circuits

Post by viruskiller » July 3rd, 2016, 12:51 pm

any1 got any idea on how to go about making a binary to decimal 7 segment display?
i think it involves binary counters, but not sure on how to do it:/

EDIT:oh man this is hard:D ,reading right now on wikipedia about the double-dabble technique that involves bit shifting and adding 3 to numbers above 4 , although this would not work as a display for the CPU since it takes clock cycles to decode the number, i think i might have to look at it as a "primitive graphics card":))

2'nd EDIT: i give up, dunno how i seem to pick my goals, but i'm damn good at picking ones i'm not going to reach in a reasonable amount of time:/, guess i'll resume to watching videos and hope i learn a few new tricks to help with this:(.

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Logisim Circuits

Post by chili » July 4th, 2016, 1:40 am

Hey virus. The way I would probably handle this is is with calculating mod 10 with mask and add and then chaining the difference of the input and the mod result, but there is a better way.

http://www.ee.ic.ac.uk/pcheung/teaching ... %20BCD.pdf

The above is more efficient from a silicon standpoint, but it may be less efficient from a logisim standpoint.
Chili

User avatar
viruskiller
Posts: 399
Joined: June 14th, 2012, 5:07 pm

Re: Logisim Circuits

Post by viruskiller » July 4th, 2016, 3:27 am

i was going with the second way and it is damn hard, almost like making it's own little brain to push out the bcd numbers:/,i need to learn more how logisim parts work, and flipflops in particular,what i need is some kind of clock propagation, like depending on a condition the clock signal should take different route but then be able to return on the same one once the adding was done and value copied back into the shift register.

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Logisim Circuits

Post by chili » July 4th, 2016, 3:34 am

I was talking out of my ass about the masking to calculate mod 10, doesn't seem feasible. You can shift twiddle to get the quotient and then subtract to get the mod though. Faster on logisim to just use the division block, although a full divider in an actual implementation would be overkill.

Fiddling with the clock signal is not the way forward imo. Leave the clock as it is, and manipulate ena pins.

Is the circuit you're trying to create going to do this in one clock (combinatorial/asynchronous), or is it going to take several clocks to do it with intermediate calculations?
Chili

Post Reply