这不是一个傻瓜式教程,不会有很多说明文字和插图,更不会有视频。其中的内容仅仅是点出关键点。
欢迎对帖子中的内容进行质疑。
什么是FPGA:
最简单的说法:一堆数字电路的元件(对于Altera FPGA是LEs,还有RAM块,DSP,IO,收发器,PLL等等)、连接线和切换器的组合
LE包含一个查找表和一个D触发器,当然还有必要的配置电路等等。这足以实现替代任何数字电路基本元件。
连接线和切换器可以把这些资源接在一起,线路也是可以设定的。
这就是它的NB之处,通过修改配置文件,可以改变内部电路,把自己变成CPU,DSP,视频加速器,神经网络。。。等等。
开发它要什么知识:
这个很难全面的说出来,模拟电路数字电路的基本知识要有,要学Verilog/VHDL,当然也可以和FPGA同时学。这个语言很简单,和C差不多,但语言简单不意味着用法简单。更不意味着功能弱。多在论坛逛逛可以增加了解,这一点很重要。技术的东西不怕不会,就怕不知道世界上有这回事。
硬件工具:
买个Altera FPGA的开发板不贵,板载的RAM不需要很多,NorFlash可以没有,因为FPGA可以从配置芯片读数据。所以一定要有串行配置芯片。其实对于初学来说EPCS4够了,反正以后花十几块钱就能换更大的。
推荐使用Altera的EP3C5E144主芯片的便宜开发板,一开始你做不了多复杂的东西的,这个规模的FPGA能放下带有常用功能的NIOS II,并且可以放进去相当数量的外设。
Altera的下载线不贵,几十块钱就是个成本价,叫做USB Blaster,支持AS下载和JTAG下载。
AS是下载到配置芯片,使板子上电能自己跑起来。
JTAG是调试接口,也可以把配置数据下载到FPGA,避免了对配置芯片的擦写,这样可以无限次下载,但复位以后数据就没了。
我自己是用Altera cyclone系列,芯片是EP1C12Q240,板子带EPCS4,NorFlash和SRAM。
本帖也只考虑Cyclone I,II,II系列的情况,如果你是用Xlinix的另外说。
(附件:102152)
软件工具
Quartus II,ModelSim,USB-blaster驱动(在 <quartus的安装目录>\drivers\ 下面)
可能需要NIOS II IDE(我还没开始弄)
200字以内,仅用于支线交流,主线讨论请采用回复功能。