# Designing my own CPU [...] Me being me, I started making my own RISC-V CPU implementation in a program called Logisim-Evolution. Again I set my goal not use ANY microcontrollers or FPGAs in my build - just basic discrete logic components. So, what exactly am I going to build? I needed to NOT set too a high goal for myself, so I would be able to finish this project in *relatively* short time (Is 2yrs short enough? :-) ). The most basic RISC-V CPU, that is supported by compilers, must include the extension "I" (Integer) and it must be at least 32 bit. So now I had all the information I'm going to need, so it was time to start building. Oh, and did I mentioned that I was going to put a VGA output card on as well? [...] # Prototype I knew that this project would be large and I would almost certainly make some mistakes (we are talking about 230+ ICs), so I've decided to start with a prototype, where I have access to all signals and can easily debug the whole thing - I'm not (yet) an electrical engineer and I'm only 19, so this seemed to be a good idea (and it really was). [...] When I was ready to put it all together, I've spaced out my modules onto a piece of wood and secured them with a 3D printed spacers. I then uploaded a test program and begun testing. This is where the fun begins. [...] It is no surprise, that It din't work on a first try, even though I've tested every single PCB individually. It took a loooot of work, until I found all the little things that were wrong. For example, there was a timing problem, which was very hard to find. # Input/Output My CPU has a two 8-bit input and two 8-bit output ports, that you can access on the front panel via RJ50 connector. [...] VGA output resolution is 200x150 pixels, black and white (I've tried to add colors, but I would need to use larger V-RAMs which are significantly expensive). [...] I've also created some I/O modules for demonstration (They all have RJ50 connector at the end). PS/2 decoder has a store-bought decoder - I was short on time to develop my own # Final version Getting the prototype to work wasn't easy (like - at all), but after about 5 months of work I managed to to that. I then redesigned all my PCBs to repair my mistakes and to make them stackable in a tower-like structure, so every module can be connected only via pinheaders. This wasn't that hard compared to what I've already done. This redesign took about three months and then I've ordered my final PCBs. I've design an enclosure and printed it on a Prusa i3 3D printer. [...] # Programming Finally, after hundreds of hours of designing, soldering and debugging, I could finally see the light at the end of a tunel. Jan Vykydal helped me with setting up a compiler to work properly, so I could write my programs in C [...] # Conclusion I am VERY happy to see it finally running, it wasn't easy, but I made it. There are many things that could be improved, but we'll see. Continua con tanto di dettagli, schemi e foto su https://hackaday.io/project/178826-pineapple-one/details ____ On Fri, 30 Apr 2021 09:49:57 +0200 Antonio Iacono wrote:
Caro Giacomo, la battaglia per la semplicità la stiamo perdendo, perché la semplicità porta alla trasparenza e la trasparenza all'onestà (e non intendo solo l'onestà intellettuale).
Caro Antonio, in guerra la vittoria più grande e definitiva consiste nel convincere il nemico che non avrebbe mai potuto vincere. Soprattutto se PUO' vincere. La battaglia per la semplicità è appena cominciata. E mai in passato ho visto tanta consapevolezza a riguardo. Tanta consapevolezza della sua fondamentale importanza POLITICA. Possiamo vincere. Basta davvero quasi solo provarci. On Thu, 29 Apr 2021 10:22:41 +0200 Giovanni Biscuolo wrote:
Io SO che NESSUNO sulla faccia della terra, nemmeno il più geniale dei programmatori, è in grado di scriversi (e correggersi) da solo il software che usa
Io invece SO che questo ragazzo, a 19 anni e sulla faccia della terra, ha costruito tutto l'hardware su cui gira il proprio software. Ci ha messo circa 2 anni (del proprio tempo libero, ovviamente). L'ho già scritto che ha 19 anni? Beh, comunque ha 19 anni! :-D Sarà pure più brillante e motivato della media, ma ciò che lui ha fatto può farlo qualsiasi adolescente, se solo la scuola fosse in grado di insegnargli come. E potrebbe metterci molto di meno, se disponesse di materiali, guide ed istruzioni più strutturate. E di solide basi informatiche. Per la verità, Filip Szkandera ha dimostrato molto di più della fattibilità di una CPU RISC-V a 32 bit in casa. Perché la sua è una CPU didattica, ma se è possibile costruire una CPU così in casa a 19 anni, significa che è possibile costruire CPU assemblabili molto più potenti in una fabbrica europea. Giacomo