内容正文:
电路可编程连线阵列
电路可编程连线阵列
可编程连线阵列的作用是在各逻辑宏单元之间以及各逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自专用输入或输入端的信号,并将宏单元的信号反馈到其需要到达的目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。图 9-39是Altera公司MAX7000A器件的结构框图。MAX7000结构主要由高性能的逻辑阵列块LAB、I/O控制块以及可编程连线阵列PIA组成。每个逻辑阵列块LAB由 16 个宏单元组成,多个LAB通过可编程连线阵PIA和全局总线连接在一起,并构成所需要的逻辑。全局总线由所有的专用输入、I/O控制块和宏单元馈给信号送至PIA, PIA再把这些信号再送到器件内各个地方。
第9章 存储器和可编程逻辑器件
可编程I/O单元
输入/输出单元简称I/O单元或IOC,它是内部信号到I/O引脚的接口部分。由于CPLD通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号常常需要锁存,因此I/O常作为一个独立单元来处理。 通过编程可以使每个I/O引脚单独地配置为输入、输出和双向工作、寄存器输入等各种不同的工作方式,因而使I/O端的使用更为方便、灵活。图 9-37 示出了Lattice公司ispLSI 1016 的输入、输出单元(IOC)的结构图。该单元有输入、输出和双向I/O三类组态,靠控制输出三态门使能的MUX来选择。MUX有两个可编程地址输入A1A0(图中为未编程状态)。
第9章 存储器和可编程逻辑器件
当A1A0=00时,三态缓冲器的输出使能为高电平,IOC处于专用输出组态;若A1A0=01或 10,则将由逻辑块GLB送来的信号控制使能,处于双向I/O组态或具有三态缓冲电路的输出组态;若A1A0=11,则使能端接地,I/O处于专用输入组态。第二行MUX用来选择输出极性和选择信号的输出途径。第三行MUX用来选择输入组态用何种方式输入,即为寄存器输入还是锁存器输入,它靠D触发器中的R/L端编程来确定。以上各种I/O组态可以用图 9-38 所示各电路表示。
第9章 存储器和可编程逻辑器件
图 9-37 ispLSI 1016的IOC结构图
第9章 存储器和可编程逻辑器件
图 9-38 IOC的各种组态
第9章 存储器和可编程逻辑器件
图 9-39 MAX7000A结构框图
第9章 存储器和可编程逻辑器件
2. 现场可编程门阵列FPGA
它由可配置逻辑块(CLB-Confiqurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IR-Interconnect Resource)三部分组成。可配置逻辑块CLB是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关, 它们将各个CLB之间或CLB、 IOB之间以及IOB之间连接起来,构成特定功能的电路。
第9章 存储器和可编程逻辑器件
图 9-40 FPGA的基本结构
第9章 存储器和可编程逻辑器件
FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SRAM或熔丝图上。基于SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM、E2PROM或计算机软、硬盘中。人们可以控制加载过程,在现场修改器件的逻辑功能, 即所谓现场编程。
可配置逻辑块(CLB)一般有三种结构形式: ① 查找表结构; ② 多路开关结构; ③ 多级与非门结构。不同厂家生产的FPGA, 其CLB、 IOB等结构都存在较大的差异,下面以Xilinx公司的产品为例, 简要介绍CLB、 IOB及IR的基本特点。
第9章 存储器和可编程逻辑器件
1) 可配置逻辑块(CLB)
图 9-41 XC4000的CLB结构图
第9章 存储器和可编程逻辑器件
图 9-42 CLB的配置
第9章 存储器和可编程逻辑器件
$$