Taking everything that I learned this last year and everything that I'm learning right this moment, I am proud to announce my second years beginning for a CPU design. The major change this year is the scale, which is possible to be larger because I am learning Verilog and am using an FPGA. A single board will be all that is necessary this year. It will be as if making it from discrete gates, except that they are packaged even smaller. The architecture is being re-designed to be more practical, including the majority of the x86 instruction set. The board the FPGA is sitting on will contain a UART to USB to enable the use of USB devices, and an old RS232 will interface with the mouse and keyboard. (I am following an ancient schematic for a z80 computer to help me design the keyboard interface, that's why RS232.) The display driver has already been designed in Logisim, and functions perfectly well, with a refresh rate of about 6Hz at 4.1KHz simulation speed. The design is implementing DDR RAM chips and PCI slots, along with the old EIDE and PATA technologies for mass storage of files and programs. The majority of the essential commands have been simulated in Logisim at the moment, and is almost ready for a test, of which I will post up a link for Cemetechians to explore. For anybody who this means anything too, the CPU has a 16-bit word size. (Which really means nothing anyway, because there are numerous things you can do to get around that limitation.) I hope to be posting up lots of information, and eventually the Verilog source code, so anyone can do it like I did. And FPGAs really rock because you can reprogram them if you mess up the first time, they can be clocked at many MHz, and they don't require a bagillion hours of soldering to build. (Heck, development boards require NO soldering at all! (Arduino-like, huh?))
So, wish me luck everyone! (I'm on an adventure in Odyssey!)
edit:
There won't be a testable version for a while yet because I am making it modular. This means that if you stack them, the word size is increased, if you stick 'em sideways to one another the speed is increased. I have modularized the stupid easy things to modularize. (Adders, counters, etc.) Working currently on the hard stuff though!
So, wish me luck everyone! (I'm on an adventure in Odyssey!)
edit:
There won't be a testable version for a while yet because I am making it modular. This means that if you stack them, the word size is increased, if you stick 'em sideways to one another the speed is increased. I have modularized the stupid easy things to modularize. (Adders, counters, etc.) Working currently on the hard stuff though!