1 详解FPGA的基本结构-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解FPGA的基本结构

Hack电子 来源:FPGA设计论坛 2024-10-25 16:50 次阅读

ZYNQ PL 部分等价于 Xilinx 7 系列 FPGA,因此我们将首先介绍 FPGA 的架构。简化的 FPGA 基本结构由 6 部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等,如下图所示:

260de440-9274-11ef-a511-92fbcf53809c.png

每个单元的基本概念介绍如下。

(1)可编程输入/输出单元

输入/输出(Input/Ouput)单元简称 I/O 单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求,为了使 FPGA 具有更灵活的应用,目前大多数 FPGA 的 I/O 单元被设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气标准与 I/O 物理特性;可以调整匹配阻抗特性、上下拉电阻、以及调整驱动电流的大小等。

可编程 I/O 单元支持的电气标准因工艺而异,不同芯片商、不同器件的 FPGA 支持的 I/O 标准不同,一般来说,常见的电气标准有 LVTTL, LVCMOS, SSTL, HSTL, LVDS, LVPECL 和 PCI 等。值得一提的是,随着 ASIC 工艺的飞速发展,目前可编程 I/O 支持的最高频率越来越高,一些高端 FPGA 通过 DDR寄存器技术,甚至可以支持高达 2Gbit/s 的数据数率。

ZYNQ 上的通用输入/输出功能(IOB)合起来被称作 SelectIO 资源,它们被组织成 50 个 IOB 一组。每个 IOB 有一个焊盘,是与外部世界连接来做单个信号的输入或输出的。每个 IOB 还包含一个IOSERDES 资源,可以做并行和串行数据的可编程转换。

262168da-9274-11ef-a511-92fbcf53809c.png

(2)基本可编程逻辑单元

基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA 一般是基于 SRAM 工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT, Look UpTable)和寄存器(Register)组成。Xilinx 7 系列 FPGA 内部查找表为 6 输入,查找表一般完成纯组合逻辑功能。FPGA 内部寄存器结构相当灵活,可以配置为带同步/异步复位或置位,时钟使能的触发器,也可以配置成锁存器, FPGA 依赖寄存器完成同步时序逻辑设计。

一般来说,比较经典的基本可编程逻辑单元的配置是一个寄存器加一个查找表,但是不同厂商的寄存器与查找表也有一定的差异,而且寄存器与查找表的组合模式也不同。当然这些可编程逻辑单元的配置结构随着器件的不断发展也在不断更新,最新的一些可编程逻辑器件常常根据需求设计新的 LUT 和寄存器的配置比率,并优化其内部的连接构造。

例如, Altera 可编程逻辑单元通常被称为 LE(Logic Element),由一个寄存器加一个 LUT 构成。Altera 大多数 FPGA 将 10 个 LE 有机地组合在一起,构成更大的功能单元——逻辑阵列模块(LAB, LogicArray Block)。LAB 中除了 LE 还包含 LE 之间的进位链, LAB 控制信号,局部互联线资源, LUT 级联链,寄存器级联链等连线与控制资源。

Xilinx 7 系列 FPGA 中的可编程逻辑单元叫 CLB(Configurable Logic Block,可配置逻辑块)每个CLB 里包含两个逻辑片(Slice)。每个 Slice 由 4 个查找表、 8 个触发器和其他一些逻辑所组成的。CLB示意图如下所示:

2626fd0e-9274-11ef-a511-92fbcf53809c.png

CLB 是逻辑单元的最小组成部分,在 PL 中排列为一个二维阵列,通过可编程互联连接到其他类似的资源。每个 CLB 里包含两个逻辑片,并且紧邻一个开关矩阵, 如下图所示:

2643b020-9274-11ef-a511-92fbcf53809c.png

(3)嵌入式块 RAM

目前大多数 FPGA 都有内嵌的块 RAM(Block RAM), FPGA 内部嵌入可编程 RAM 模块,大大地拓展了 FPGA 的应用范围和使用灵活性。不同器件商或不同器件族的内嵌块 RAM 的结构不同, Lattice 常用的块 RAM 大小是 9KBIT;Altera 的块 RAM 最灵活,一些高端器件内部同时含有 3 种块 RAM 结构,分别是 M512 RAM, M4K RAM, M9K RAM。

Zynq-7000 里的块 RAM 和 Xilinx 7 列 FPGA 里的那些块 RAM 是等同的,它们可以实现 RAM、 ROM和先入先出(First In First Out, FIFO)缓冲器。每个块 RAM 可以存储最多 36KB 的信息,并且可以被配置为一个 36KB 的 RAM 或两个独立的 18KB RAM。默认的字宽是 18 位,这样的配置下每个 RAM 含有2048 个存储单元。RAM 还可以被“重塑”来包含更多更小的单元(比如 4096 个单元 x9 位,或 8192x4位),或是另外做成更少更长的单元(如 1024 单元 x36 位 512x72 位)。把两个或多个块 RAM 组合起来可以形成更大的存储容量。PL 中的块 RAM 示意图如下所示:

264823a8-9274-11ef-a511-92fbcf53809c.png

需要补充的一点是,除了块 RAM,还可以灵活地将 LUT 配置成 RAM, ROM, FIFO 等存储结构,这种技术被称为分布式 RAM。根据设计需求,块 RAM 的数量和配置方式也是器件选型的一个重要标准。

(4)丰富的布线资源

布线资源连通 FPGA 内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA 芯片内部有着丰富的布线资源,这些布线资源根据工艺、长度、宽度和分布位置的不同而划分为 4 类不同的类别:

第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;

第二类是长线资源,用以完成芯片 Bank 间的高速信号和第二全局时钟信号的布线;

第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;

第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。

在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有直接的关系。

(5)底层嵌入功能单元

底层嵌入功能单元的概念比较笼统,这里我们指的是那些通用程度较高的嵌入式功能模块,比如 PLL(Phase Locked Loop)、 DLL(Delay Locked Loop)、 DSPCPU 等。随着 FPGA 的发展,这些模块被越来越多地嵌入到 FPGA 的内部,以满足不同场合的需求。

目前大多数 FPGA 厂商都在 FPGA 内部集成了 DLL 或者 PLL 硬件电路,用以完成时钟的高精度、低抖动的倍频、分频、占空比调整、相移等功能。目前,高端 FPGA 产品集成的 DLL 和 PLL 资源越来越丰富,功能越来越复杂,精度越来越高。

另外, 越来越多的高端 FPGA 产品将包含 DSP 或 CPU 等硬核,从而 FPGA 将由传统的硬件设计手段逐步过渡到系统级设计平台。例如 Altera 的 Stratix IV、 Stratix V 等器件内部集成了 DSP 核;Xilinx 的Virtes II 和 Virtex II pro 系列 FPGA 内部集成了 Power PC450 的处理器。FPGA 内部嵌入 DSP 或 CPU 等处理器,使 FPGA 在一定程度上具备了实现软硬件联合系统的能力, FPGA 正逐步成为 SOPC 的高效设计平台。

(6)内嵌专用硬核

这里的内嵌专用硬核与前面的底层嵌入单元是有区分的,这里讲的内嵌专用硬核主要指那些通用性相对较弱,不是所有 FPGA 器件都包含硬核。

在 ZYNQ 的 PL 端有一个数模混合模块——XADC,它就是一个硬核。XADC 包含两个模数转换器(ADC),一个vwin 多路复用器,片上温度和片上电压传感器等。我们可以利用这个模块监测芯片温度和供电电压,也可以用来测量外部的模拟电压信号。

(7)ZYNQ PL 架构

在介绍完 FPGA 的基本结构之后, 我们给出 ZYNQ PL 架构的示意图,如下所示:

264c78ae-9274-11ef-a511-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1628

    文章

    21728

    浏览量

    602944
  • 嵌入式
    +关注

    关注

    5082

    文章

    19104

    浏览量

    304757
  • Xilinx
    +关注

    关注

    71

    文章

    2166

    浏览量

    121281
  • 可编程
    +关注

    关注

    2

    文章

    860

    浏览量

    39810
  • Zynq
    +关注

    关注

    10

    文章

    609

    浏览量

    47174

原文标题:ZYNQ PL架构

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    注册表结构详解

    注册表结构详解
    发表于 03-05 15:06

    MOSFET结构及其工作原理详解

    ` 本帖最后由 eehome 于 2013-1-5 09:54 编辑 MOSFET结构及其工作原理详解`
    发表于 08-20 17:27

    汽车结构基本知识详解(图文)

    汽车结构基本知识详解(图文)
    发表于 10-09 14:17

    Xilinx系列FPGA芯片IP核详解

    `Xilinx系列FPGA芯片IP核详解(完整高清书签版)`
    发表于 06-06 13:15

    USART初始化结构详解

    USART 初始化结构详解标准库函数对每个外设都建立了一个初始化结构体,比如USART_InitTypeDef,结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如USART
    发表于 02-22 06:08

    高级FPGA设计结构、实现和优化

    高级FPGA设计结构
    发表于 01-10 10:36 294次下载
    高级<b class='flag-5'>FPGA</b>设计<b class='flag-5'>结构</b>、实现和优化

    异步FIFO结构FPGA设计

    异步FIFO结构FPGA设计,解决亚稳态的问题
    发表于 11-10 15:21 4次下载

    开关电源拓扑结构详解

    开关电源拓扑结构详解
    发表于 01-14 11:18 74次下载

    天线结构及天线的制作方法的详解

    本文详解了天线结构及天线的制作方法。
    发表于 11-15 15:50 44次下载

    xilinxFPGA选型详解

    本文档内容介绍了基于xilinxFPGA选型详解,供参考查阅
    发表于 03-15 15:58 4次下载

    一文详解蓝牙模块原理与结构

    德赢Vwin官网 网站提供《一文详解蓝牙模块原理与结构.pdf》资料免费下载
    发表于 11-26 16:40 94次下载

    FPGA-DCM使用详解

    FPGA-DCM使用详解(通信电源技术期刊编辑部电话)-该文档为FPGA-DCM使用详解文档,是一份还算不错的参考文档,感兴趣的可以下载看看,,,,,,,,,,,,,,,,
    发表于 09-28 11:22 6次下载
    <b class='flag-5'>FPGA</b>-DCM使用<b class='flag-5'>详解</b>

    详解FPGA的基本电路结构

    在上一篇文章中,我们概括地讲述了FPGA的一些学习误区。本文我们将FPGA的关键知识串联起来,系统地介绍各个知识点所处的层次和位置,为后面几仿篇文章的详细讲解做好铺垫。
    的头像 发表于 03-24 11:22 6850次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>FPGA</b>的基本电路<b class='flag-5'>结构</b>

    一文详解Xilin的FPGA时钟结构

    ‍xilinx 的 FPGA 时钟结构,7 系列 FPGA 的时钟结构和前面几个系列的时钟结构有了很大的区别,7系列的时钟
    的头像 发表于 07-03 17:13 3464次阅读

    全面解读MOSFET结构及设计详解

    MOSFET结构、特性参数及设计详解
    发表于 01-26 16:47 1368次阅读