记得《佟林传》里,佟林练的基本功是“绕大树、解皮绳”,然后才练成了什么“鬼影随行、柳叶绵丝掌”。 在我看来,成为一名说得过去的FPGA设计者,需要练好5项基本功:仿真、综合、时序分析、调试、验证。 需要强调的一点是,以上基本功是针对FPGA设计者来说的,不是针对IC设计者的。对于IC设计,我不懂,所以不敢妄言. 对于FPGA设计者来说,练好这5项基本功,与用好相应的EDA工具是同一过程,对应关系如下:

  1. 仿真:Modelsim, Quartus II(Simulator Tool)
  2. 综合:Quartus II (Compiler Tool, RTL Viewer, Technology Map Viewer, Chip Planner)
  3. 时序:Quartus II (TimeQues t Timing Analyzer, Technology Map Viewer, Chip Planner)
  4. 调试:Quartus II (SignalTap II Logic Analyzer, Virtual JTAG, Assignment Editor)
  5. 验证:Modelsim, Quartus II(Test Bench Template Writer) 掌握HDL语言虽然不是FPGA设计的全部,但是HDL语言对FPGA设计的影响贯穿于整个 
    FPGA设计流程中,与FPGA设计的5项基本功是相辅相成的。 对于FPGA设计者来说,用好“HDL语言的可综合子集”可以完成FPGA设计50%的工作——设计编码。

练好仿真、综合、时序分析这3项基本功,对于学习“HDL语言的可综合子集”有如下帮助:

  1. 通过仿真,可以观察HDL语言在FPGA中的逻辑行为。
  2. 通过综合,可以观察HDL语言在FPGA中的物理实现形式。
  3. 通过时序分析,可以分析HDL语言在FPGA中的物理实现特性。

对于FPGA设计者来说,用好“HDL语言的验证子集”,可以完成FPGA设计另外50%的工作——调试验证。

  1. 搭建验证环境,通过仿真的手段可以检验FPGA设计的正确性。
  2. 全面的仿真验证可以减少FPGA硬件调试的工作量。
  3. 把硬件调试与仿真验证方法结合起来,用调试解决仿真未验证的问题,用仿真保证已经解决的问题不在调试中再现,可以建立一个回归验证流程,有助于FPGA设计项目的维护。 FPGA设计者的这5项基本功不是孤立的,必须结合使用,才能完成一个完整的FPGA设计流程。反过来说,通过完成一个完整的设计流程,才能最有效地练习这5项基本功。对这5项基本功有了初步认识,就可以逐个深入学习一些,然后把学到的知识再次用于完整的设计流程。如此反复,就可以逐步提高设计水平。采用这样的循序渐进、螺旋式上升的方法,只要通过培训入了门,就可以自学自练,自我提高。 市面上出售的有关FPGA设计的书籍为了保证结构的完整性,对FPGA设计的每一个方面分开介绍,每一方面虽然深入,但是由于缺少其他相关方面的支持,读者很难付诸实践,只有通读完全书才能对FPGA设计获得一个整体的认识。这样的书籍,作为工程培训指导书不行,可以作为某一个方面进阶的参考书。如何使用现有的书籍进行自学,这是后话。 对于新入职的员工来说,他们往往对FPGA的整体设计流程有了初步认识,5项基本功的某几个方面可能很扎实。但是由于某个或某几个方面能力的欠缺,限制了他们独自完成整个设计流程的能力。入职培训的目的就是帮助他们掌握整体设计流程,培养自我获取信息的能力,通过几个设计流程来回的训练,形成自我促进、自我发展的良性循环。在这一过程中,随着对工作涉及的知识的广度和深度的认识逐步清晰,新员工的自信心也会逐步增强,对个人的发展方向也会逐步明确,才能积极主动地参与到工程项目中来。

转载于:https://blog.51cto.com/14355585/2403821

FPGA设计者的5项基本功相关推荐

  1. 做好FPGA设计的五项基本功 (Z)

    成为一名说得过去的FPGA设计者,需要练好5项基本功:仿真.综合.时序分析.调试.验证. 需要强调的一点是,以上基本功是针对FPGA设计者来说的,不是针对IC设计者的.对于IC设计,我不懂,所以不敢妄 ...

  2. 个人品牌的三项基本功

    个人品牌的三项基本功 副标题: 作者:谢付亮 文章来源:本站原创 点击数: <script src="http://www.zhpp.org.cn/school/GetHits.asp ...

  3. 从一个面试题看程序员的几项基本功

    点击上方蓝字设为星标 下面开始今天的学习- 前言 一个优秀的程序员具备挺多特质的,比如好奇心,学习能力等,但在我看来一个优秀的程序员必须具备几项核心能力,哪几项,先卖个关子,程序员最喜欢说的话是「Ta ...

  4. python打印表格_使用 Python 打印漂亮的表格,这两项基本功你可会?

    今天给大家介绍如何在打印字符串时,规则对齐的两种方法,帮助大家在 shell 界面下输出漂亮的表格. 第一种:使用 format 先来看几个小 demo 左对齐 >>>"{ ...

  5. vhdl语言入门_从当初汇编、C语言入手,到如今FPGA开发已然十年,总结出“三多”!...

    从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...

  6. 关于fpga的语言逻辑异步电路同步时序电路终于读懂了

    原文链接: http://m.elecfans.com/article/575270.html 从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢 ...

  7. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  8. 特权同学的FPGA/CPLD设计学习笔记

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  9. FPGA之FIFO详解,初识FIFO

    FIFO IP介绍        在篇博客里引入FIFO IP核的概念,FIFO是FPGA中最常用的IP核,经常用在接口模块.串并转换.协议处理.数据缓存等很多场合,所以活学活用这个IP核对于后期项目 ...

最新文章

  1. tomcat 如何实现共享jar
  2. javascript TODO
  3. hough变换连接边缘matlab,边缘检测与Hough变换实验报告 Matlab - 图文
  4. php是根据html中的值查询数据条件_FleaPHP框架数据库查询条件($conditions)写法总结...
  5. Eclipse反编译jad插件安装
  6. kaggle项目:基于随机森林模型的心脏病人预测分类
  7. 啊哈c语言114页习题:设计一个小人,让它从右边向左边奔跑
  8. vue关闭浏览器退出登录
  9. 社交巨人屏蔽Google搜索 Facebook发展强劲拟上市
  10. 皮皮虾技术三面,我的面试经验与总结分享
  11. 尚德机构季报图解:净利1.79亿 实现连续四个季度盈利
  12. git学习之时光穿梭机
  13. iOS指纹识别(解锁)
  14. 安卓手机如何把PDF文件转换为JPG图片
  15. linux启动zabbix服务,zabbix监控Linux系统服务的流程
  16. 【火星备份软件】多样化备份方式
  17. 现代硬件技术的发展与未来趋势
  18. 高端优雅简历模板打包下载(附找工作指南)
  19. 手机版本高于Xcode版本的时候,怎么不更新Xcode继续在手机上运行
  20. 卡巴斯基:高达98%的WannaCry 受害者运行的是 Windows 7系统

热门文章

  1. python中的items方法_Python 字典的items()方法和iteritems()方法有什么不同?【面试题详解】...
  2. linux c显示日期,Linux C判断日期格式是否合法
  3. mysql 卸载批处理_MYSQL 注册启动 及 停用卸载 批处理脚本 (补)
  4. react和vue配置本地代理
  5. SpringMVC的工作流程
  6. 应用程序 /dev/rtc 编程 获取时间 2011-12-13 01:01:06【转】
  7. Yii 2.0: yii2-highcharts-widget创建饼状图
  8. css3高级和低级样式属性先后顺序
  9. Microsoft SQL Server 2005 Service Pack 2 已经可以下载
  10. Docker Swarm建立服务器集群