没有合适的资源?快使用搜索试试~ 我知道了~
FPGA基础知识.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 26 浏览量
2023-04-04
21:45:30
上传
评论
收藏 4.1MB PDF 举报
温馨提示
试读
87页
。
资源推荐
资源详情
资源评论
FPGA 基础知识
FPGA 是英文 Field-Programmable Gate Array 的缩写,即现场可编程门阵
列,它是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是
作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制
电路的不足,又克服了原有可编程器件门电路数有限的缺点。
什么是 IP 核或 IP 库?
IP 核是指:将一些在数字电路中常用但比较复杂的功能块,如 FIR 滤波
器,SDRAM 控制器,PCI 接口等等设计成可修改参数的模块,让其他用户可以
直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着
CPLD/FPGA 的规模越来越大,设计越来越复杂,使用 IP 核是一个发展趋势。
FPGA 的宏单元是怎么定义?
宏单元(或逻辑单元)是 PLD/FPGA 的最基本单元,不同产品对这种基本
单元的叫法不同,如 LE,MC,CLB,Slices 等,但每个基本单元一般都包括两部分,
一部分实现组合逻辑,另一部分实现时序逻辑。各个厂家的定义可能不一样。对
ALTERA 的芯片,每个基本单元含一个触发器;对 Xilinx 的部分芯片,每个基
本单元单元含两个触发器。一般不用“门”的数量衡量 PLD/FPGA 的大小,因
为各家对门数的算法不一样,象 ALTERA 和 Xilinx 对门的计算结果就差了一倍,
推荐用触发器的多少来衡量芯片的大小。如 10 万门的 Xilinx 的 XC2S100 有 1200
个 slices,即含 2400 个触发器;5 万门的 ALTERA 的 1K50 则含 2880 个 LE,即
2880 个触发器。
FPGA 工作原理?
FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部
包括可配置逻辑模块 CLB(Configurable Logic Block)、输出输入模块 IOB(Input
Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:
1)采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的
芯片。
2)FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。
3)FPGA 内部有丰富的触发器和 I/O 引脚。
4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件
之一。
5) FPGA 采用高速 CMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。
可以说,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要
对片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA
进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA
能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、
PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,
同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使
用非常灵活。
什么是 FPGA
FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,
它是在可编程阵列逻辑 PAL(Programmable Array Logic)、门阵列逻辑 GAL(Gate
Array Logic)、可编程逻辑器件 PLD(Programmable Logic Device)等可编程器件的
基础上进一步发展的产物。它是作为专用集成电路 ASIC(Application Specific
Integrated Circuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,
又克服了原有可编程器件门电路数有限的缺点。FPGA 能完成任何数字器件的功
能,上至高性能 CPU,下至简单的 74 系列电路,都可以用 FPGA 来实现。
FPGA 的特点
FPGA 具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。
兼容了 PLD 和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。
与门阵列等其它 ASIC 相比,它又具有设计开发周期短、设计制造成本低、开发
工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广
泛应用于产品的原型设计和产品生产(一般在 10,000 件以下)之中。几乎所有应用
门阵列、PLD 和中小规模通用数字集成电路的场合均可应用 FPGA
FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部
包括可配置逻辑模块 CLB(Configurable Logic Block)、输出输入模块 IOB(Input
Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:
一是采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的
芯片。
二是 FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。
三是 FPGA 内部有丰富的触发器和 I/O 引脚。
四是 FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器
件之一。
五是 FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼
容。
可以说,FPGA 芯片是小批量系统提高系统集成度、可兼容性的最佳选择
之一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、
ALTERA 公司的 FIEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其
工作状态的,因此,工作时需要对片内的 RAM 进行编程。用户可以根据不同的
配置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片
内编程 RAM 中,配置完成后,FPGA 进入工作状态。掉电后,FPGA 恢复成白
片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA 的编程无须专用的
FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA
功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可
以产生不同的电路功能。因此,FPGA 的使用非常灵活。FPGA 有多种配置模式:
并行主模式为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 PROM
编程多片 FPGA;串行模式可以采用串行 PROM 编程 FPGA;外设模式可以将
FPGA 作为微处理器的外设,由微处理器对其编程。
FPGA 的基本结构
FPGA 具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列组成,
并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。
下面以 Xilinx 公司的 FPGA 为例,分析其结构特点。
FPGA 一般由三种可编程电路和一个用于存放编程数据的静态存储器
SRAM 组成。这三种可编程电路是:可编程逻辑块(Configurable Logic Block,
CLB)、输入/输出模块(I/O Block,IOB)和互连资源(Interconnect Resource,IR)。
可编程逻辑块(CLB)是实现逻辑功能的基本单元,它们通常规则地排列成一个阵
列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部
封装脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的
连线线段和一些可编程连接开关,它们将各个 CLB 之间或 CLB、IOB 之间以及
IOB 之间连接起来,构成特定功能的电路。
FPGA 的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片
内的 SRAM 或熔丝图上。基于 SRAM 的 FPGA 器件,在工作前需要从芯片外部
加载配置数据,配置数据可以存储在片外的 EPROM 或其他存储体上。用户可以
控制加载过程,在现场修改器件的逻辑功能,即所谓的现场编程。
FPGA 的构成单元
FPGA 由 6 部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、
嵌入式块 RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。
每个单元简介如下:
1.可编程输入/输出单元(I/O 单元)
目前大多数 FPGA 的 I/O 单元被设计为可编程模式,即通过软件的灵活配置,
可适应不同的电器标准与 I/O 物理特性;可以调整匹配阻抗特性,上下拉电阻;
可以调整输出驱动电流的大小等。
2.基本可编程逻辑单元
FPGA 的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成
的,查找表完成纯组合逻辑功能。FPGA 内部寄存器可配置为带同步/异步复位和
置位、时钟使能的触发器,也可以配置成为锁存器。FPGA 一般依赖寄存器完成
同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器
加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄
存器和查找表的组合模式也不同。
学习底层配置单元的 LUT 和 Register 比率的一个重要意义在于器件选型和
规模估算。由于 FPGA 内部除了基本可编程逻辑单元外,还有嵌入式的 RAM、
PLL(锁相环)或者是 DLL,专用的 Hard IP Core 等,这些模块也能等效出一定
规模的系统门,所以简单科学的方法是用器件的 Register 或 LUT 的数量衡量。
3.嵌入式块 RAM
目前大多数 FPGA 都有内嵌的块 RAM。嵌入式块 RAM 可以配置为单端口
RAM、双端口 RAM、伪双端口 RAM、CAM、FIFO 等存储结构。CAM,即为
内容地址存储器。写入 CAM 的数据会和其内部存储的每一个数据进行比较,并
返回与端口数据相同的所有内部数据的地址。简单的说,RAM 是一种写地址,
读数据的存储单元;CAM 与 RAM 恰恰相反。
除了块 RAM,Xilinx 和 Lattice 的 FPGA 还可以灵活地将 LUT 配置成 RAM、
ROM、FIFO 等存储结构。
4.丰富的布线资源
布线资源连通 FPGA 内部所有单元,连线的长度和工艺决定着信号在连线上
的驱动能力和传输速度。布线资源的划分:1)全局性的专用布线资源:以完成
器件内部的全局时钟和全局复位/置位的布线;2)长线资源:用以完成器件 Bank
间的一些高速信号和一些第二全局时钟信号的布线(这里不懂什么是“第二全局
时钟信号”);3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线;4)其
他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。由于
在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条
件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实
布线资源的优化与使用和实现结果有直接关系。
5.底层嵌入功能单元(书上举了很多例子,不过这些东东要看具体哪个厂商
的哪种型号的芯片上嵌有什么资源决定)
6.内嵌专用硬核
与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,
不是所有 FPGA 器件都包含硬核。
FPGA 的分类
1.按逻辑功能块的大小分类
可编程逻辑块是 FPGA 的基本逻辑构造单元。按照逻辑功能块的大小不同,
剩余86页未读,继续阅读
资源评论
apple_51426592
- 粉丝: 9628
- 资源: 9658
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功