Live data from Hacker News

FPGA Design for Software Engineers

walknsqualk.com

21–30 of 84 posts

Re: FPGA Design for Software Engineers

#21
For people who are curious about FPGAs looking to dip their toes in, I’d highly recommend taking a look at cocotb https://github.com/cocotb/cocotb

It’s kind of similar to verilator, in that it lets you write test benches for your designs in programming languages as opposed to HDL. Whereas verilator lets you write c++, cocotb is python based.

Both of these are probably best to take up after spending some time with an hdl, so you learn to think from a hardware perspective.

Also check out the zipcpu blog

Re: FPGA Design for Software Engineers

#22
post #7

Earlier quoted context omitted.

Good on you, every idiot can count to one. https://en.wikipedia.org/wiki/Bob_Widlar#Fairchild_Semicondu...

What?

Famous (in certain circles) quote attributed to Bob Widlar, a legendary analog designer who didn't think much of digital designers.

Re: FPGA Design for Software Engineers

#25
Ten years ago, in grad school, I co-wrote a video conferencing module in VHDL [0]. I haven't touched HDLs since but here's what I remember very clearly from that project:

* It took > 3 minutes to compile our code.

* DMA made a huge performance difference once we figured it out.

* Realizing that we had to be one with the clock tick took a lot of time. Understanding synchronous based programming (if that's the term) was a paradigm shift for my partner and I.

* The utter delight when we got frames streaming across the wire. The performance (though over a LAN) was silky smooth and you could tell immediately this was different than the run-of-the-mill x86 desktop program.

[0] - http://www1.cs.columbia.edu/~sedwards/classes/2009/4840/repo...

Re: FPGA Design for Software Engineers

#27

I'm surprised that no one has brought up the Lattice IceStick. It's an oversized USB stick with an ice40 FPGA on it and it's the cheapest option I've seen.

The IceStick is also nice and a bit cheaper at ~$25 but it has a smaller 1k logic element Ice40 FPGA on it whereas the TinyFPGA-BX has a larger 8k logic element FPGA.

Re: FPGA Design for Software Engineers

#28
The problem of FPGAs is their proprietary nature, and Verilog/VHDL are far from the best languages. Gladly there is a number of open-source projects aiming to close this gap - Yosys[1], SymbiFlow[2], Chisel3[3]/FIRRTL[4]. Some time ago I suggested[5] different open source projects should unite and reuse the common intermediate language, akin to LLVM in many software development and analysis tools. From my point of view, FIRRTL is the best designed one, there is a huge problem of being implemented in Scala though, especially for C/C++/etc written projects. Hopefully, there will be more collaboration one day. Either reimplementation from scratch, e.g. in Rust or C++, or using Scala Native.

[1] https://github.com/YosysHQ

[2] https://symbiflow.github.io/

[3] https://www.chisel-lang.org/

[4] https://www.chisel-lang.org/firrtl/

[5] https://github.com/SymbiFlow/ideas/issues/19

Post reply on HN