bustedwing1 / polarfire-icicle

Polarfire SoC related projects and experiments
MIT License
1 stars 0 forks source link

Which toolchain? #1

Open oberstet opened 6 months ago

oberstet commented 6 months ago

Which toolchain do you plan do use?

FWIW, just from the sideline, a Rust-based bare-metal real-time example targeting the 1x 64-bit RV64IMAC monitor/boot core would rock!!

https://github.com/rust-embedded/riscv https://github.com/riscv-rust/riscv-rust-quickstart


now that I'm here just filing unsolicited topics from the sideline (pls forgive!), and as you seem to be just starting this repo, what are your goals anyways with it? I can see it is "MIT licensed", so you plan to do some OSS obviously ... fantastic!! very much appreciated. I guess I am coming to this FPGA-SoC Linux+RT world from quite far away .. for reasons .. but I am myself an OSS creator and contributor.

bustedwing1 commented 6 months ago

Hello Tobias, Very nice to meet you. I use the riscv-gnu-toolchain (https://github.com/riscv-collab/riscv-gnu-toolchain). I wasn't aware of the Rust Toolchain (https://github.com/riscv-rust/riscv-rust-toolchain). I have a few things on my plate, but I'll definitely give Rust a try.

For FPGA coding I use the Verilog and VHDL languages, and simulate mostly using iVerilog and GHDL (both are open source simulators). For synthesis I use open source Yosys (https://yosyshq.net/yosys/) when using Lattice FPGAs. For PolarFire I use Microchip's Libero.

I don't have any goals, I'm just playing around with software + fpga. My hope is to make a good set of examples that I can refer back to. Best Regards.

oberstet commented 6 months ago

Hello back, same here: very nice to meet! =) Thanks a lot for your comments and notes, I've heard / seen good things related to Yosys ... actually, looking a nMigen .. which now is https://github.com/amaranth-lang/amaranth. what attracted me there was "OSS" and "Python based" as I've got lots of Python know-how and experience.

I'll definitely give Rust a try.

for various reasons, IMO Rust is the way forward in embedded software, and also in other things close to system or real-time or security sensitive -- and cloud. I've done quite some C++ in the past, but I have been starting to get into Rust (fed up to hassles with C and such, and also security ..).

I don't have any goals, I'm just playing around with software + fpga

right, I see! sounds great, "experimenting", and publishing OSS.

if you like and are interested in a call (eg via Signal or Jitsi), I'd love to exchange views, perspectives or just talk! lemme know. fwiw, I have started to design "a device" .. a personal femto-cell .. and I am looking for collaborators. I've now got working antenna models (openEMS) and got my first PCB;) but as mentioned, I am actually a SW developer, and there are just too many "new worlds" for me personally for the whole device (RF .. as in antennas, was a hard trip to get into .. but it doesnt stop there .. RF PCB design for BGAs .. FPGAs .. simply too much)

bustedwing1 commented 6 months ago

Thanks for the reminder about nMigen. I played around with it a few years ago and it's worth trying again. But for most of my FPGA stuff I'll keep using Verilog or VHDL. In a similar vein, I want to get familiar with Rust, but there are just so many helpful examples in C that it's hard to break away from the old ways. Congrats on your first PCB, that's an exciting accomplishment that you should be proud of... I sure you used Kicad. I'm too busy with life stuff to help, but your project sounds very verrry cool.

oberstet commented 6 months ago

it's hard to break away from the old ways

long ago, Motorola had a flyer for the MC68000 titled "Break away from the past." - I have that one .. somewhere;)

accomplishment that you should be proud of...

thanks for your appreciation! I guess I should be. this is my very first PCB .. and it does look good .. I still have to assemble and put it through my VNA .. measure .. verify it agrees with my simulation model (https://www.linkedin.com/posts/oberstet_kicad-openems-librevna-activity-7174358704752836608-tQsr?utm_source=share&utm_medium=member_desktop)

and yeah, all KiCad! I have moved the mouse more than in my whole life before. I am used to live in my editor all day long and press RETURN from time to time.

at this point, I am confident I will get it working, the antenna, and also the RF frontend which is step 2.

however, at this point, I also learned enough to know that doing a PCB for the RF transceiver plus FPGA (both of which are 144-ball BGAs) is probably one stretch too much for a total newbie like me;) will see. I will maybe just try it. this would be fully hyperbole, but so what.

I'm too busy with life stuff to help, but your project sounds very verrry cool.

thanks! and yeah, I understand, got you.