first of its logIsim. Secondly see if your professor will let you use a less outdated and bulky sim(use this if you can): https://github.com/hneemann/Digital
Anyway, just grab AND/OR/XOR/NAND/NOR/!A/ADDER/SUB components and mux them together. Thats the lazy way, or you can build your own half adders that implement the logic for your own half adder(similar to how you would do it in an ALU in minecraft).
Basically the half adder just needs an OR line, then you need a flood carry line, and then with input inverters you can do all logic functions.
You can join my discord if you need more help, just PM me for the link.
-
Jarvi
This is a portion of an 8-bit, stack based CPU I've been working on for a few weeks running a demo program that was written to test a jump instruction.It is designed in a digital logic designer called Digital (which is on Github) and I have a repository for the project. The project started in early September, not sure what day but the first GH commit was on the 10th.
The program is running with a real-time clock at 10 Hz, which is the optimal speed for admiring the control signals, which are the column of lines in the center. The simulator allows you to run much faster and a demo just giving the same output of infinite "hi" runs about 3x faster than what's shown, but is less interesting.
For some stats, data is 8 bits (0-255) and addresses are 16 bits (0-65535), and it's setup with 32k of read-only memory on addresses 0000 - 7FFF and 32k of RAM on addresses 8000 - FFFF.
The idea behind the design is for it to use the least components while still being highly functional, thanks to the microcode design where control signals are defined by an 8k ROM allowing up to 32 cycles per instruction.
If requested I'll also post a picture of the full circuit, as this is zoomed in so the control signals and debug probes are readable.
This feature in Logic World is called "saved subassemblies." Unfortunately we had to cut it from the early access launch, but most of the work is done and it'll be coming shortly in an update.
The implementation is actually pretty slick, you'll be able to put subassemblies on your hotbar and place them just like you would any normal component. We'll also have subassembly uploads & downloads through logicworld.net so you can share them with others.
We don't have any kind of "linking" like you describe, though. If you fix an error in your CPU, you'd have to re-save it as a new subassembly, and they you'd have to go and fix it in any other places you were using the CPU.
Btw - I don't use either myself, but I've been told that Digital is a much better alternative to Logisim, maybe you'd be interested in that.
Logisim is fine, but quite old and is not actively developed anymore. And there are only "generic" parts - e.g. NAND gates, but you can not get 74x00 chip.
Edit: /u/gfoot360 was talking about Logisim Evolution, which is a continuation of original one.
I would suggest Digital instead. It has a lib with 7400-series DIP chips - correct pinout, multiple units per chip. You even have to connect VCC and GND pins.
The main downside of Digital is the name. The name prevents potential users from finding Digital and prevents active users from finding help.
Here's a short list of totally normal search terms that will never yield Google search results related to Digital.
If you agree, please make your thoughts known by commenting on the Github issue for changing the name: https://github.com/hneemann/Digital/issues/151
nah logisim is outdated and has no dev support. use Digital: https://github.com/hneemann/Digital You can export circuits as HDL and it natively works with the basys3 board.
edit* also its extrmely fast, my mandelbrot circuit runs on my 5Ghz 9700k at 650KHz.
dont use logisim, use this: https://github.com/hneemann/Digital
ive made a mandelbrot renderer in it, unlike logisim which just started oscillating on itself.
logisim is way to slow and doesnt natively support any sort of video ram.
use digital(https://github.com/hneemann/Digital), at least it might be feasible then.
No promises about how it works in 4k, but you might take a look at Digital (https://github.com/hneemann/Digital).
Also, maybe the reason nobody has picked it up and improved it is they see frankly rude comments like yours and view it as a thankless task.
Try this: http://tuline.com/wp-content/uploads/2015/11/Finite-State-Machine-Examples.pdf
Use one of these to experiment:
I've been testing my logic designs for the 6502 computer in https://github.com/hneemann/Digital which has a bunch of 74xx logic defined already. I'm not sure if it'll take you all the way to the 8-bit build since some of the more esoteric 74ls chips may be missing, but you can build that stuff out of gates.
so uh, OP, it usually helps to have some sort of passion that drive you to learn more about specific topics, not because you think it will get you a job, but because you like learning that shit. the job comes second after the knowledge.
Do you like playing guitar? Ever make a distortion pedal?
Electric Synths?
Do you like digital logic? Get an FPGA or a worth while simulator(https://github.com/hneemann/Digital) and start making things.
There are so many things to design, but its only worth designing it if you like doing that work. Figure out what you like :)
I know it's an old post, but still, in case anyone else finds this i want to recommend something:
The powerful logic simualtor called Digital has the ability to export Logic Circuits to a WinCUPL comaptible format, meaning you can just open the generated .PLD file in WinCUPL and compile it. it also allows you to directly compile from the Logic Simulator if you point it to where WinCUPL has it's files located (in the settings).
Digital also allows you to export Circuits as Verilog or VHDL, which is useful for FPGAs or larger CPLDs like the AFT15xx series (which btw is supported by the free version of Quartus II under the MAX7000 devices, which are perfectly compatible with the ATF15xx devices).
overall the Logic Simulator is amazing if you want to test your logic designs before throwing them onto a real chip, or if you're just better/faster at building logic circuits than writing them. so far i've pretty much never had a difference between how the logic simulator and the real hardware behaved
Depends on what you mean. If you want to draw a schematic that can be used to create a PCB then Kicad would be the way to go.
If you want to be able to test how a digital circuit will work, then Digital - which is used for Fpga design - is a great way to test circuits before you build them: https://github.com/hneemann/Digital
You might wanna grab "Digital" https://github.com/hneemann/Digital and use it to build your logic schematics, since it has most of the 74* logic chips already in it & you can double check your work by simulating the circuit. It really helped me sanity check.
As a bonus it can construct a truth table and then make a JED(?) file from the truth table you can burn to a GAL for your custom logic. Haven't used this feature yet though, so IDK.
The website is a bit confusing as it’s a git repository, but there is a link for the zip file. You just extract it and open the .jar file as if it were an exe file. Just make sure you have Java installed. You’re welcome to PM me if you have issues.
Oh yeah... almost forgot... if you like Logisim, you'll love Digital:
https://github.com/hneemann/Digital
I find it much more intuitive that Logisim... personal opinion...
I've been using https://github.com/hneemann/Digital which is a spiritual successor to Logisim; I don't know how it compares feature-wise to logisim-evolution but it's been quite easy to set up.
It also has the cool feature of being able to generate JEDEC files for programming 22V10 GALs.
Logisim is no longer maintained, and while it's rather nice, it's really starting to show its age. Logisim-Evolution seemed nice at first as an 'improved Logisim', but apparently it exists mostly to advertise some proprietary VHDL simulation software that it integrates into. Given there are open source alternatives that it makes no effort to use, that kinda put me off of using it too much.. Though I admit its K-map tools are fantastic.
A ground-up rebuild of Logisim called Digital also exists, but has subpar support for subcircuits. For that matter, I'm not sure how well Logisim itself handles subcircuits either.
Another issue with both of them, is that MOSFET transistors aren't really bidirectional in either application, probably because they tend not to be in real life discrete electronics... But in integrated electronics, they are bidirectional. And since that's where my interests lie, it's a bit of a problem, as neither program can simulate some of the test circuits I've put them up against.
For interesting simple test circuits that are easy to quickly throw together, this article starts out being about a BJT transistor XOR logic gate... But then shows a ton of MOSFET-based XOR logic gates that use a very wide variety of tricks. Getting them to work in Logisim or Digital is a hassle, and often doesn't work at all. I can get all of them to work in CircuitJS, and.. Well, TkGate also has the issue of treating MOSFETs as directional, so really I just have CircuitJS to fall back on, which is really unusable when you start doing complicated things.
Sorry to disappoint but logisim is long dead and extremely antiquated. Dark theme has existed in digital now for a few months. https://github.com/hneemann/Digital It's also orders of magnitude faster, and exports as HDL.
Edit* I see you linked digital in the readme. Glad you are familiar with it. Disregard the first part of this comment.
This is my first project using Digital, so if more experienced users have feedback, I'd love to hear it.
Similarly, if you spot any bugs in what I've built so far, or are interested in contributing, I welcome that as well!
/u/weirdboyjim, if you see this, let me know if you have any objections to this and I'm happy to take it down. Otherwise, if you want me to include any different text/licensing information on there, let me know.
Assuming this continues, the ultimate result should land on a full simulator of the build that can run at a few KHz, and it even supports attaching an IDE/build process to push bytecode to it for simulation of real programs.
I've exported a couple of the modules as verilog as well, and adjusted their testbenches to work with the IceStorm toolchain, and run it through the verilog simulator--so far the results align to the results of the tests.
When I get far enough to have the CPU functioning, I'll throw it on an actual FPGA and see if it works.
Thank you. I tried logism and it seemed clunky so I searched for "logism alternatives" and found Digital at https://github.com/hneemann/Digital. I'm currently playing with Digital and plan on trying logisim-evolution a bit later.
eyyyy, we got the same board! DE2, right?
i also started with VGA and Verilog, but I quickly switched to just using a logic simulator that can explort Verilog code (Digital).
mostly because I just had a hard time understanding Verilog and imagining the circuit i was trying to build in lines of text instead of actual logic gates on a screen.
I posted this in another post as well, but it also fits here
if you need a really good and free logic simulator, i recommend one of the Logisim forks.
this one specifically: https://github.com/kevinawalsh/logisim-evolution
it's pretty amazing and i've been using it for a few years now.
there is also this Simulator: https://github.com/hneemann/Digital
but personally working with Logisim is a lot easier than with Digital, though Digital is a lot faster and allows you to export circuits as Verilog, which can be used to program FPGAs
I study computer science in Germany. Last semester I had a lecture called technical information systems.
We lerand all kind of basic circuits from ground up. Like and or (nand, nor) FlipFlops and so on.
We used a Programm called Digital
It is good for starters, has lots of predefined modules and a simulation system. Not suitable for really big cpu designs. A alternative may be RT_Easy but I found myself to hate that thing. Really old and lots of bugs. Hope this helps.
Just throwing this in here, but if you want to to digital/logic simulation I've found Hneemann's "Digital" to be excellent. https://github.com/hneemann/Digital
Only problem is trying to find it, because the name is just "Digital", so a general Google search is difficult to do.
One alternative is Logisim, or Logisim-Evolution, but I don't like them nearly as much.
I've mostly used https://github.com/hneemann/Digital to simulate circuits, and it works pretty well. It's also actively maintained. The interface is very similar to logisim, but I found it more reliable for complicated circuits, and I really like the ability to put test cases directly into the circuit.
That is very simple... as the name says.
I'm not sure if I can implement my "simple" CPU, which is basically a watered down version of the 6502 without X and Y registers and without any Stack features. Though it somehow still has more instructions, 64 in total.
One reason I never made a CPU minecraft is because of timing. Components have delay and it's weird to work with.
I built my CPU in Logisim and Digital, which are both amazing programs for these kinds of projects.
I actually uploaded it to dropbox but it has no tutorial included on how to use the program or the CPU. But it has a nice PDF with all instructions
I would argue that https://github.com/hneemann/Digital is a far nicer digital simulator/editor than any Logisim. It even has support for translating the design to VHDL and Verilog.
This is ok, but under 3 you missed one that is, arguably, a lot better than logisim, but very easy to miss due to the name.
(Rename is being considered and I hope will be performed soon)
Check out “Digital” https://github.com/hneemann/Digital
It allows you to build and simulate pretty much any digital circuit AND it exports it to HDL for implementing said circuit on (a limited set of) FPGAs...
It is designed and built by an ECE professor and he uses it in his classes.
He is also very responsive to requests/bug reports...
I love it!