jaswar / cpu Goto Github PK
View Code? Open in Web Editor NEWAttempt to simulate a CPU on gate level.
Attempt to simulate a CPU on gate level.
Create RAM and ways to interact with it.
Constructors for the logic gates and control circuitry (Input and Output) miss the mention of the BitStreams that are required as parameters.
The exceptions' messages introduce a lot of repeated code. Possible solution would be to have two constructors one with only the object, one with a custom error message.
Make a class RegisterFile (unit that contains the registers).
Create an AND gate that would take multiple inputs (more than 2).
Create a circuit to do logic operations on source and destination streams
Create a class that would take a list of input BitStreams and a list of output BitStreams and forward the information from the input list to the output list.
Make the microprocessor which is a part of the control circuitry.
Make a circuit that would work as a decoder. Most preferably make it work generally for any input size.
Make a NOR gate capable of taking more than two inputs.
Make this function rely on the sizes of the inputs not on the word size as defined in Node.
Make the Instruction Address Generator with the Programme Counter.
Using methods setBitStream in the nodes only changes the bit stream without removing the node from the bit stream's endpoints and adding the node to another bit stream endpoints.
Display more important information that currently, something like gdb.
Let the processor issue and manage interrupts to allow for basic Input/Output.
Make new instructions, including branching and conditional branching
Make tests to test how the ALU and the RF work together and if they work correctly.
Make nand that can take multiple input (more than 2)
Change the D latches in registers and the ALU into flip-flops. This might make it possible to execute microinstructions in one clock cycle.
Make all flip flops have a lines to reset them and enable/disable .
Make a Register class.
Try to make a tool to design and possibly simulate circuits to stop using limited external tools for that.
Create a Node that would take an input of specific size and then output same inputs but more of them.
Very rarely (about 1 in 70000 runs) detecting the overflow does not work.
Define the CPU circuit that has all the components build so far connected with the control unit.
Currently inconsistencies are warnings, they need to be error (eg by making a time out)
Build a control unit (probably emulated) and make simple, hardcoded operations.
Create a basic Arithmetic and Logic Unit circuit.
Those two classes do practically the same, merge them into one.
Setting flags still does not work.
Define a run method for a CPU to enable CPU to be a standalone unit. Also put the debug "requestStatus" if wanted.
NAND and NOT are missing tests. None of the gates also have the inconsistency/incorrect bit streams tests.
Make general clean-up for the code:
It will be required to have multi input gates.
There are multiple checkstyle errors. They need to be fixed.
Create a circuit to perform addition and subtraction.
Make a class that would implement the run method so that it will not be needed to define run method everytime.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.