打印
[FPGA]

FPGA从入门到精通(1) - 前序

[复制链接]
565|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
       毕业后,从一个嵌入式硬件狗转做FPGA工程师,从中兜兜转转绕了不少弯路,为了给后人避坑,所以今天开始写有关FPGA从入门到精通的教程吧,这也算是给我国集成电路的发展做出微薄的贡献吧。

本门课程主要是针对有一定数电基础的人看的。所以不会不像其他教程那样,上来就跟你讲verilog,跑马灯,按键,计数器等等。因为这么学,最后只会越来越让自己感觉所做的事情和个程序猿无差,与我的初心不符。所以我会更加偏向于从硬件设计的角度向读者加以讲解FPGA,这样才会在FPGA这条道路上越走越远,越吃越精。

本门课程主要分为三部分:

1.从FPGA的器件内部结构出发(这里以XILINX为主,其实无论是XILINX ,ALTERA,LATTICE,国产 。它们内部架构以及开发软件,其实都大同小异,一通则百通),讲解硬件描述语言是如何与内部单元和连线一一对应的。一般而言,FPGA内部(图1 XILINX A7系列的 Feature Summary)主要包含以下几大件。从实际出发,器件有啥我讲啥

(1)不讲Logic Cells 因为Logic Cells是由 Slices组成的 ,Slices 数 * 6.4 =Logic Cells。

(2)CLB(主要包括Slices ,DRAM)

(3)DSP48E1

(4)BRAM

(5)CMTs(时钟管理单元,包括MMCM和PLL)

(6)BANK 与 用户IO ,专用IO的关系

(7)XADC

(8)GTP(高速串行收发器)

(9)PCIE




图 1XILINX A7系列的 Feature Summary


2.讲解FPGA常用的IP 以及高速接口的应用,以及介绍在官方IP无法满足设计要求的前提下,如何根据官方IP的架构设计属于自己的IP 。举个栗子:官方的图像传感器相关的MIPI EXAMPLE的IP是最高只支持4通道的,然而实际应用中有可能用到8通道。我们不可能从零开始设计(这样做会很耗时间,并且做很多枯燥无味的无用功),但在已有的基础加以改进是一个很不错的选择。

3.讲解FPGA相关的约束,这里会涉及到你们经常遇到的时序约束,以及布局约束等等。说到时序约束我不得不吐槽,一堆博文都是通过几张图在讲这个建立时间,保持时间是什么,然后告诉读者这个两个东东应该怎么算。实际上,从工程上来说,这个真的没啥屁用。因为计算的结果EDA软件早就帮你算好了,你需要做的是根据已有的计算结果,在时序余量不足的情况下对路径进行优化,在时序余量过剩的时候考虑相应的资源、功耗优化。

这是博主第一次系统的写博客,难免会有错漏的地方,如果有什么疑问或者建议,欢迎大家在下方留言。最后希望大家通过不断的学习,努力后能有所提升。

参考文档:

XILINX DS180 (7 Series FPGAs Data Sheet: Overview)

截至 2020年6月22日更新的内容:

FPGA从入门到精通(1) - 前序

FPGA从入门到精通(2) - LUT

FPGA从入门到精通(3) - DRAM

FPGA从入门到精通(4) - MUX

FPGA从入门到精通(5) - 进位链

FPGA从入门到精通(6) - 存储单元&CLB总结
具体内容请关注我的知乎:JAsper灬兰


或微信公众号 FPGA说


使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-6-25 16:30 | 只看该作者
点个赞,,,,

使用特权

评论回复
评论
qq709631261 2020-6-27 16:37 回复TA
谢谢这位仁兄 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

6

帖子

0

粉丝