I started down this path a few months ago. Here's a few links I've collected that have been useful - https://nandgame.com/ - https://www.asic-world.com/verilog/verilog_one_day.html - https://hdlbits.01xz.net/wiki/Problem_sets - https://edaplayground.com/home
I bought a cheap Sipeed Tang Nano 9K FPGA Development Board (Gowin GW1NR-9 RISC-V HDMI) for $24 last year via Amazon. I ended up using Yosys[1] as a toolchain for programing, instead of the one from the manufacturer, code/program it. I had a lot of fun.
> I met a trader who suggested I get my code running on FPGA hardware. He didn't know how exactly to get started. Did he say why? It's hard to see what the motive for this is.
He said because it allows for parallel processing, faster execution for realtime processing.
I suppose if you are literally only bound by processor speed it might help. But bringing it all together into a working system will take some effort. Had you considered offloading to GPUs instead?
> I met a trader who suggested I get my code running on FPGA hardware. He didn't know how exactly to get started. Did he say why? It's hard to see what the motive for this is.
FPGAs are widely used in low latency trading. Most market data feed handlers and order passing adapters are done in FPGAs today - they offer better latency than software solutions and processing time is deterministic.
Since using an FPGA requires designing hardware at the logic gate level, the realistic answer is to get a computer engineering degree or the equivalent self-study. The HDLs (Hardware Description Language) used to specify these circuits may superficially resemble a programming language but they really, really aren't. You can get a rough idea of what you're getting into by going through the NAND2Tetris self-learning co…
Thanks. The idea of another degree could be interesting.
If you go this route, major in electrical engineering, not computer engineering. you will get more out of it
> I met a trader who suggested I get my code running on FPGA hardware. He didn't know how exactly to get started. Did he say why? It's hard to see what the motive for this is.
He said because it allows for parallel processing, faster execution for realtime processing.
What would you plug this FPGA into? Where will you trade? How much more will you make thanks to the FPGA's lower latency?
I worked for a company that made dedicated FPGA based hardware for
high frequency trading by deep-pocketed customers. You can certainly
implement trading strategies running directly on the board with crazy
fast turnaround times, but if a retail trader could benefit from them
we all would have quit our jobs and become independent high frequency
traders. Interestingly, at that point the Linux network stack becomes
a bottleneck so you'll want to go for a proprietary alternative whose
name I don't remember any more (not cheap), which I imagine might also
apply to a Mac, but that's neither here nor there unless you have a
server in close physical proximity to the exchange. Meta-advice: If
you want to learn about FPGAs as a matter of interest, more power to
you. Otherwise, skip the bikeshedding and learn enough about financial
markets to find a niche where you might have an edge.