找回密码
 注册
关于网站域名变更的通知
查看: 377|回复: 1
打印 上一主题 下一主题

FPGA开发流程概述

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-8 14:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Lesson 3 FPGA开发流程概述6 f/ l" C( S1 X0 G
     开始学习FPGA,想尽快上手FPGA开发,那么先来了解一下FPGA的开发流程。4 g+ s/ U0 O  a( k6 U) O
      3 l9 t0 @7 m% p; S, A/ g
     1、需求分析到模块划分' c- Z$ e2 y% x5 e
     需求说明文档;器件选择(逻辑资源、功耗、IO数量、封装等等);配置电路考虑;开发工具选择;电路板的可拓展性考虑;在线调试和板级调试考虑;分模块设计。            2、设计输入到综合优化
$ t+ _5 b. Y5 ~* [     设计输入:原理图、Verilog、VHDL- k/ i* Z/ Q2 `# ~3 p& x: s# o
     综合:指的是将较高层次的电路描述转化成较为低层的电路描述。就是将设计代码转成底层的与门、非门、RAM、触发器等基本逻辑单元相互连接而成的网表,综合工具使用Synplicity的Synplify,也可使用器件厂商提供的开发工具进行实现(实现指的是:翻译、映射、布局布线)。
2 [1 |/ H+ O$ o) g' V& z/ x     代码设计完成后,最好先使用开发工具进行语法检测,之后进行功能仿真,此处仿真不涉及时序上的延时。仿真工具首推ModelTech公司的ModelSim,也可以用ISE的Quartus 2进行简单仿真。     
6 x: r5 V" e3 P4 ?- B6 k     3、实现到时序收敛     实现:
, S0 {4 e- P$ {. l( Q     翻译---将综合后的结果转化成所选器件的底层模块和硬件原语;
* B) L: s- m6 h; W. u( B     映射---将翻译的结果映射到具体器件上;
. h2 e4 J* s* o5 G     布局布线---根据用户的设计约束,进行布局布线,完成FPGA内部逻辑的连接;( p2 m: A5 l+ m6 y! q. I
     时序收敛:(设计关键,必须满足时序收敛)# A9 r9 Q; I/ K+ n9 ^
     工具的最红布局布线满足设计者输入的时序约束要求。6 |& u  p! z& M* ^: ?, X4 P4 e+ s
     4、仿真到板级调试
* ]' }9 ^/ V' ]; a8 i4 Y
- X3 _* i9 v( h$ I     仿真和板级调试用于主要的验证。FPGA的板级调试一个很大的问题在于同步观察接口信号数量受限,很难观测内部信号节点的状态,假若纯板级调试,就消耗太大的人力物力了。& U( O& C( k5 D, @* W6 m/ }6 m
     FPGA仿真很重要,但是和其他软件开发中的仿真概念不大一样。时序电路,逻辑的每一步变化都是由时终沿来触发的,调试时控制时钟频率显然不能达到单步的效果。
/ j5 H' p8 c3 h1 r: @: z$ m     开发团队一般不会严格地执行所有的三次仿真,一般做行为仿真和时序仿真,当我们熟练的可以编写可综合的代码,我们只需要进行功能仿真,时序仿真也一般不做,我们会花时间去做深入细致的时序约束,通过时序报告分析解决时序问题。
& f' o# v$ q; k- C     关于FPGA的调试有很多种方法,借助示波器和逻辑分析仪的调试方法最常用。如ISE的Chipscope、Quartus 2、SignalTap 2。练习的时候可以使用Quartus 2 。
* Y8 s& p: _: Y% {0 ?: k' U# f. W      关于Quaryus 2的开发流程,在该软件的help---PDF_Tutorials---Verilog HDL users:' m4 `2 s/ p- x: G
2 Y9 V' j) F7 {( S
     Quartus 2的工程建立、使用、编译,在此就不一一赘述,但是要明白Task窗口的编译步骤:
$ m5 U1 k: D5 e. [6 P+ ]     Compile Design ---- 使用说明
' N+ I/ M: j9 X     Analysis & Synthesis ---- 分析综合$ p9 A- C% o5 Y* N& W
     Fitter(Place & Route) ---- 适配(布局布线)' `* q7 H. ~* H1 ~
     Assembler(Generate programming files)---- 产生相应的编程下载配置的文件,一般是 bit数据流,sof/pof格式
  Z: v5 g. l! n4 A     TimeQuest Timing Analysis ---- 时序分析
# s7 W5 J+ Y/ O; W     EDA Netlist Writer ---- 给 Quartus 2 支持的第三方提供网表
0 J; a3 }9 g3 i5 y: C     Program Derice (Open Programmer) ---- 配置
6 Z" i! \# E! r: N0 E5 ^) `- `* m

* x4 G9 F' B: @' v7 Q. t) E

该用户从未签到

2#
发表于 2019-5-8 17:51 | 只看该作者
很棒的资料 值得学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 09:06 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表