当前位置: 代码迷 >> 综合 >> 【学习方法】FPGA开发
  详细解决方案

【学习方法】FPGA开发

热度:47   发布时间:2024-01-10 21:04:00.0
《Verilog数字系统设计教程(第二版)》  夏宇闻 
《深入浅出玩转FPGA(内附光盘一张)》 吴厚航  这本书有视频教程
《Altera FPGA/CPLD设计(基础篇)(第2版)》
《Altera FPGA/CPLD设计(高级篇)(第2版)》选择ALTERA的器件可以看一下这两本
《设计与验证Verilog HDL》 吴继华,王诚   这书不错,看电子版就好了
《高级FPGA设计结构、实现也优化》(美)克里兹 著,孟宪元 译   这本我还没看  呵呵

入门:
1、掌握数字电路
2、了解模拟电路
3、掌握C或C++编程
4、掌握Verilog HDL语言或者是VHDL语言
5、或用一些工具软件

 
 
零基础是吧!
首先看数字电路,了解什么是与或非,各种触发器,各种逻辑门,注意!了解即可,但是是怎么工作的一定要透彻透彻透彻透彻!(FPGA用的是HDL也就是硬件描述语言,程序是用来描述你的逻辑门的,数电是根基!)书的话我看的是电子技术基础(数字部分)康华光的 这本书还附带verilog语言的入门哦!再看FPGA设计与应用类的书,详细了解FPGA这个器件,它为什么而生,为什么流行,特点,缺点。这个要是有英文功底,直接奔官网看英文。像ALTERA,XILINX,这两家的网站都是巨NB的。没功底,看 FPGA设计与应用 西安电子科技大学出版社的 讲的很细。可以当手册来查,这么久了还一直在我抽屉里没丢呢。再次看VHDL,或verilog语言的书。
这里有分歧,前者语法严格,适合做大系统,入门困难,但学会了对硬件的结构会有更深的理解。
后者根据C语言改编,如果你有C语言基础,学这个容易上手,缺点是系统级别描述不行,沿袭了C语言的灵活,也带来了语法上的不严格,但是其作用面广,新手推荐,底层描述做的很好。
这里我常用的VHDL,只能推荐VHDL的 硬件描述语言VHDL教程 西安交通大学出版社 姜雪松
如果学verilog,最好先看看C语言的书,基础要打牢,不然代码上了规模,你就悲剧了。回头看很吃力!再看HDL设计软件的使用书 我用的是QUARTUS II软件,貌似最流行的就是款软件了,这样的书,当做一个手册就行了,主要是介绍如何使用软件,告诉你怎么建工程,怎么输入程序,画原理图,编译纠错,时序仿真,都在这里了,软件用的好,比用的差的相隔很大哦!不会的时候狂翻书。
这里就随便买本什么书就OK了,上网搜FPGA系统设计与实例,大把的。如果你想速成,那就上网看视频吧,这样主要是面对应用的,一个小时内让你的板子运行起来。早期起来的快,活学活用,就是后期没有系统理论支持,会有些吃力,特别是大项目那完全是个悲剧。国内做的可以的,我知道的就是周立功了,艾米电子也可以吧。这两家都有学习板,不过后者的教程抄袭的前者的。前者功底深厚些,资金不紧张就买前者吧。速成的话,数电书一定一定必备,边看边学比较好。其余的书可以适量买点。

 
 
1. 学习内容上,主要从以下几个方面来学:
(1)数字电路:数字电路是FPGA设计的灵魂!
(2)语言:Verilog HDL、VHDL..Verilog HDL语言推荐北航夏宇闻老师《verilog数字系统设计教程》(我用的是Verilog,VHDL不妄加推荐)。
(3)器件:Xilinx、Altera...一堆的器件手册,  要求扎实的英文阅读功夫。入门的话,选定一个基础资源少一些、功能简单一些的器件先建立FPGA的概念。如果Xilinx的话,推荐Spartan-3系列器件;如果Altera的话推荐Cyclone系列的器件。
(4)编译环境:ISE(Xilinx)、Quartus II(Altera)..推荐两套书吧:如果是ISE,推荐EDA 先锋工作室编著的《FPGA\CPLD设计工具:Xilinx ISE使用详解》,如果是Altera,还是推荐EDA 先锋工作室编著的《Altera FPGA/CPLD设计(基础篇)》和《Altera FPGA/CPLD设计(高级篇)》两册。
(5)仿真环境:modelsim第三方仿真工具,学习这个不必刻意买书,网上百度简单的教程,跑一个例子就知道怎么用了。
(6)综合环境:synplify第三方综合工具,同上。
2. 学习方法上,以实践动手为主,多上论坛,多上网查资料,重视设计思想和方法,少直接向别人要代码。能有一个开发板最好,或者参与到实验室的项目中去,会学的很快。FPGA开始学的时候,有种错觉:以为很简单,很像C程序(Verilog)。这也是很多论坛上常见的对FPGA一知半解的人对新手的误导!注意:FPGA开发是数字电路设计!电路设计!坚持下去,FPGA很有前景,祝你成功!

  相关解决方案