So Last year I started working on a simple par of an 4Bit ALU that would do multiplication and over a course of a year it evolved to a "fully functional" 8bit
Microcontroller, although it has no practical use and is only at a simulation stage.
Even though I'm not good at explaining my work, I'd like to share it with the few it might interest, this is not a guide for how to make a MCU, but there might be some extra information in the video descriptions for the people that are interested, I've also included two whole circuit schematics.
I need to say that I'm not a professional video editor/producer and that I have dyslexia, so the grammar and poor video editing might bee too much for some people and for that I'm sorry there is only so much Google translate can do

On July 13, 2012
After a few day of designing and running simulations I made this simple 4bit ALU doing Multiplication
and recorded a very bad video of it doing a three bit multiplication of 5*6:
July 15, 2012
I incorporated addition and subtraction:
This simulation was composed of 1609 components and used up to 1.6GB of RAM, and it would often crash due to the program being out of it's memory range.
Jul 16, 2012
After several painful hours of "OUT OF MEMORY" errors I decided to simplify the circuit and use pre-made components like a 4bit ALU (for addition and subtraction)
and counters.
in the previous simulations all the addition and subtractions were mad with a collection of half adders and all the components would eat up the memory.
At that point the simulation was able to run on only 500MB of RAM.
July 18, 2012
I tried a radially new approach to the problem of RAM usage and poor precision, during multiplications.
I decided to try doing the multiplications almost "physical", by shifting the values inside a collection of SRAM chips.
by doing so I was able to go down from 1.6GB to 200MB or RAM to run the simulation.
Even though it would be great to be able to make the circuit at a gate lever, with multisim it was not possible because of the 1.6GB restriction.
Jul 27, 2012
Nine days later I made a simple division circuit that would allow me to make a semi functional "ALU" actually just an AU without the logical parts

The circuit was able to choose witch operation would output and it would do all the operations at at the same time.
It's hard to see anything in those videos, but the point is that it was somewhat functional, the main problem was that division were horrible they would not give
out the correct answer if the result were not even.
So after month of working, procrastination and neglect I made a revised division circuit, that I could be proud off.
November 5, 2012
The circuit contained only one "minor" bug that was dividing 34 with 9 (and two other combination) if would not stop dividing and eventually give out a FF as a sum,
even though I fixed it afterwards I can't really recall what was the problem, if my memory isn't that bad, I think it was some where on the top with the registers.
at that time I was even smart enough to take pictures of the circuit

, because I realized that the videos didn't show enough
circuit schematic:
http://i49.tinypic.com/28s5tmv.pngBlock 1:
http://i46.tinypic.com/20068wp.png] [url]http://i46.tinypic.com/20068wp.png[/url]
Block 2:
http://i46.tinypic.com/34nppi8.pngBlock 3:
http://i50.tinypic.com/2ch9fdd.pngBlock 4:
http://i47.tinypic.com/2nlwro8.pngBlock 5:
http://i46.tinypic.com/16ie0ib.pngBlock 6:
http://i49.tinypic.com/23sixrn.pngBlock 6.1:
http://i49.tinypic.com/34eymib.pngAfter a long break I decided to revise the division and multiplication
April 30, 2013
After trying to re revise the circuits I found them to be way to complicated and confusing.
The final design was organized, easy to debug, more precise and much faster then previously being able to at up to 2MHz,
limited by Multisim capability to produce such high clocks and still be able to simulate every componet precise without simulation errors.
At the end it was a fully functional 8bit Alu with 4 logic and 4 math functions, it may not be much but it can now be classified as an ALU

And I was able to reduce the total amount of components to just 626 components (using pre-made components), with the components distribution:
Division - 260
Multiplication - 175
Add/sub - 64
Xor (logic) - 16
Or (logic) - 16
Nand (logic) - 16
And (logic) - 8
Circuit schematics are available at :
http://share.pho.to/2vHQr26 pictures, showing the whole design in great detail.
May 5, 2013
after watching a video called:
See How the CPU Works In One Lesson
I was starting to wonder just how I could use an ALU to control/execute operations inside a CPU.
I decided to make a circuit that would give me an idea of what I would need to do.
based on this part of the video
http://youtu.be/cNN_tTXABUA?t=17m34sthis is what I came up with, a crud circuit that pointed me in the right direction (I like to believe so)
Even though it's manually controlled It gave me a great insight of just what I would need to do to make by my standards a working CPU.
June 21, 2013
Almost a year after I made my first simple multiplication circuit I was finally seeing a potentially useful circuit.
It was now a 8Bit CPU that was capable of running simple instructions that I made for it.
Even though it's extremely messy, it was a great feeling to see the first program run successfully on an idea that I've been working and tweaking for almost a year.
I've been wondering for years how a CPU would execute instructions and control everything that a computer does, and I'm finally getting close to that answer

Last month I made the step from a simple CPU to what I would call a microcontroller.
October 15, 2013
After over a years work (though mostly procrastinations

) I could finally call this a working MCU that is functional.
and
Those two videos shows in my opinion that the MCU is able to take and out put values from it's IO pints and it's able to execute 14 instructions (13+1 IO instruction)
The final design consist of 1089 components, 3512 pins and 1099 individual nets.
The MCU can be clocked at 2MHz (restricted by the accuracy of multisim)

I can't believe anybody would read that much... Thank you for enduring my horrible video editing skills and poor grammar
