On Mar 29, 12:48 am, sky46
...@trline4.org wrote:
> Tony Burch <t
...@burched.com.au> wrote:
> >Hi guys,
> >This is one just for FPGA newbies, and possibly also a place where you can
> >point people when they ask you what an FPGA is...
> I find it hard to elegantly explain sometime what an fpga is for people used
> to program sequential machines in sequential languages. And for everyone else
> what's is good for. They easily get caught in the "how do I get my sequential
> programs on it".
> The common answer is that it's a matrix of logic gates that can act as any
> other kind of chip at will, be it cpu, hdd controller, translator interface,
> dsp, etc.. I just don't think that answer really has a punch line though.
For those who understand hardware, I say that a CPLD or FPGA is like a
board full of chips of flip flops and gates. This mind set keeps me
from the newbie mistake of "how do I wait for xx ns?" (no one-
shots!). A simple view of a HARDWARE description Language (VHDL or
Verilog) is that it is used to describe how those gates and flops are
connected (wired). If the FPGA is "large enough" one can make almost
anything, even a microprocessor. I have done both simple hardware
design using 74LS chips in the past (but now I prefer CPLDs), and I do
software programming in embedded systems, too. I understand how
peripheral chips work, but I suspect that many programmers don't
understand hardware. When I started VHDL programming, I did have to
remind myself that I was designing hardware, even though I was writing
code that kinda looked like Pascal or Ada.
-Dave Pollum