home.social

#femtorv — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #femtorv, aggregated by home.social.

fetched live
  1. One of them was done by @rebelmike and is a SoC based off @BrunoLevy01 's #FemtoRV . This runs nicely (up to 80 MHz even if STA says 50 😅 ) and I was able to get a hello world and a minimal port of #micropython on it .

    Another is the @splinedrive KianV uLinux SoC that's on several other TT chips and was quickly adapted by Uri Shaked and myself to the register file.

    I however screwed up when doing that ...

  2. This chip is special,
    (tinytapeout.com/chips/ttsky25b/)

    - it has designs made by hobbyists
    - and, more importantly, it has two designs in it !!
    - these two FemtoRV designs were authored by others

    What is FemtoRV ? It is a super simple RiscV processor that we designed with @Mecrisp because we were boring during COVID...),
    More information here:
    github.com/BrunoLevy/learn-fpg

    I am super excited, can't wait to see whether these 200 lines of VERILOG can be turned into a real Risc-V CPU on a chip !

  3. I was considering tinkering with to make it run on the device, but it seems that others already did it, it is part of the Apicula examples, here:
    github.com/YosysHQ/apicula/blo
    I'll try that tomorrow (let us call it a day for now)

  4. The traditional blinky was easy, let us see whether flies...

  5. I am happy to announce the release of a longwave software defined radio which I designed at work for experiments with #DSP algorithms, running on the #ULX3S #FPGA board. The user interface is based on #Mecrisp #Forth running on the #FemtoRV, and the signal chain contains a pipelined FFT designed by Dan Gisselquist. Many thanks to Ulixxe for their USB-CDC implementation!

    github.com/mb-sat/ulx3s-longwa
    codeberg.org/Mecrisp/ulx3s-lon

  6. @WillFlux has a gracilis version (RV32IMC with interupts). I think that adding support for debugging will be quite easy (but I did not try)

  7. @alios Mit dem Gedanken habe ich auch schon einige Male gespielt... Ein möglicher Ansatz wäre: Du schnappst Dir den #FemtoRV Quark und modifizierst ihn so, dass der Programmzähler, wenn die Adresse in einem besonderen IO-Bereich liegt, nicht weiterzählt, und beim Reset mit dem Lesen einer Instruktion von einer solchen speziellen IO-Adresse beginnt.

  8. I am looking for a #riscv #FPGA soft core which uses large muliplexers to do ALU math in a single clock cycle. It is for the #gatemate FPGA. GateMate has large 8 input multiplexers which only need two layers to choose between 32 registers.

    There are so many RISC-V soft cores it is hard to know which one to choose. On smaller FPGAs, some soft cores like the #FemtoRV store the registers in memory, so first they have to load 2 registers.

    github.com/PythonLinks/awesome

    github.com/PythonLinks/awesome

  9. Found an excellent walkthrough video youtube.com/watch?v=8boamDdvD8 for the #FemtoRV-Quark github.com/BrunoLevy/learn-fpg code! @BrunoLevy01 and me did our very best to make the Verilog source of our #RISCV RV32I processor core readable, and this video explains all the tricks involved in a very nice style with drawings.

  10. The space mission MAIUS-2 I wrote firmware for since 2019 launched in November 2023, and I am now open for new paid projects! My favourites are #Assembler, #Forth and #Verilog on #FPGA. I am the author of #Mecrisp, a family of optimising Forth compilers (Mecrisp-Ice went to space!), did processor design with @BrunoLevy01 (#FemtoRV Gracilis) and I love #sizecoding challenges (Byte-Athlon Champion in #Lovebyte 2023). Formally, I am Dr. rer. nat. in biophysics with experience in laser spectroscopy.

  11. I heard it said that cats have several lifes (maybe even more than that if it is Schroedinger's cat), but did you know that it is also the case of ?
    A project that fits four femtorv's on a Zinq and run four games of life with them:
    hackaday.io/project/191082-mul

  12. OMG, it is possible to run RUST programs on !
    Just found @antvangelder''s repo here:
    github.com/antoinevg/hello-ama

  13. Working on a more elementary , with a 4-bits ALU (a-la QERV). Goal is to minimize LUT count, minimize number of lines of Verilog and have high maxfreq. Performance will be low (but I do not care !). For now, trying different designs on paper.

  14. The #FemtoRV Quark, a small #RISCV RV32I core developed by @BrunoLevy01 and me has been implemented in silicon by a team from Brazil:
    github.com/FelipeFFerreira/ITA

    Very happy about that!

    See the original processor source here:

    github.com/BrunoLevy/learn-fpg

  15. On the left: floorplan of -quark on the (85Kluts variant). On the right, floorplan of "Tordboyau", pipelined with branch prediction. The right one is nearly 5 times faster than the left one, because
    (but eats-up a larger portion of the ECP5).
    Regarding source-code, the left one weights 200 lines (github.com/BrunoLevy/learn-fpg) and the right one around 800 lines (github.com/BrunoLevy/TordBoyau)

  16. Fantastic version of the well-known "donut" demo,
    Andy Sloane came out with a super-fast integer-only version (using the CORDIC algorithm):
    gist.github.com/a1k0n/8ea6516b
    You can do raytracing with adds and shifts ! (mul is not even needed)
    Playing with it a little bit (my version with double-vertical resolution RGB rendering in the terminal)
    It is a good test for @risc_v softcores, pipelined beam surfers and ! (cc @sylefeb )

  17. Sharing this I saw on twitter by BrunoLevy01:

    ——

    The simple #femtorv-quark takes no more than 200 lines of VERILOG. Yes, it is the complete description of a risc-v processor, that can run C programs compiled with gcc-riscv

  18. @MichaelJBrodeur I have played with both Ice40, ECP5 and Xilinx-based boards, all of them work, and you'll be able to run Episode 1 on everything. Now for Episode 2 (pipeline) the smallest Ice40 FPGAs will be too small.
    For episode 1, if you can do a blinky, you can do (except if you are smaller than an Ice40 Hx1K)

  19. learn-fpga, the tutorial to create @risc_v
    cores such as on is approaching 2K stars on github !
    github.com/BrunoLevy/learn-fpga

  20. packing for hollidays, a couple of FPGAs just in case. what fmax can -tordboyau reach on the , on the OrangeCrab and on the IceBreaker ? We shall see !

  21. Tomorrow, @risc_v
    meeting at Inria Paris. I will be talking about the learn-fpga project (github.com/BrunoLevy/learn-fpga). Everyone can design his own RISC-V softcore on a FPGA, it is easy ! (no more than 200 lines of VERILOG for )

  22. softcore on , using the LiteX system: design your own processor, plug-in SDRAM, framebuffer, SDCard, write some programs.
    github.com/BrunoLevy/learn-fpg

  23. 43/N
    If you installed Yosys/NextPNR, generated a bitstream, made the little LEDs blink, then you are not that far away from a fully functional microprocessor. Am I joking ? Let me show you: this image is the complete VERILOG for (200 lines).

  24. Could be a great starting point for writing episodes 3 (Zicsr) and episode 4 (virtual memory) for a full gentle continuous path from blinker to Unix-capable CPU.
    Episodes 1 (minimalistic CPU) and 2 (pipelining) are here:
    github.com/BrunoLevy/learn-fpg
    Help needed !

  25. Amazing project by Michael Schröder: minimalistic Unix-like system on a minimalistic processor, in the spirit of (but with interrupts and virtual memory !)
    gitlab.com/x653/xv6-riscv-fpga
    ... and last but not least, it comes with a 3D-printable case with NeXT vibes, love it !

  26. Gave a course at TelecomNancy on and with @sylefeb. Here computes the first decimals of Pi using Fabrice Bellard's program.

  27. For more fun, you can add a $2 led matrix + MAX7219, and generate additional hardware to drive it. Then your processor can say hello to you !