This is a site to introduce a hand-made computer just like a craft work in a summer vacation.
update info
Ver 5.0 (May 2024):
Increased CPU and FPU clock speed from 25Mhz to 33.75Mhz
Create H/W, S/W debug assist board and connect via expansion connector
A kind of handmade PC could be made by various key sub-systems such as CPU, Memory, Display adapter and Network cards etc those are available in the PC shops.Based on them, we can make a unique PC which meets our personal requirements. It is very exiting to make a lovely machine by selecting the best sub-systems carefully for our special desire. Obviously, this is one of good methods to learn and enjoy the latest technology in the PC world.
There is another method to learn the computer and semiconductor technology by making a completely unique machine from scratch.
In this site, I would like to introduce how to make a handmade computer by logic design for CPU, Display adapter with Fonts for it, Keyboard interface, PFU and basic Software Library with some demo based on them.
The background of this trial is:
Some people feel it is not enough to understand the computer technology by just selecting the key subsystems, however today's technologies implemented in the PC are very complex and not easy to deep dive into technical details. Even for the customizing activities for each subsystem, deep knowledge will be required for the best tuning to make an optimized machine for the unique requirements. It is almost impossible to make any unique hardware, which differentiates the PC, from scratch personally based on the current PC technology.
Good news for the people who like logic design is, various FPGAs (Field-Programmable Gate Array), which has thousands KGates, are available now with reasonable prices.
Logic design tools also provided by the FPGA venders with reasonable price or free of charge for the basic functionality.
As the results, even for a SOC(System On a Chip) could be designed personally if he or she has endurance and nice design capability.
In this page, I would like to introduce a trial.
Quality level of the design covered in this site is just personal or hobby use, there is no error recovery in the design and not verified for the functionality for the corner cases.
For the people who accept this point, I agree to use them for personal use only including design change.
You can see the outline of the Squirrel-II by attached PDF file which is including overall descriptions of the system and detailed design information. Schematics in the PDF are the layer structure from top to bottom for each macro. Source files are available in the attached zip file.
If you have any questions, please let me know.
My email address is on the top page of PDF file.
Current system overview (still on the way to undefined goal)
CPU Core x4 (Quad Core)
16 bit, instruction set compatible with COMET-II (*)
Clock frequency: 33.75 MHz
CPI (Clocks Per Instruction): 4
MIPS: 8.44
Floating Point Unit x2 (complaint with IEEE745 32bit single precision)
IRQ & Hardware Timer x4
Display Adapter (640x480 pixel resolution, Character mode & Graphics mode)
IBM PS/2 Keyboard interface
(*)COMET-II: Code name for a 16bit CPU actually not exist, simple Instruction Set and Commands for the Assembler were defined for National Examination for IT Engineers in Japan.
Following files are attached in this page.
Detailed circuit drawings, VHDL and Source code of Assembler are in the attached PDF file.
Attached zip file contains all of the design data handled in the Xilinx ISE webpack. So you can see, simulate, modify and implement the design to FPGA.
Since there are some specific directory references, zip file should be extracted to d:\xilinx-design\, otherwise you will have file not found type errors in the simulation.
cas file is the source code of the assembler sample code for your reference. This is a text file.
mp4 file is the short video from the sample program
For the usage of ISE, there are very nice tutorials and documents in the Xilinx web site.
(Last update: 2024, May 24)