▲ 点击上方蓝字关注我们,不错过任何一篇干货文章!
我现在最庆幸的事情就是从进入职场到现在一直是FPGA开发,我感觉,做FPGA开发这行经验是很重要的,入门简单,想提升会越来越难。做FPGA开发不只是会写写verilog和VHDL代码这么简单,我记得刚学习verilog的时候,光是要搞明白哪些语句可以综合,哪些语句不可以综合,就花费了很长时间。硬件开发语言是要映射成数字逻辑电路的,随着做FPGA的时间长了,写代码的时候脑子里都是0/1的翻转,会逐渐映射出一个个与非门、触发器、存储器,以及他们之间的连线,并且时时刻刻考虑怎样设计才能保证面积最小或者延迟最低。功能做对了还要考虑时序的优化,就算你功能设计的再完美,代码写的再简洁,设计的时候没有考虑时序,一切都是花架子、空摆设。
一个成熟的FPGA不仅是熟悉FPGA就好,最基本的接口协议就能罗列一大堆,够你啃很久了,不懂接口协议FPGA就是孤家寡人,没有数据的交互,什么都干不了。如果要用FPGA做算法,还需要学习更高级的语言做仿真和验证,更重要的是要把算法映射到FPGA的硬件资源或者外设,并基于速度、面积和功能做平衡,做优化。还是挺有挑战呢。
FPGA入门之道
FPGA设计者需修炼的5项基本功
1. 仿真:Modelsim, Quartus II(Simulator Tool) riple
2. 综合:Quartus II (Compiler Tool, RTL Viewer, Technology Map Viewer, Chip Planner)
3. 时序:Quartus II (TimeQuest 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)
1. 通过仿真,可以观察HDL语言在FPGA中的逻辑行为。
2. 通过综合,可以观察HDL语言在FPGA中的物理实现形式。
3. 通过时序分析,可以分析HDL语言在FPGA中的物理实现特性。
1. 搭建验证环境,通过仿真的手段可以检验FPGA设计的正确性。
2. 全面的仿真验证可以减少FPGA硬件调试的工作量。
3. 把硬件调试与仿真验证方法结合起来,用调试解决仿真未验证的问题,用仿真保证已经解决的问题不在调试中再现,可以建立一个回归验证流程,有助于FPGA设计项目的维护。
初学者常见的一些问题
欢迎将我们设为“星标”,这样才能第一时间收到推送消息。
免费领取Autosar入门与实践资料包!
扫码添加小助手回复“进群”
和电子工程师们面对面交流经验