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

More
31 Jul 2024 11:18 #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!
The following user(s) said Thank You: meister

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 11:26 #306495 by Mecanix
First contrib; Feel free to replicate/publish/flame/others. Great liltle working-but-simple fpga dev board.
Schematic attached. 

Attachments:
The following user(s) said Thank You: meister, Bongo

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 11:33 #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 or Create an account to join the conversation.

More
31 Jul 2024 11:39 #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...
The following user(s) said Thank You: tommylight, meister

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 11:48 #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 :)
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

 

File Attachment:

File Name: config-mec...json.txt
File Size:3 KB

 
Attachments:
The following user(s) said Thank You: tommylight, Mecanix

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 13:38 #306521 by meister
I'm sorry, I was a bit bored :)

 

riocore/configs/MecanixDev/config-test.json
riocore/boards/MecanixDev/board.json
Attachments:
The following user(s) said Thank You: tommylight, Mecanix

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 15:26 - 31 Jul 2024 15:30 #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!!
Last edit: 31 Jul 2024 15:30 by Mecanix.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 16:37 #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).
The following user(s) said Thank You: Mecanix

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 17:18 #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. 

The following user(s) said Thank You: meister

Please Log in or Create an account to join the conversation.

More
31 Jul 2024 17:41 #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 or Create an account to join the conversation.

Time to create page: 0.183 seconds
Powered by Kunena Forum