原创 关于FPGA设计者(转载)

2009-11-23 16:47 2041 4 5 分类: FPGA/CPLD

    在我看来,成为一名说得过去的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项基本功的某几个方面可能很扎实。但是由于某个或某几个方面能力的欠缺,限制了他们独自完成整个设计流程的能力。


转载自


liu098765's Blog


PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2009-11-24 09:04

NOW I KNOW WHY I SHOULD PROTECT MY OWN COPYRIGHT!
相关推荐阅读
用户1267625 2011-04-06 11:02
BMP格式图像文件详析
工具软件:工具软件:Hex Workshop 或 UltraEdit 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图...
用户1267625 2010-11-23 10:58
MATLAB实用短程序积累
我不是很坚持写日志的人,偶尔上来逛一逛写一写,这个帖子留着添加一些小程序的。1.如何用MATLAB得到FIR滤波器的窗函数实现系数,例子是实现带通滤波器N=30;   %阶数FS=20*10^6;  ...
用户1267625 2010-04-28 16:24
高手经验:我的FPGA学习历程
高手经验:我的FPGA学习历程(注意:是别人写的,不是我写的)回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一...
用户1267625 2009-12-24 10:46
顶层文件调用子文件的例子
LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY test IS  port (  clk :  IN  STD_LOGIC;...
用户1267625 2009-12-03 11:11
Verilog简要知识
一个模块的基本语法如下: module module_name (port_list);Declarations:reg, wire, parameter, input, output, inout,...
EE直播间
更多
我要评论
1
4
关闭 站长推荐上一条 /3 下一条