4 ms·
Did you know Verilog or VHDL beforehand? I'm super interested in doing sensor fusion (or even just basic sensoring like a UKF). But it seems so overwhelming (co
by syntaxing 8y ago
Did you know Verilog or VHDL beforehand? I'm super interested in doing sensor fusion (or even just basic sensoring like a UKF). But it seems so overwhelming (compared to a uC like Arduino or ESP8266), I don't even know where to start. Do you have any tips or tutorials that you recommend?
Thank you for the explanation for APIO! Do you use it often? Or are there alternatives that people use when they get to a certain level (Like Atom/VScode --> vim)?
- alexeldeib 8y agoI'm loosely in a similar boat. I learned a little Verilog and implemented a MIPS CPU with pipelining, and did some small scale stuff based on papers about systolic arrays for matrix multiplication (a la TPU). It feels to me like there is an enormous gap between the level of complexity in implementing a simple CPU like I did to something that would actually be useful to anyone, even something relatively small and basic. Things like integrating with other components or building up more complex designs feel outside my reach. The resources I find are generally targeted either towards a very basic level of how electronics work or a very specific level of a particular task with a device. This seems like a really interesting area, but difficult to get comfortable with.
- syntaxing 8y agoI totally agree. I followed a couple tutorials on how to make a LED blink but it doesn't really provide much substance. The other popular tutorial is a NTSC/PAL decoder that usually goes way over my head...I'm hoping with all these affordable FPGA, there will be boom like the early 2010s boom of Arduino!
- gh02t 8y agoI had some exposure to VHDL, but only from a workshop I attended and it wasn't really any more than you could get from watching YouTube tutorials. I prefer Verilog now anyway as it's way more concise. The best place to start is to just grab a book and an FPGA kit and go. You'll probably have to try a bunch of tutorials until you find one that clicks for you and after that it gets easier. For iCE40 you can also check out IceStudio, which is a graphical block based IDE that can be helpful for getting your feet wet. Get some hardware to give you feedback and play with, e.g. a 7-segment display and implement a driver yourself. Watch YouTube videos to get an idea of the general flow of things and eventually it'll make sense. IMO it helps a lot if you have a background in electronics, if not you're gonna be in pretty deep. I use apio because it's convenient. Hardcore FPGA devs are going to use the manufacturer's IDE. The official Lattice tools for the iCE40 are unbelievably awful and there's not much to gain from using their iCECube2 IDE versus open source ones, but in most cases you don't have any choice in the matter and have to use the manufacturers tools. This isn't so bad though, I've had some exposure to Xilinx's ISE and Vivado and they are pretty decent, plus Xilinx gives you access to a ton of free IP cores that you can drop into your design.
- syntaxing 8y agoIceStudio looks awesome and is exactly what I need! Thank you for the suggestions!
- gh02t 8y agoYeah, the only downside is that it doesn't support simulation yet, which is super important for doing anything non-trivial. I think just a few minutes of playing with it and looking at the examples (it has a bunch of really good ones) is enough to help make a lot of progress. That's how it was for me, anyway. It was the little nudge I needed to start understand what was going on.