FPGA开发流程概述

电子说

1.3w人已加入

描述

FPGA开发流程概述

  开始学习FPGA,想尽快上手FPGA开发,那么先来了解一下FPGA的开发流程。

  FPGA开发

  1、需求分析到模块划分

  需求说明文档;器件选择(逻辑资源、功耗、IO数量、封装等等);配置电路考虑;开发工具选择;电路板的可拓展性考虑;在线调试和板级调试考虑;分模块设计。

  2、设计输入到综合优化

  设计输入:原理图、Verilog、VHDL

  综合:指的是将较高层次的电路描述转化成较为低层的电路描述。就是将设计代码转成底层的与门、非门、RAM、触发器等基本逻辑单元相互连接而成的网表,综合工具使用Synplicity的Synplify,也可使用器件厂商提供的开发工具进行实现(实现指的是:翻译、映射、布局布线)。

  代码设计完成后,最好先使用开发工具进行语法检测,之后进行功能仿真,此处仿真不涉及时序上的延时。仿真工具首推ModelTech公司的ModelSim,也可以用ISE的Quartus 2进行简单仿真。

  3、实现到时序收敛

  实现:

  翻译---将综合后的结果转化成所选器件的底层模块和硬件原语;

  映射---将翻译的结果映射到具体器件上;

  布局布线---根据用户的设计约束,进行布局布线,完成FPGA内部逻辑的连接;

  时序收敛:(设计关键,必须满足时序收敛)

  工具的最红布局布线满足设计者输入的时序约束要求。

  4、仿真到板级调试

  FPGA开发

  仿真和板级调试用于主要的验证。FPGA的板级调试一个很大的问题在于同步观察接口信号数量受限,很难观测内部信号节点的状态,假若纯板级调试,就消耗太大的人力物力了。

  FPGA仿真很重要,但是和其他软件开发中的仿真概念不大一样。时序电路,逻辑的每一步变化都是由时终沿来触发的,调试时控制时钟频率显然不能达到单步的效果。

  开发团队一般不会严格地执行所有的三次仿真,一般做行为仿真和时序仿真,当我们熟练的可以编写可综合的代码,我们只需要进行功能仿真,时序仿真也一般不做,我们会花时间去做深入细致的时序约束,通过时序报告分析解决时序问题。

  关于FPGA的调试有很多种方法,借助示波器和逻辑分析仪的调试方法最常用。如ISE的Chipscope、Quartus 2、SignalTap 2。练习的时候可以使用Quartus 2 。

  关于Quaryus 2的开发流程,在该软件的help---PDF_Tutorials---Verilog HDL users:

  FPGA开发

  Quartus 2的工程建立、使用、编译,在此就不一一赘述,但是要明白Task窗口的编译步骤:

  Compile Design ---- 使用说明

  Analysis & Synthesis ---- 分析综合

  Fitter(Place & Route) ---- 适配(布局布线)

  Assembler(Generate programming files)---- 产生相应的编程下载配置的文件,一般是 bit数据流,sof/pof格式

  TimeQuest Timing Analysis ---- 时序分析

  EDA Netlist Writer ---- 给 Quartus 2 支持的第三方提供网表

  Program Derice (Open Programmer) ---- 配置

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分