《EDA技术实用教程(第六版)》学习笔记——第二章
1、专业名词英文缩写
- PLD(Programmable Logic Device):可编程逻辑器件
- RAM(Random Access Memory):随机访问存储器
- DRAM(Dynamic Random Access Memory):动态随机访问存储器
- SRAM(Static Random Access Memory):静态随机访问存储器
- ROM(Read-Only Memory):只读存储器
- PROM(Programmable Read-Only Memory):可编程只读存储器
- EPROM(Erasable Programmable Read-Only Memory):紫外线可擦除PROM
- EEPROM (Electrically Erasable Programmable Read-Only Memory):电可擦除PROM
- PLA(Programmable Logic Array):可编程逻辑阵列
- PAL(Programmable Array Logic):可编程阵列逻辑
- GAL(Generic Array Logic):通用阵列逻辑
- EPLD(Electrically Programmable Logic Device):可编程逻辑器件
- LAB(logic array block):逻辑阵列块
- PIA(programmable interconnect array):可编程连线阵
- LUT(look up table):查找表
- LE(logic element或LC:logic cell):逻辑宏单元
2、 PLD的发展进程
总的发展过程为:PROM→PLA→PAL→GAL→CPLD/FPGA→SOPC
- PROM:或阵列可编程,与阵列不可编程
- PLA:或阵列可编程,与阵列可编程
- PAL:或阵列不可编程,与阵列可编程
- GAL:采用了EEPROM工艺,延续PAL结构,增加了输出逻辑宏单元OLMC(output logic macro cell),可配置成多种模式,且具有结构重构性。
3、 PLD的分类
- 按原理分为“与-或”阵列类型和查找表类型
- 按芯片集成度的高低:
①简单PLD:PROM、PLA、PAL、GAL
②复杂PLD:CPLD、FPGA - 按编程工艺分:
①熔丝(fuse)型器件:早期的PROM器件。
②反熔丝(antifuse)型器件。在编程处通过击穿漏层使得两点之间获得导通。如Actel 公司早期的FPGA器件就采用了此种编程方式。无论是熔丝还是反熔丝结构,都只能编程一次,因而又被合称为OTP(one time programming)器件,即一次性可编程器件。
③EPROM型。称为紫外线擦除电可编程逻辑器件,是用较高的编程电压进行编程(烧写),当需要再次编程时,用紫外线进行擦除。EPROM可多次编程。
④EEPROM型。即电可擦写编程器件,现有的部分CPLD及GAL器件仍采用此类结构。
⑤SRAM型。即SRAM查找表结构的器件目前大部分FPGA器件采用此种编程工艺,如Xilinx和Altera(现为Intel)公司的FPGA。SRAM型器件的编程信息存放在 RAM中,在断电后就丢失了,再次上电需要再次编程(配置),因而需要专用器件来完成这类配置操作。
⑥Flash型。现在许多CPLD器件采用了Flash 工艺。采用此工艺的器件的编程次数可达数万次以上,且掉电后不需重新配置。
4、 CPLD结构原理
早期CPLD是从GAL的结构扩展而来,但针对GAL的缺点进行了改进,如Lattice的ispLSI1032器件等。在流行的CPLD 中Altera(现intel)的MAX7000和MAX3000A系列器件具有一定典型性。
MAX3000A结构中包含五个主要部分,即逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、I/O 控制块。
-
逻辑阵列块 LAB:
一个LAB由16个宏单元的阵列组成。多个LAB通过可编程连线阵(programmable interconnect array,PIA)和全局总线连接在一起,全局总线从所有的专用输人、I/0引脚和宏单元馈入信号。 -
宏单元:
MAX3000A系列中的宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。它们可以被单独地配置为时序逻辑和组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个宏单元提供五个乘积项。 -
扩展乘积项:
虽然大部分逻辑函数能够用在每个宏单元中的五个乘积项实现,但更复杂的逻辑函数需要附加乘积项。 -
可编程连线阵列PIA:
不同的LAB通过在可编程连线阵列 PIA 上布线,以相互连接构成所需的逻辑。这个全局总线是一种可编程的通道,可以把器件中任何信号连接到其目的地。 -
I/O控制块:
I/O控制块允许每个I/O引脚单独被配置为输人、输出和双向工作方式。 -
组合逻辑可编程采用:
乘积项可编程(乘→与,积、和→或),即与-或阵列可编程
i、(常见)与阵列可编程,或阵列不可编程
ii、与阵列可编程,或阵列可编程 -
时序逻辑可编程采用:
乘积项可编程+可配置触发器
5、 FPGA结构原理
诸如GAL、CPLD之类都是基于乘积项的可编程结构,即可编程的与阵列和固定的或阵列组成。而FPGA采用可编程的查找表(look up table,LUT)结构,LUT是可编程的最小逻辑构成单元。大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器。一个N输入LUT可以实现N个输人变量的任何逻辑功能,如N输人“与”、N输人“异或”等。
Cyclone 4E 系列器件是Intel(原Altera)公司的一款低功耗、高性价比的FPGA,它的结构和工作原理在 FPGA 器件中具有典型性。Cyclone4E器件主要由逻辑阵列块(logicarray block,LAB)入式存储器块、嵌入式硬件乘法器、IO单元和人式 PLL 等模块构成,在各个模块之间存在着丰富的互连线和时钟网络。
Cyclone4E系列FPGA器件的可编程资源主要来自逻辑阵列块LAB,而每个LAB都由多个逻辑宏单元LE(logic element,或LC;logic cell)构成。LE是Cylone 4E FPGA器件的最基本的可编程单元, LE主要由一个4输入的LUT、进位链逻辑、存器链逻辑和一个可编程的寄存器构成。4输人的LUT 可以完成所有的4输人1输出的组合逻辑功能。每一个LE的输出都可以连接到行、列、直连通路、进位链、寄存器链等布线资源。
6、 JTAG边界扫描
IEEE的联合测试工作组(Joint Test Action Group,JTAG)开发了IEEE1149.1-1990边界扫描测试技术规范。该规范提供了有效的测试引线间隔致密的电路板上集成电路芯片的能力。大多数 CPLD/FPGA 厂家的器件遵守JTAG规范,并为输人引脚和输出引脚以及专用配置引脚提供了边界扫描测试(board scantest,BST)的能力。
在FPGA开发中,JTAG口更多地被用在对其进行编程、配置、内嵌存储器内容的测试编辑,以及处理器内核系统的软硬件测试和调试。
JTAG在FPGA中的应用:
- 边界扫描
- 下载:编程或配置、多芯片下载、部分配置
- 片内介入式测试
- 在线调试:嵌入式逻辑分析仪、虚拟IO、片内RAM更新
- 制造测试
7、 FPGA/CPLD编程与配置
-
编程——Flash/EEPROM/AntiFuse工艺:
CPLD编程、反熔丝结构FPGA编程、内嵌Flash的FPGA的内嵌Flash编程 -
配置——SRAM工艺:
FPGA配置、FPGA部分配置 -
配置器件编程——FPGA外接Flash
8、PLD厂商
-
Xilinx
-
Intel PSG( Altera)
-
Microsemi (收购Actel)Lattice Semiductor
-
国内:紫光同创、高云、安路、京微齐力
Intel PSG(AItera)产品:
-
FPGA
Agilex/Statix 10/Stratix V、Cyclone 10/Cyclone V/Cyclone IV、Array 10/ Array 、VMAX 10 -
CPLD
MAX 10/MAX V/MAXII 、MAX3000A文章来源:https://www.toymoban.com/news/detail-802614.html
如有需要课本PDF与课件可以评论区联系发邮箱。文章来源地址https://www.toymoban.com/news/detail-802614.html
到了这里,关于《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!