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

FPGA入门教程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-23 15:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
) t1 P4 q! b8 r5 s8 B5 u( ^
FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计。- P' T5 L4 M) l7 [! K
7 c. F6 T3 A. V" w6 y
  玩过单片机的小伙伴刚接触FPGA可能会有点困惑,其实FPGA与单片机最大的区别就在于:FPGA设计的是电路,单片机设计的是程序。单片机只有一个CPU在工作时钟的驱动下顺序的执行程序(取指、译码、执行),所以工作速度较慢,而FPGA设计出来的是整个电路逻辑系统,根本不需要单片机这么复杂,所以FPGA的工作速度自然很快,在两者各有各的优势下,单片机主要用于进行相关控制,FPGA多用于信号处理相关。+ g0 k2 Y* y" c6 P% g" t. J0 m' p
" W1 A! T! T) g; p: i6 e2 {
  典型的FPGA原理和结构如下图(注:以Cyclone IV E FPGA芯片为例),主要包括三类基本资源:& L; `4 W) f% L, `1 G" {) j. k
4 Q9 ]. Z! {1 F; ?9 m8 f0 U; z) [, r
    8 \! t! g# G" V! y+ ~$ I! t

( S. K) ^- g3 `/ ]# z: W可编程逻辑功能块(Altera-LE(Logic Element) / Xlinx-Slice)
9 B' l2 Q+ n5 A8 |4 o' \1 o7 R6 k7 _                是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;6 q- E6 m( j5 x2 j+ G

& |3 V' b2 B/ E可编程内部互连资源+ {: c; I: p' {7 x  L# F
    包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。
" q5 w: R, t# g
1 a' \+ G) N5 l' ]可编程输入/输出(I/O)块/ \7 k3 ]: @: O  t7 K; t8 M
     完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;
6 R3 _/ C& l3 s: x+ k* L& ?" `; s2 |; k+ o, X
  " s: H) u- e5 i# n
* A( z6 B+ O6 [" v
  FPGA从简单的逻辑粘合,发展到现在的可编程片上系统,FPGA厂家也在基本的FPGA架构上加入了一些扩展资源,比如时钟管理单元(PLL、DLL)、嵌入式存储器单元和硬件乘法器单元,DSP单元一些高端器件还加入了高速收发器、甚至嵌入式硬核处理器,让FPGA的应用领域更广阔,Cyclone IV E器件加入的扩展资源有:$ S; V6 ?( i# g
" s! O( L1 g& C) k/ C
PLL锁相环
9 Q# k' h: g# c0 C. R, `    模拟电路,将输入的周期信号进行分频和倍频,或改变相位,输出一个或多个稳定的时钟信号;) M1 d7 F- S# ~& H2 T! W+ D2 s
: y) D2 I5 E+ f% R5 F, _
M9K存储器
  j" B. a. b; _" j5 G( d1 @    嵌入式块RAM,容量大小9Kbit,这些存储器可以被配置成单端口、简单双端口、真双端口RAM、FIFO缓冲器、ROM
0 ~% T7 O1 s( s( y* [( U6 J% g
# Z$ s1 n# w$ W9 C. F18*18硬件乘法器4 `+ ?! _: E) t' O7 F' ?# S6 ^
    快速进行运算! J! J) ~7 O3 I. z. {0 ~

  J6 e% m+ C6 d+ m4 I3 X5 l
# n& G9 B( S$ h# v
/ S% Q$ m* j0 D9 q  FPGA中除了三类基本资源和一些扩展资源外,由图中可以看到,FPGA中资源分布也是很精致的:6 ^6 D! b1 _7 b; b. J6 `' V

5 Z& v* w! U. f5 b$ |1 a9 P. u$ Y    1、逻辑阵列和M9K存储器交替分布,这样做的优点是缩短数据的传输路径,以获得更优的时序性能;- ^' h3 J/ G/ Z6 E
: \4 P. W% C6 M
    2、IOEs和PLL单元分布在器件的四周,数据流一般从左侧IO流入,经过处理、运算、存储,通过右侧IO流出,控制信号通过上下IO输入输出;有时候系统需要高质量时钟(比如软核所需工作时钟)通常由PLL单元产生,而这些分布在四周的PLL可以最短时钟源产生工作时钟,另外,PLL属于模拟电路,放在周围更利于生产;0 z3 G! ^: n4 k0 T, O

: A/ t! _3 M( \& h: L  两种主流FPGA的资源情况如下:
& C5 N$ F; k, M# O
( G6 h6 O% u. ?5 N) }7 X; G  Altera Cyclone IV E系列FPGA常见硬件资源详情列表:
; n% c, j" G, ?' F" x& q! q5 V" J: X+ e! R& S2 D
 
- Z8 T( y" W. G+ X; D6 {- C7 R( N* x. @. E; E0 q
0 s/ S. t" U! `+ {, t
3 y; h: t) F. B% U" D
  Xilinx 7 系列FPGA 硬件资源详情:4 x7 i8 @; a6 C0 R
) j9 S8 N' D. z8 {2 G3 p2 C
   2 u/ h% W7 J* D9 u; z

0 T' J% c- _. b3 C   最后,放上两张开发板图片,一块是小梅哥基于Cyclone IV EP4CE10的AC620,一块是Digilent基于Xilinx Artix7的Basys3,两块都很精致有木有~8 K% S) i  ?* e3 L% R  I6 j8 c
, e* ^4 J. I- t$ ^: E% W
   : H$ l6 r5 ^$ M6 i  l. K3 T
  
! A& `! Y: e' }( Q) ?
4 N- v8 M) ]4 V% m% a
& d  p  `! C" Q/ X# E# J
' M  {( A2 ?9 }
  • TA的每日心情
    开心
    2025-11-5 15:27
  • 签到天数: 1206 天

    [LV.10]以坛为家III

    2#
    发表于 2022-3-23 15:45 | 只看该作者
    thanks !!! excellent professional precious informations !!!

    该用户从未签到

    3#
    发表于 2022-3-23 17:03 | 只看该作者
    FPGA从简单的逻辑粘合,发展到现在的可编程片上系统,FPGA厂家也在基本的FPGA架构上加入了一些扩展资源,比如时钟管理单元(PLL、DLL)、嵌入式存储器单元和硬件乘法器单元,DSP单元一些高端器件还加入了高速收发器、甚至嵌入式硬核处理器,让FPGA的应用领域更广阔

    该用户从未签到

    4#
    发表于 2022-3-23 18:15 | 只看该作者
    FPGA现场可编程门阵列

    “来自电巢APP”

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-5 21:24 , Processed in 0.203125 second(s), 26 queries , Gzip On.

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

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

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