Introduction to Logic Circuits & Logic Design with VHDL by Brock J LaMeres
He was my instructor in college and the text itself is extremely helpful for all things FPGA.
71–80 of 84 posts
Introduction to Logic Circuits & Logic Design with VHDL by Brock J LaMeres
He was my instructor in college and the text itself is extremely helpful for all things FPGA.
Earlier quoted context omitted.
There is no programming in FPGA at all. You describe your hardware using hardware description languages like VHDL or Verilog.
Then no programming exists at all. When writing a C code you are describing a program that runs on the C abstract machine. The same thing holds for all "programming" languages.
Earlier quoted context omitted.
Then no programming exists at all. When writing a C code you are describing a program that runs on the C abstract machine. The same thing holds for all "programming" languages.
Sorry, I am not ready for philosophical discussion. We can take definition from Wikipedia: https://en.m.wikipedia.org/wiki/Computer_programming Programming involves code execution on computer. There is no computer in FPGA.
Earlier quoted context omitted.
Sorry, I am not ready for philosophical discussion. We can take definition from Wikipedia: https://en.m.wikipedia.org/wiki/Computer_programming Programming involves code execution on computer. There is no computer in FPGA.
Then why did you start the discussion? An FPGA is a computer just as well as any CPU.
Edit: the people here are decent enough to start a discussion.
Earlier quoted context omitted.
Then why did you start the discussion? An FPGA is a computer just as well as any CPU.
Technically FPGA is a piece of memory. The functionality of the FPGA device depends how the bits in this memory are set. Size of this memory is constant This information is not public, brave hackers are working hard to reverse engineer this. You can make a CPU in FPGA, no way for the opposite performance wise. Complex simulation with couple 4k resolution pictures takes days. Edit: the people here are decent enough to…
> An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program. [1]
It fits an FPGA perfectly.
I recently got a TinyFPGA-BX, and have been slowly working through the tutorials. The amusing thing is that, for the actual applications I'm working on, a contemporary microcontroller can actually keep up just fine, and is easier for me to comprehend. Still, one of these days, a use will for an FPGA will crop up for which I'll be glad that I learned.
Interfacing with arbitrary hardware, for example random LCD devices with sometimes proprietary on the wire protocols. (Don't have a graphics chip for that screen? Make yourself a graphics chip for that screen!) Or Digital Signal Processing.
If you're building a device that's going to be mass-produced and sold, then the situation is different and using FPGAs can make sense, because you'll amortize the engineering cost for the digital logic across all the units you sell. It can be worth it if it lets you use a cheaper processor or microcontroller.
Earlier quoted context omitted.
Technically FPGA is a piece of memory. The functionality of the FPGA device depends how the bits in this memory are set. Size of this memory is constant This information is not public, brave hackers are working hard to reverse engineer this. You can make a CPU in FPGA, no way for the opposite performance wise. Complex simulation with couple 4k resolution pictures takes days. Edit: the people here are decent enough to…
Yes an FPGA is a different computer then a CPU. It's still a computer though. This is the definition of a computer: > An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program. [1] It fits an FPGA perfectly. [1] https://www.lexico.com/en/definition/computer
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 vi…
Earlier quoted context omitted.
Yes an FPGA is a different computer then a CPU. It's still a computer though. This is the definition of a computer: > An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program. [1] It fits an FPGA perfectly. [1] https://www.lexico.com/en/definition/computer
There is a term “variable program” in your link. When you add peripherals to the chip on the printed circuit board it looses flexibility very fast. The whole system is made to very specific task. But yes, you convinced me that FPGA might be treated as a computer in an extreme case.
I recently got a TinyFPGA-BX, and have been slowly working through the tutorials. The amusing thing is that, for the actual applications I'm working on, a contemporary microcontroller can actually keep up just fine, and is easier for me to comprehend. Still, one of these days, a use will for an FPGA will crop up for which I'll be glad that I learned.
I picked up a TinyFPGA BX to make a VU-meter with strips of neopixels for a Halloween project (keystep+volca keytar with lots of reactive lights). You can do this with microcontrollers but I wanted to stretch myself and see if I could get a crazy-responsive 7-band meter working. I'm like 95% of the way there after several months learning verilog, testbenches, how a few modules off github work, the I2C protocol, and h…
You might find this video helpful: https://www.youtube.com/watch?v=us2F8wAncw8
I think his design is very interesting, showing how to mix custom peripherals with picosoc so you can get very good response but also be able to program in C.