Это видео недоступно.
Сожалеем об этом.
Pineapple: 32-bit RISC-V CPU that you can make at home
HTML-код
- Опубликовано: 17 авг 2024
- Pineapple is a homemade 32-bit RISC-V CPU, that I was working on for the past 2 years. It runs at 500 kHz, has 512 kB RAM & program memory. VGA output is black and white picture with the resolution of 200x150 px. I would love to turn it into an open source DIY kit, what do you think? Join our Discord server and share your thoughts!
IEEE Spectrum article:
spectrum.ieee....
For more info:
pineapple-one....
Join our Discord:
/ discord
Follow me on Twitter:
/ ten_filip
My Hackaday article:
hackaday.io/pr...
GitHub repository:
github.com/pin...
Robert Baruch's channel:
/ robertbaruch
(This video is not sponsored by JLCPCB. I paid for everything and had a great customer service, so I have no problem sharing my experience)
Wow! Creating your own pc, using popular architecture and even setting up VGA output - you rock!!
Hi Filip, this looks so awesome. Congrats on your fantastic build. I know from experience that it must have been quite a rabbit hole... gonna look into RISC-V now ;-)
Thank you! It really was, but I think It was totally worth it!
cool to see you here slu4, i love your serial 8b cpu project a lot, the software you made for it is also really really good! especially the os
@@ithaca2076 Thanks :-)
@@filipszkandera8267
You make my day my friend 👍🏻
So this os is made from zero ❤
Man this is one the most fascinating projects I’ve ever seen! 😍😍
I don't understand most of it but I am loving this DIY build. This is what I want in the future to build what we want, how we want
Thank you!
This is very cool. I've been getting interested in the idea of modern retro computing - taking a step back to simpler hardware to explore new ideas but with all of the learnings of modern technology. This totally fits that niche.
I think it would be awesome to write an interpreter for something simple like FORTH or Lisp or BASIC and also get some sort of storage working - maybe as simple as a floppy or audio I/O (tape style), or you could try to get USB Mass Storage going
Thank you, it sure will be! We will see what the next version will be capable of
Inspirational! I read your IEEE article and your first paragraph hits the mark for me.
I don’t know how this video showed up at my feed but i loved it. Even though CPUs are not my main interest I realy enjoyed watching it.
I'm glad you enjoyed it! :-)
Hi Filip, excellent work and dedication. I like the practical choices you've made with the stack design and rj45 ports. Codasip will snap you up if they have any decent talent acquisition.
wow this is amazing! Im beyond blown away!
It is nice to see system like your. Many years ago I made many PCB but always I was used typical CPU or MCU but I was never try to build CPU from scratch - your system show me that Someone can do it without huge amount of many. Congratulations
Very cool Filip! Your project demonstrates the advantages of RISC-V very nicely. Time to get a C compiler working!
Thank you! C compiler is already working for the most part and we've made a crude c++ emulator for the upcoming upgraded version!
It was nice to meet you at the Maker Faire in Ostrava!!!
I'm blown away by this. So cool. Well done, sir!
Wow! What a awesome project! I'm currently studying basic computer organization now in college and hope i can have the capability to do these kind of project.
Did you do this?
Congrats on almost 1K! I am amazed at what you accomplished! I am a beginner in electronics and will definitely try to make my own small-scale DIY CPU!
Thank you very much! I hope I'll see a video of yours CPU someday ;)
Very nicely done! People often proffer FPGAs a wonder solution, but they have tons of problems of their own. So it's always nice to see micros, bit slice MSI, and yes discrete logic family projects like this.
Good job getting all the blocks to stack like that!
Thanks! I spent hours brainstorming and trying to find the most optimal layout, changing the order several times. I had to insure that I would have enough space to route it all and arrange all the BUS lanes in the mot optimal way possible.
only one video on your channel? yes I want to see more!
This is fantastic! I hope you continue, you have amazing potential.
Great work Filip!!!
Hey fillip this was amazing, really looking forward to any follow-up videos :)
Great job... I wrote my own CNC Software, that took me 9 months! I understand what you just did, and am very excited for your work. A cost analysis for the project would be good info. Thanks!!
Excellent job and excellent video. This would an excellent series for everyone who wants to build one.
Well done! It is quite amazing!
Please make this a kit! I'd love to make one of these, possibly expand it some too. Maybe it could even run Doom with some more work ;D
New and improved version is in the works right now ^^ It will be much more powerful, so who knows, maybe it will ;)
@@filipszkandera8267 can't wait!
So many people attempted this publicly on RUclips and failed. Bravo.
Great job here, lot of work that runs very fine, awesome.
Well, the Honeywell 1648 I started on in 1977 had 32k of ferrite core and clocked at around 1MhZ with an 8 bit IO bus and ran dozens of simultaneous users in time sharing mode.
Congrats for your job!!! Keep it up!
The case reminds me of the 2013 mac pro. Awesome project
Yeeaaaah it was totally not inspired by it 😅
Hey Filip, this is an incredible piece of work. Would love to see more videos on the different modules and their design. Puts my own risc-v iss and fpga softcore projects to shame.
Thank you very much, there sure will be more videos coming!
HUGE, AMAZING JOB!
This is EXACTLY what i was looking for to study more about the Risc-V architecture.
Do you've made videos about how you build it? The ALU, CU, counters, registers... I would be very excited to study about how you made it happen.
By the way, which is the program you are using to design and simulate the circuit?
Best regards!
Very impressive. Could you go into detail as to the function of each module.
Thats a great ided for the next video!
Damnnn Filip!.. I lurk around all the best science and engineering channels. I've been blessed by this video pooping up on my feed.. Turns out after reading your IEEE document. I'm more into CPU's then I thought I was. I was always more fascinated by the fabrication of the chip and transistors, but, as you mentioned. Like most, I didn't have a clue what was happened between the transistors and software. You may have just cost me some money and time to explore this area. I'm joining your discord. See you there.
That's great. You should create a series of videos that how you made the cpu. Someone like me really interested to follow your steps.
Can do!
Please I can't wait
It's great someone have completed Robert's idea into full functioning device. :) Good job!
This is phenomenal, I'm a cloud native engineer - so way on the other end of the spectrum tech wise, but I've always had a keen interest in hardware.
Do you have any recommended reading materials for a beginner?
Would love to build a homebrew CPU one day :)
Thank you!
I've learned most of the RISC-V stuff from a book called "computer organization and design, RISC-V edition" and I think there is explained every detail very well.
I hope that the next version, that I would love to turn into a kit will fulfill your desire ;))
Thanks so much! I'll add it to the reading list. A kit would be super cool, I wish you the best of luck, and I'd be one of the first customers!
Honestly, the official RISC-V spec are highly readable and a good thing to get into. They're in the technical section of riscv.org: riscv.org/technical/specifications/
The unprivileged spec is for basic assembly language, and what you use to write programs. The privileged spec is for operating system developers, and is primarily interesting if you want to do memory protection (which probably isn't part of this CPU). Don't worry about the debug and trace specs when you are just getting into it.
I expect these are as good as they are because they were written by academics building a teaching tool.
@@filipszkandera8267 please make a kit
@@KasaiLifeTV I'm actively working on it! For more details about the current state check out our discord ;)
Wow! Pretty impressive Pal!! I was planning to do something like that but with punched cards and magnets!
Goodness! That is seriously old school! That’s probably the first time since the 1970s that a discreet component CPU has been constructed. I’m quite impressed! The fact that it runs a modern 32-bit ISA? I’m flabbergasted!
Thank you very much! And stay tuned, because there is another one coming ;)
@@filipszkandera8267 Sounds exciting! And slightly masochistic to be honest? Even though I love taking an HL like VHDL or Verilog down to the gate level to understand things, I don’t think anyone creates designs anymore that aren’t snapping together larger chunks of logic. I think it would be incredibly interesting if you talked about your design methods. I assume you have some sort of high level description written down that you use to guide the construction of the parts? (Or maybe you don’t. 😅) Either way, viewers would likely be fascinated by how you got from nothing to RISC-V computer.
@@thewiirocks Hmm, maybe I will, thank you for the idea :)
This is the most impressive discrete CPU i've seen.
Amazing work! Hope to see more video of you in the future.
I'm not being at all patronising when I say well done! That is an achievement to be proud of.
Great work, great video.
I love logisim, did my fist cpu designs in that, too.
ooh my that's astonishing! Can you do following video by explaining the workflow, hurdle, and tricks of building that thing?
it would be amazing! Perhaps a colab with ben eater too!
Thanks! I sure can, but I need to find a way how to make an interesting video about it ;)
This is really impressive!!
That is very impressive, great job!!!
Impressive work.
Awesome project !! Very nice
amazing work!
Man this is so impressive, Congratulations. Maybe with further developments and community contribution, I would like to see Linux running on it one day.
Thank you! I really hope so, next version will hopefully be a big step forward in performance, about ~2 to 16 times (depending on instruction, but on average I would say about maybe 3x) faster then this one on the same frequency (which will hopefully too go higher).
@@filipszkandera8267 That's awesome, I'm looking forward to it. Wishing you and the project the very best.
Wow, really impressive project!
You are a genius sir. Congratulation on your success
This are the dreams that become big companies.
really cool project...well done. way to goooo!!!
Good job dude, this is very cool.
Nice build, great work!
You have earned my subscribe.
Dude that’s amazing
I'm not surprised about the cost of those IDT chips. I have a pair of IDT7007S55J chips and they were very hard to come by and rather expensive.
Yep, that is exactly why I'm getting rid of them in the next version!
Awesome work!
Commenting for the algorithm. Awesome work!
Very impressive work!!
They are the best for small robots control where heat is bottle neck.
I would love to build one for the learning experience. I would love to thoroughly understand how computers work. My goal in life is just to know how to create a computer out of anything.
Great job!
That's an impressive build.
Awesome build! Nice job!
Thanks!
Awesome. Keep going
great work!
Yeah If you don't implement HW decoder of a standard instruction set, you have to mess with compilers. But If you want standard compiler for your custom architecture, just write LLVM backend and you can compile pretty much anything.
You look like Sauron from the new TLoR series. Both in looks and skills.
Awesome project!
Wow! That’s impressive!
fantastic!
I wonder if the speed is limited by the discrete chips or was it a actual design goal for that speed? Awesome project regardless.
Thank you! These chips should be fine even at 25 MHz most of the time, but if you daisy-chain several of these together the propagation time will increase and that will decrease your max. frequency. But I'm also convinced that some of my "blocks" are more vulnerable to higher freq. because of "not the best design decisions" on my side.
@@filipszkandera8267 looking forward to seeing more videos of your progress and for other projects and I will let others know too
Filip, if I can tell right, you are using Logisim Evolution? If so, how did you get those RAM modules, are they custom? I gave up trying to model a processor in Logisim after seeing that that the memory units are not byte-addressible but it looks like they are in your version of Logisim.
Hi, not really sure to what exactly are you referring to, but they are not custom. I used the Logisim Evolution HC edition, which is linked in the video description so that may help.
Amazing!
It's a macrocontroller! I think because this has on board memory and stuff, this is actually a full computer, not just a CPU. Whatever it technically is, it's definitely amazing. I am curious though, why so many smaller boards?
Thank you, yes it is definitely a macrocontroller and maybe a very simple computer :)) As these boards were my very first I've ever designed for a professional manufacturing, I wasn't sure If I can get them right for the first time. And after the prototype was finished I just had to modify some boards to allow stacking, which was easier than a complete redesign.
@@filipszkandera8267 wrong naming 😀 It maybe minicontroller, controller, kilocontroller, megacontroller or gigacontroller 😄
I personaly stand with gigacontroller 😄
Are you living in Poland ?
@@AK-vx4dy :DD no, I'm not from Poland
@@filipszkandera8267 You have quite polish surname and name maybe other slavic country
@@AK-vx4dy Yeah, the surname comes from Polish for sure :))
niceeee, amflearning by doing, youuuu are awesome....
Really cool
Id buy the kit. Pretty cool
That's cute and awesome together.
Please let us see an update to this masterpiece! Btw, why not trying to run Linux there or at least get the kernel to work at some extent?
could you start a series for beginners on RISC V ?
Well, maybe. But I'm not really sure what topics to cover that would be interesting, yet.
Truly amazing
0:50 "achieve much more with much less components"
1:20 "made of over 230 integrated circuits on 9 boards"
...
thats much less
By definition ICs (Integrated Circuits) are not discrete. Nevertheless you had fun building it. :)
Oh, maybe I misread it somewhere...
Could it boot Linux, even if it would take 10000000 years would it theoretically work?
Mmmmmaybe? It would need to be a super light version and modified, but theoretically yes
I like how the title is "that you can make at home". I can assure you there are very few people on the planet that could make it, even with unlimited resources haha
well done, and congratulations by the way!
Thank you! Maybe the kit would help? ;))
@@filipszkandera8267 i think its the deep level of understanding computer science that im missing!
@@kayboku7281 Maybe a kit with a documentation would help? :)))
This is very amazing👍 video
Post more please
I'll sure do. I was thinking about mostly documenting my progress on the next generation, but if you have some ideas, maybe even with this version, please let me know
wow! would like to know how to do it myself (:
Sorry, I didn't understand what purpose of all this? Could you tell about possible use cases? Trading, neural networks, something else?
Very cool
Wow impressive.. does it have only those 47 RISC instructions or anything more?
Thank you! I think there are only 32 instructions to be exact (full RV32I)
Hi Filip, what a great project!! are you still working on it, i would like to build your CPU?
Jawdropping! What is the difference between your Shell program for this CPU and actual simple Operating System?
Thank you very much! My shell program is more of a program - it executes some predefined commands if some criterias are met. You can compare it to some very early computers that only had command line interface for example. I'm not an expert in operating systems, but there will be some kernel and other stuff running, and your program will run way above this in another ring. I really want to expand the idea of my shell program (or maybe a veeeeery simple os?) in my next CPU revision, that would be hopefully more powerful to handle it.
I've asked a large amoutns of creators this now, but here is the question. I have been getting really into homebrew CPUs, and want to design and build one completely from scratch. What resources would you recommend to learn these things?
Ben Eater's series is a great place to start!
@@filipszkandera8267 I've built his design out, but I haven't learned too much, it taught me the basics of CPU architecture and what not. However, my goal is by the end of my summer break to have the knowledge and ability to build out a 32 or even 64 bit cpu/computer from scratch.
@@zachgolle1802 Then check out Robert Baruch's LMARV project :)
@@filipszkandera8267 It seems really interesting, now that I’m no summer break i’m gonna go through that series.
@zachgolle1802
Maybe have a watch for Kevin's 8bit pipelined CPU for a design that incorporates a lot of higher level more modern cpu design choices, though using 8 bits for chip count reasons, you could easily up the register count, instruction width, and such.
Can it run the operating system known as xv6? I'd look into it edit: Po Polsku: xv6 to wersja dawnego Unixa z lat 70-tych który wspiera RISC-V I jest napisany w nowoczesnym kodzie C, uruchomienie jego z działającym ekranem i klawiaturą było by fajne
Lovely ❤️❤️❤️🙏