See https://seladb.github.io/StarTrack-js/#/preload?r=stnolting,neorv32. It's supported and ready to use on very low cost boards (such as Fomu, TinyFPGA or UPduino) and also on higher performance Digilent/Xilinx or Altera boards. The author is very friendly and responsive. Documentation is lovely.Hi Steinþór,NEORV32 is a very interesting CPU. There is great momentum behind it, since it was recently mentioned in hackaday, adafruit, hackernews, etc.Unfortunately, there seems to be a personal conflict. Unai is a co-maintainer and Juanma is a contributor. They are some of the users banned from FPGAwars (both GitHub and the forum) by Juan, in an attempt to remove any content or reference related to them (including deleting dozens of helpful messages in this group).When user qpeters proposed to have NEORV32 available in Icestudio (https://github.com/FPGAwars/icestudio/issues/516) some weeks ago, as soon as Juan got up and saw it, he closed the issue and banned the user. Just a few hours after the issue was created, with no interaction/communication. Surprisingly, three days later some reason motivated him to go back and add a message and label. As you can see, the public excuse is that there is no Icestudio version of the project.
On the one hand, that is obvious. None of the other CPUs was written in Icestudio, but Juan himself adapted them from the HDL sources of the original authors. Therefore, closing the issue and marking it as invalid is a blunt statement. He will not do it, and he doesn't want other users to be aware of it.
On the other hand, while your comment about VHDL is partially correct, Juan and Carlos will not admit that VHDL cannot be used on Icestudio. They will try to claim that it is an enhancement for future versions (https://github.com/FPGAwars/icestudio/issues/382) but try to implicitly move users to Verilog (https://github.com/FPGAwars/icestudio/issues/467). In fact, since GHDL allows converting VHDL to Verilog, and because GHDL and Yosys support mixed language synthesis, there is no reason not to support VHDL in Icestudio. Unfortunately, they are unlikely to try it themselvs nor let others contribute. The modus operandi for closing https://github.com/FPGAwars/icestudio/issues/382 (banning the user who opened it, removing messages, and hours/days later providing a poor excuse) is similar to how he proceeded with https://github.com/FPGAwars/icestudio/issues/516. By the way, the Linux-capable microwatt (https://github.com/antonblanchard/microwatt) mentioned is also a very interesting soft-core based on the OpenPOWER architecture.Anyway, if you want to use/test NEORV32 or microwatt on your open source FPGA development boards, I recommend to ask in the repo (maybe open a discussion?). Yesterday a user asked about Alhambra II and ULX3S: https://github.com/stnolting/neorv32/issues/135. In the Fomu workshop you'll find VexRiscv examples (which was also mentioned in this group). Any of those can be currently used in Icestudio with some minimal pre-processing of the sources.Regards
Hi Steinþór,I've seen much activity around RP2040. Lots of makers and hobbyists seem to be so excited about it. However, I must say I don't really understand what's so different about it compared to Arduino or other uC boards. It's the Raspberry Pi user base which had not used Arduino before now jumping into uC?I recommend the Arty A7 board or some of the variants with a Zynq SoC instead of an FPGA. Those are in the $100-$250 range, depending on the features you want on the board. As we discussed in previous dialogues, mostly which peripherals/ports you want. My motivation for recommending the Arty A7 is that's one of the targets of projects SymbiFlow (https://symbiflow.github.io/), Verilog-to-Routing (https://verilogtorouting.org/), nextpnr-xilinx (https://github.com/gatecat/nextpnr-xilinx), etc. Therefore, you can use Yosys and open source tooling, similarly to the ICE40 and ECP5 families.There is an interesting list of boards in https://hdl.github.io/awesome/boards/. Apart from reference PCI boards from Xilinx (far above $1000), note the following:
- Arty A7-35T
- Arty S7-50
- Litefury
- Mercury A7-35T
- Mercury A7-100T
- Nexys 4
- Nexys 4 DDR
- PicoEVB (super fancy for having an internal FPGA on laptops)
- ZedBoardThe PYNQ platform is also very interesting. It's not completely open source, but it provides a Python/Jupyter based environment for using accelerators on FPGA. See http://www.pynq.io/board.html:- PYNQ-Z1- PYNQ-Z2- Ultra96V2Trenz Electronic's site is also worth a visit: https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/. Apart from distributing Digilent/Xilinx's boards in Europe, they have some hobbyist/maker designs:
- https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/TE07XX-Artix-7/
- https://shop.trenz-electronic.de/en/Products/Trenz-Electronic/Open-Hardware/The ArduZynq boards are really nice (60-100€). It's and Arduino Shield compatible form factor (same as the Alhambra) including a a Linux capable (single or dual core) 667MHz ARM Cortex-A9, 512 MB of DDR3L and the Programmable Region (what we call FPGA). Since it's Linux capable, it is technically possible to synthesize the designs in that ARM core and have it reconfigure the FPGA on the fly. That is, execute Yosys, nextpnr, etc. on the same device where the FPGA is physically located, instead of requiring a desktop/laptop for generating the bitstream. It might be possible to execute Icestudio ""on the FPGA"" :D (some of those boards do have HDMI output, and you can plug keyboard and mice). Of course, for your use case you want to do it on your workstation :PApart from the 7 Series (Artix, Kintex, Virtex) and Zynq, there is also de UltraScale+ and MPSoC series of Xilinx devices. However, from a practical point of view, those do not offer any benefit. They are expensive because they are high-performance (quad-core of more recent ARM cores, smaller fabrication technology, etc.). However, from a didactic point of view, the architecture and the features are the same you will find on a Zynq.Overall, it's up to how much you want to increase the complexity. If you just want a more modern and larger FPGA from one of the main vendors, Artix is perfect. If you want to step into modern SoCs, Zynq is my suggestion. From a price point of view, they are in the same range, and the FPGA fabric in the Zynq is exactly the same as the one in the Artix.Best regardsPS: Unfortunately, SymbiFlow is another "forbidden" word in FPGAwars. Although this information was provided several times, issues are closed and messages are deleted. Fortunately, the SymbiFlow community is welcoming, so you can ask in their chat rooms.2021/08/05, Steinþór:
See youBy the way, thanks for the reference and clarification about the PIO feature in the RP2040. Maybe that can be proposed to the NEORV32 author! https://github.com/stnolting/neorv32/discussions/9Let us know whenever you have a better look.Steinþór, you are welcome. It's always a pleasure to help others ;-)I agree with your concerns about having fixed peripherals or "generic" pin headers.