LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

More
2 years 3 months ago #306493 by Mecanix
I don't know what to say, that was too kind Meister. Thank you so much for taking the time.

I'm working off a GW1N-LV9QN88 part (custom dev board). Schematic and pcb mostly inspired from the infamous TangNano9K and so I have a good feeling this won't be too difficult to port hardware-wise.

Let me set-up, clone, learn your work during the coming days. As soon as I have a successful IDE compile/project I'll share it with you to upload on your repo.

So excited about this already. Thank you again. I'll update progress!

Please Log in to join the conversation.

More
2 years 3 months ago #306495 by Mecanix
First contrib; Feel free to replicate/publish/flame/others. Great liltle working-but-simple fpga dev board.
Schematic attached. 

Please Log in to join the conversation.

More
2 years 3 months ago #306497 by meister
WOW   very nice !!!
I recently tried to build a board with an ICE40UP5K, but I'm somehow too stupid to get it to work :( The FPGA chips are just too small for me to solder them by hand.

It would be cool to have a complete rio board without having to use a plug-on devboard .

I just saw that you use Windows, rio unfortunately only runs under linux, vm is also ok, if it works in WSL I can't say unfortunately

 

Please Log in to join the conversation.

More
2 years 3 months ago #306500 by Mecanix
The EDA I'm forced to use at work is win11 based. I know I know...

However my entire dev environment aka compilers, IDEs, ect, are all Debian/linux based. No substitute ;)

If you aren't friend with fine pitch then avoid the LV9QN88 part. Not much better than the ICE40UP5K to say the least. I'm with you though, prefer their LQFP pinouts...

Please Log in to join the conversation.

More
2 years 3 months ago #306506 by meister
I built you a minimal config, could work like this, maybe I mixed up RX/TX, but it's a good start :)
Code:
odippel@odippel:/usr/src/riocore$ PYTHONPATH=. bin/rio-generator riocore/configs/TangNano9K/config-mecanix.json loading: riocore/configs/TangNano9K/config-mecanix.json loading board setup: TangNano9K writing gateware to: Output/Mecanix/Gateware !!! gateware changed: needs to be build and flash ||| loading toolchain gowin writing linuxcnc files to: Output/Mecanix/LinuxCNC odippel@odippel:/usr/src/riocore$ ls Output/Mecanix/Gateware/ blink.v      hash_new.txt  Makefile  pwmmod.v  rio.sdc  stepdir.v  uart_baud.v  uart_tx.v debouncer.v  impl          pins.cst  rio.gprj  rio.v    toggle.v   uart_rx.v    uart.v .... PYTHONPATH=. bin/rio-test riocore/configs/TangNano9K/config-mecanix.json /dev/ttyUSB0

 

Attachment not found


 

Please Log in to join the conversation.

More
2 years 2 months ago #306521 by meister
I'm sorry, I was a bit bored :)

 

Attachment not found



riocore/configs/MecanixDev/config-test.json
riocore/boards/MecanixDev/board.json

Please Log in to join the conversation.

More
2 years 2 months ago #306531 by Mecanix
O M G. Wait, are you showing us that all what's missing to RIO to be fully functional is a fpga dev board and the toolchain installed? As in "screw Gowin IDE'??? If that's the case then that's a pretty serious game changer.

I have so much to learn about your solution, obviously. Excitement is getting outta control!!

Please Log in to join the conversation.

More
2 years 2 months ago #306545 by meister
I just wanted to show that it is not that difficult to support new boards.
It is a bit more complicated to create the board with a picture and the correct pin positions for the setup tool, but this is only optional.

If the toolchain is already supported, it is quite easy,
copy a similar one and adjust the values (type/clock-speed and pin).

Please Log in to join the conversation.

More
2 years 2 months ago #306548 by Mecanix

copy a similar one and adjust the values (type/clock-speed and pin).
One word, Oliver; EPIC.

Let me learn what you've done for yourself and all of us first. This will require time on my side, but will be worth it I have a feeling - "it works" (see visual)!! I'll update on progress and hopefully can contribute what was done at my end. Interim, let me know if you need the sources/gerber/bom/anything for the dev board in use. Better yet, let me know what else could potentially go on it to make it a "RIO-BOARD" (RTL8111H?!) and I'll see what I can do. 

Please Log in to join the conversation.

More
2 years 2 months ago #306549 by Mecanix

I'm sorry, I was a bit bored :)
riocore/configs/MecanixDev/config-test.json
riocore/boards/MecanixDev/board.json
Stupid me... I could have cloned/checkout the 'dev' branch rather than main and use what you've done already.
Explains why I couldn't find it locally lol. Let's try that again. 

Please Log in to join the conversation.

Time to create page: 0.611 seconds
Powered by Kunena Forum