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

转——凔海笔记之FPGA(二):聊聊FPGA的内部结构_上 

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
转——凔海笔记之FPGA(二):聊聊FPGA的内部结构_上
8 U! S! p/ j0 w; K

0 \6 C. W6 E- ~) G6 D2 R$ h3 v以我现在的水平来说FPGA内部结构,那简直就是管中窥豹,盲人摸象,螳臂挡车,猪鼻子插大蒜,总之,定会献丑与众,贻笑大方。
: T0 z0 A9 G6 M8 r% I& Y
       不过,跳过去有难以给“强迫症癌”晚期的我一个解释,所以暂且记录下浅薄的认识吧。日后再做更新。
% B8 h8 e, Z6 ?1 U3 g
         百度曰:“FPGA是以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流”。
4 L; p6 J& e7 w4 R+ `0 V( j# J/ n        知乎说:“FPGA是现场可编程们阵列,基于硬件描述语言,半定制设计电路”。
6 k2 M: m% k2 C5 r; f6 c# p5 F9 K       老师言:“它就好比一张白纸,你可以在上面描述出自己想要的电路”。
7 v: T. p! z+ L! ?" g  J( ?       可是,它到底是什么呢?
# G+ p$ u2 B) G3 A* }:time::time::time::time:! f8 }% [+ S% v, z* X6 }4 Z
       在我看来,任何构造都来源于简单的元件和复杂的逻辑,FPGA就是用简单的元件搭建出复杂的操作平台,让我们在上面定制自己想要的东西。前人是用一个一个元件去连接构造,而我们是用语言描述。例如我要进行串口通讯,那就Description一个、我想进行滤波,那就写个fir、我想模拟51单片机,那也没问题。所以说,无论是Verilog HDL还是VHDL,其中最能体现其特点的就是D(Description)。4 C2 E7 j% v4 _1 r- {
        我是从单片机转到FPGA的,所以总想对比二者区别以便更好了解。+ p- L8 g, `6 E: Z
        单片机写程序是为了实现某种控制,我们把写好的程序下载到单片机的程序存储器中,然后一条条的执行,而FPGA是把所写的程序翻译成电路,从而构造出自己想要的电路。例如串口通讯,单片机已有该模块,我们的工作是开启并选择模式,而FPGA需要你描述uart的波特率,如何接收字节发送字节,这一切FPGA里面是没有的,是我们描绘出来的。- p# _6 W$ _! m4 Y: |- e! X4 {3 N
       曾想到一个例子来理解FPGA。假设有一张神奇桌子,它如同哆啦a梦的四次元口袋,里面有你想要的各种食材、调味品还有饮料和酒,量是一定的但可以重复使用。而你是世界级的厨师,假设完毕。
6 A+ b5 v5 \  y# \       今天心情格外的好,所以你要做这样的一桌饭。
" s  N2 w" x- v- y0 M  U+ f' c
       所以,你不断从桌子上找食材,做饭,找食材,炒菜,如同勤劳的小蜜蜂。
9 h3 n* D& }* X7 S; s$ R. t
       最终完成了上面那桌满汉全席,把做好的一道道菜放在桌子上让亲友享用。
) ^# [9 R5 ?6 f- a5 ]/ A) H       这和FPGA有何关系呢?下面就要进行映射啦。: F5 C8 w# o# v; Y5 z% c
       桌子就好比是FPGA,那桌子上食材就好比FPGA里面的资源,厨房如同开发软件,一道道菜就是一个一个模块,这一道道菜是独立的但他们也是关联的,因为他们构成这个满汉全席一份子,而满汉全席就是你的杰作。一双双筷子就好比一个个引脚,它完成输出,而且还是并行。人少你可以少做点,人多你可以多做点,但总有一个限度,就是这个神奇桌子里面食材数量的限制。8 H9 m# _% L- L9 C0 f8 V3 [
       FPGA(Field-Programmable Gate Array)即现场可编程门阵列。现场可编程是不是就可以认为可以快速定制,也就是说,FPGA是可定制的,所以内部结构构造目的就是为了实现快速构造出所需要的芯片(电路)。而这个电路(芯片)是用编程的方式实现的。之所以能用编程方式而所谓的编程就是写下代码,由软件将它翻译出来,下载到FPGA。
7 ~. [7 V' ?3 d8 L        所谓的翻译出来,就是软件把你写的代码翻译成01,如同灌溉农田一样关闭一些通道,打开一些通道,以实现你的目的。为此,FPGA采用了大量的查找表(LUT)、数据选择器和触发器来实现。具体怎么实现,下节聊' O. Q5 S* J/ k$ G1 m/ _

该用户从未签到

2#
发表于 2019-4-8 16:11 | 只看该作者
哈哈哈太生动了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-30 14:59 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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