Isle FPGA Computer: creating a simple, open, modern computer(projectf.io)
projectf.io
Isle FPGA Computer: creating a simple, open, modern computer
https://projectf.io/isle/fpga-computer.html
13 コメント
I think the point of this project hinges on putting the CPU arch down to the FPGA - buying prebaked silicon in the form of an off the shelf risc-v CPU defeats most of the purpose.
The purpose being everything can be built from the bottom up and at no point is any part of it out of the scope of inspection. You never actually know what is spun into a that PIC64GX1000 because you didn't place and route and oversee the fab yourself.
Just because an ISA is 'open' like risc-v does not mean you know how it was implemented on-die.
Having all the verilog and using Yosys+nextpnr to generate the layout for the FPGA is (about) as close to knowing the provenance of the whole stack as you can ever get.
The purpose being everything can be built from the bottom up and at no point is any part of it out of the scope of inspection. You never actually know what is spun into a that PIC64GX1000 because you didn't place and route and oversee the fab yourself.
Just because an ISA is 'open' like risc-v does not mean you know how it was implemented on-die.
Having all the verilog and using Yosys+nextpnr to generate the layout for the FPGA is (about) as close to knowing the provenance of the whole stack as you can ever get.
Please note that RISC-V and RISC5 are different projects:
https://riscv.org
https://riskfive.com
Despite the name of the second site, the actual processor is called RISC5 (see the menu on the left) and is part of the Oberon project by Niklaus Wirth.
https://riscv.org
https://riskfive.com
Despite the name of the second site, the actual processor is called RISC5 (see the menu on the left) and is part of the Oberon project by Niklaus Wirth.
Though DVI/HDMI monitors are supposed to handle 640x480, over half of the ones I have tested don't display anything. Every single one of them worked just fine at 1280x768, however, so I am changing my projects to use that.
I'm surprised by this. 1280x768 is an unusual resolution, what display timings are you using?
I've found 1024x768 and 1280x720 are both well supported. I tend to use these display timings: https://projectf.io/posts/video-timings-vga-720p-1080p/
I've found 1024x768 and 1280x720 are both well supported. I tend to use these display timings: https://projectf.io/posts/video-timings-vga-720p-1080p/
Thanks for the link. I meant to write 1280x720@60Hz for 16:9 HDMI TVs/monitors but have used 1024x768 quite a bit in the past for 4:3 VGA monitors and ended up mixing the two.
VIDEO_ID_CODE 4 (1280x720) works on all monitors I tested while 1 (640x480) only displays on half of them:
https://github.com/nand2mario/nestang/blob/master/src/hdmi2/...
VIDEO_ID_CODE 4 (1280x720) works on all monitors I tested while 1 (640x480) only displays on half of them:
https://github.com/nand2mario/nestang/blob/master/src/hdmi2/...
Hello, I'm the author of the Project F blog. I'd be happy to field any questions you have.
This is an exciting project. Have you thought about the software and OS yet?
Thanks. I want to keep the software simple while having proper support for the graphics and audio hardware. I already have some prototype software written is RISC-V asm. I’ll probably use lua as the first high-level language, as it has a small code base and runs well on memory-constrained systems.
I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.
I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.
This makes sense. I’ve thought about a similar project and come to the same conclusions.
I need 10 bits per word. (mebye 2 for error correct)
It is cheap also, with the F133*, priced at approximately $1.00 to $1.50 per unit in bulk
If looking more for US stuff (fabbed in South Korea), PIC64GX1000 can be as little as $21 but much more capable.