FPGA学习步骤,我的体会
FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影。从简单的逻辑组合,到高端的图像、通信协议处理,从单片逻辑到复杂的ASIC原型验证,从小家电到航天器,都可以看到FPGA应用,它的优点在这里无庸赘述。从个人实用角度看,对于学生,掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用fgpa可以让设计变得非常有灵活性。掌握了fpga的设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来就非常亲切。但fpga的入门却有一定难度,因为它不像软件设计,只要有一台计算机,几乎就可以完成所有的设计。fpga的设计与硬件直接相关,需要实实在在的调试仪器,譬如示波器等。这些硬件设备一般比较昂贵,这就造成一定的入门门槛,新人在入门时遇到一点问题或者困难,由于没有调试设备,无法定位问题,最后可能就会放弃。其实这时如果有人稍微指点一下,这个门槛很容易就过去。
          我用FPGA做设计很多年了,远达不到精通的境界,只是熟悉使用,在这里把我对fpga的学习步骤理解写出来,仅是作为一个参考,不对的地方,欢迎大家讨论和指正。
     1、工欲善其事,必先利其器。
     计算机必不可少。目前FPGA应用较多的是Altera和xilinx这两个公司,可以选择安装quartusII或者ISE软件。这是必备的软件环境。
     硬件环境还需要下载器、目标板。虽然有人说没有下载器和目标板也可学习fpga,但那总是纸上谈兵。这就像谈女朋友, 总是嘴上说说,通个电话,连个手都没牵,能说人家是你朋友?虽说搭建硬件环境需要花费,但想想,硬件环境至多几百元钱, 你要真的掌握FPGA的设计,起薪比别人都不止高出这么多。这点花费算什么?
     
     2、熟悉verilog语言或者vhdl语言 ,熟练使用quartusII或者ISE软件。
     VHDL和verilog各有优点,选择一个,建议选择verilog。熟练使用设计软件,知道怎样编译、仿真、下载等过程。
     起步阶段不希望报一些培训班,除非你有钱,或者运气好,碰到一个水平高、又想把自己的经验和别人共享的培训老师, 不然的话,培训完后总会感觉自己是一个冤大头。入门阶段可以在利用网络资源完成。
     
     3、设计一个小代码,下载到目标板看看结果
     此时可以设计一个最简答的程序,譬如点灯。如果灯在闪烁了,表示基本入门了。如果此时能够下载到fpga外挂的flash,fpga程序能够从flash启动,表明fpga的最简单设计你已经成功,可以到下一步。
     
     4、设计稍微复杂的代码,下载到目标板看看结果。
     
     可以设计一个UART程序,网上有参考,你要懂RS232协议和fpga内置的逻辑分析仪。网上下载一个串口调试助手,调试一番,如果通信成功了,  恭喜,水平有提高。进入下一步。
     
     5、设计复杂的代码,下载到目标板看看结果。
     譬如sdram的程序,网上也有参考,这个设计难度有点大。可用串口来调试sdram,把串口的数据存储到sdram,然后读回,如果成功,那你就比较熟悉fpga的设计饿了
     
     6、设计高速接口,譬如ddr2或者高速串行接口
      这要对fpga的物理特性非常了解,而且要懂得是时序约束等设计方法,要看大量的原厂文档,这部分成功了,那就对fpga的物理接口掌握很深,你就是设计高手了
      
     7、设计一个复杂的协议
        譬如USB、PCIexpress、图像编解码等,锻炼对系统的整体把握和逻辑划分。完成这些,你就是一个一流的高手、
        
     8、学习再学习
        学习什么,我也不知道,我只知道“学无止境,山外有山”。
        
上述只是一些简单的学习步骤,希望能对大家有所帮助!

FPGA学习步骤,我的体会相关推荐

  1. [转载]FPGA学习步骤

    原文地址:FPGA学习步骤作者:激扬青春 觉得有些道理,就转过来了,希望对大家有帮助! FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影.从简单的逻辑组合,到高端的图像.通信协 ...

  2. FPGA学习步骤(打算以后也转FPGA了,毕竟工资比硬件工程师高)

    学习FPGA,在不同层次的人明显有不同的答案.先说一句,说不要开发版的都是菜鸟级选手. 我把FPGA层次划分为,鸡蛋级别,菜鸟级别,老鸟级别,高手级别四类.我是鸡蛋级别的!啥也不会. 1)熟悉语法,其 ...

  3. FPGA学习经验(BBS论坛)

    掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性.掌握了FPGA设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来 ...

  4. FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

    FPGA学习之路--原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异.原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作.而原码 ...

  5. FPGA学习---Modelsim自动仿真

    FPGA中的Modelsim自动仿真,就是在Quartus II 软件中调用Modelsim软件进行仿真.用流水灯的工程演示一下自动仿真步骤. 首先打开led工程. 编译工程 代码没有错误,下面就可以 ...

  6. FPGA学习笔记(七): DSB调制解调的仿真

    笔记七是DSB调制解调的仿真实现. DSB调制解调的实现原理:首先使用DDS产生低频正弦波信号作为调制信号,再用DDS产生高频信号作为载波信号,然后使用乘法器将两者相乘产生DSB信号,DSB信号与载波 ...

  7. 入行10年后,我总结了这份FPGA学习路线

    最近我收到很多同学的提问,让我介绍一下FPGA怎么学习.怎么进阶,有什么推荐的材料或者学习资源. 在给我留言和私信的朋友里,有在校的大学生,需要学FPGA做数电实验.参加竞赛.进实验室,或者只求水过这 ...

  8. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾

    FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一 FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇二 ...

  9. 转 fpga学习经验2

    FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影.从简单的逻辑组合,到高端的图像.通信协议处理,从单片逻辑到复杂的ASIC原型验证,从小家电到航天器,都可以看到FPGA应用,它 ...

最新文章

  1. 安装 Arduino IDE 中STM32 软件包,ESP8266软件包
  2. 数据中心变得更加灵活和可靠的五种方式
  3. 蓝桥杯java第六届决赛第四题--穿越雷区
  4. 使用PIE/PIF值判断DVD刻录机的刻录品质
  5. jQuery中的for循环var与let区别
  6. CC2530, 各种智能家居通信技术比较
  7. sed行文本处理工具
  8. jzoj3464-秀姿势【hash】
  9. 判断数组中某个元素除自身外是否和其他数据不同_18 张图带你彻底认识这些数据结构...
  10. POJ 1328 Radar Installation【贪心】
  11. dao.php,DAO.php · Dodd/Training Lab - Gitee.com
  12. 【Python学习笔记】Coursera之PY4E学习笔记——String
  13. python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...
  14. 对break和continue的一些个人认知(称不上见解)
  15. rhel linux 自动 fsck,red hat as 4 启动报错:checking filesystems fsck.ext3: bad magic number ......
  16. python3 shell,python3执行shell命令
  17. java初中级面试题(SSM+Mysql+微服务(SpringCloud+Dubbo)+消息队列(RocketMQ)+缓存(Redis+MongoDB)+设计模式+搜索引擎(ES)+JVM
  18. 车联网信息服务数据——采集合规性——行业标准解读
  19. RestTemplate源码剖析:Encode
  20. Vue keep-alive组件缓存 基础用法

热门文章

  1. 使用 Python 实现微信消息的一键已读
  2. Redis - 管理工具 redis-cli 详解
  3. 容器原理(搞懂 layerID,diffID,chainID,cache-id 是什么)
  4. 大华条码秤开发之-标签模板发送
  5. 关于Unity VideoPlayer组件 视频切换第一帧卡顿
  6. linux startx 鼠标指针,支持各主流浏览器使用的鼠标拖动和拖拽的鼠标指针特效...
  7. 01UEc++【打飞艇】
  8. 面向对象程序设计C++ 翁恺老师主讲 学习笔记
  9. 【IDEA 教程系列第 11 篇】idea 搜索当前文件中的指定内容
  10. swif tableview全选