admin 管理员组

文章数量: 1086019


2024年12月30日发(作者:doc命令窗口安装启动mysql)

CPLD/FPGA设计及应用(可编程逻辑器件)

- 1 -

可编程逻辑器件简答

1.简述CPLD/FPGA的几种配置模式?每种配置模式的基本特点是什么?

答:载入配置数据的方式有三种:JTAG方式;主动配置方式和被动配置方式。

(1) JTAG方式是由JTAG命令来配置CPLD/FPGA器件的方式。

(2) 主动配置方式由器件引导配置操作过程,它控制着外部存储器和初始化过程。

(3) 被动配置方式由系统中的其他设备发起并控制配置过程。FPGA器件在配置过程中

完全是被动的,它仅输出一些状态信号来配合配置过程。

2.大规模可编程逻辑器件的编程工艺包括哪几种类型;并说明各自的特点?

答:可编程逻辑器件按照编程工艺分为以下六种类型:

(1) 熔丝型器件,根据设计的熔丝图文件来烧断对应的熔丝,达到编程的目的。

(2) 反熔丝型器件,在编程处通过击穿漏层使得两点之间导通。

(3) UEPROM型器件(紫外线擦除电可编程逻辑器件),此类器件用较高的编程电压进

行编程,当需要再次编程时,用紫外线进行擦除,可多次编程。

(4) E2PROM型器件(电可擦写编程器件),这是对EPROM工艺的改进,不需要紫外线

擦除,而是直接用电擦除。

(5)SRAM型器件(查找表结构的器件),这种编程方式可进行任意次数的编程,在编程速

度、编程要求上要优于前四种器件,SRAM型器件的编程信息存放在RAM中,在断电后就

丢失了,再次上电需要再次编程,需要专用器件来完成这类配置操作。

(6)Flash型器件,可以实现多次编程,且能做到掉电后无需重新配置。

另一种解法:目前常见的大规模可编程逻辑器件的编程工艺有下面3种:

(1)基于电可擦除存储单元的E2PROM或FLASH技术。CPLD一般采用此技术进行编程。

CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保持。

(2)基于SRAM查找表的编程单元,对该类器件,编程信息是保存在SRAM中的,SRAM

在掉电后编程信息立即丢失,在下次上电后,需重新载入编程信息。因此,该类器件的编程

一般称为配置。大部分FPGA采用此种编程工艺。

(3)基于反熔丝编程单元。反熔丝技术编程时一次可编程的。

相比之下,电可擦除编程工艺的优点是编程后信息不会因掉电而丢失,但编程次数有限,编

程速度不快。SRAM型的FPGA配置次数为无限,在加电时可随时更改逻辑,但掉电后芯片

中的信息随即丢失,每次上电必须重新载入信息,下载信息的保密性不如前者。

3.按照结构类型划分,可编程逻辑器件有哪几种类型,并简述它们各自的特点?

答:(1)乘积项结构器件。其基本结构与“与——或阵列”的器件相同。

(2)查找表结构器件。其基本结构类似于“门阵列”的器件,他又简单的查找表组成可编

程逻辑门,再构成阵列形式。

4.什么是半定制设计方法,半定制设计法按实现方法不同可分为几种类型?

答:半定制是一种约束性设计方式。约束的主要目的是简化设计、缩短设计周期、降低设计

成本和提高芯片成品率。

半定制法按逻辑实现的方式不同分为门阵列法、标准单元法和可编程逻辑器件法三种。

5.简述什么是被动配置方式,被动配置方式包括哪几种具体方式,各自特点是什么?

答:被动配置方式由系统中的其他设备发起并控制配置过程。FPGA器件在配置过程中完全

是被动的,它仅输出一些状态信号来配合配置过程。

被动配置方式又细分为:被动串行、被动串行异步、被动并行同步、被动并行异步和快速被

动并行。

被动串行配置方式是将配置数据从存储器中读出,写入到FPGA的配置数据接口DATA0上,

CPLD/FPGA设计及应用(可编程逻辑器件)

- 2 -

数据由配置时钟DCLK的上升沿打入FPGA,每一个配置时钟周期输入1彼特数据。被动

串行异步配置方式就是将配置数据从存储器中读出,写入到FPGA的串行输入数据接口上,

整个配置过程由异步控制信号来控制。被动并行同步配置方式是将配置数据从存储器中读

出,写入到FPGA的秉性输入数据接口上,即在第一个配置时钟信号的上升沿江一个字节

的数据锁存,然后由随后的8个配置时钟的下降沿将该字节数据一位一位移入到FPGA中。

可见,此种配置方式速度较低。被动并行异步配置方式是将配置数据从存储器中读出,写入

到FPGA的并行输入数据接口上,整个配置过程由异步控制信号来控制快速被动并行是将

配置数据从存储器中读出,写入到FPGA并行数据输入接口上,数据由配置时钟DCLK大

家上升沿打入FPGA,每一个配置时钟周期输入1字节数据,故此方式的配置速度较快。

6.简述CPLD与FPGA的异同点?

答:根据结构特点和工作原理,CPLD和FPGA的分类方法是:以乘积项结构方式构成逻辑

行为的器件称为CPLD,以查找表法结构方式构成逻辑行为的器件称为FPGA。

FPGA和CPLD都是可编程ASIC器件,同时,对用户而言,CPLD和FPGA的设计流程是

相似的。它们有很多共同特点,由于CPLD和FPGA硬件结构上的差异,使得它们具有各

自的特点:

(1)在结构工艺方面,CPLD多为乘积项结构,工艺多为EECMOS,也包含EEPROM、Flash

和反熔丝等不同工艺;FPGA多为查找表加寄存器结构;实现工艺多为SROM,也包含Flash、

Anti-Fuse等工艺。

(2)在触发器数量上,CPLD触发器数量少,这使得CPLD更适合于触发器有限而乘积项

丰富的结构,即CPLD更适合完成组合逻辑;FPGA触发器数量众多,这使得FPGA更适合

于触发器丰富的结构,即FPGA更适合于完成复杂时序逻辑。

(3)在规模与逻辑复杂度方面,CPLD的规模小,逻辑复杂度低,因而用于实现简单设计;

而FPGA的规模大,逻辑复杂度高,故用于实现复杂设计。

(4)在延时方面,CPLD的Pin to Pin延时是固定的;FPGA的Pin to Pin延时是不可预测的,

因此对FPGA而言,时序约束和仿真非常重要。

(5)在互连结构和连线资源方面,CPLD采用集总式互连结构,相对布线资源有限,CPLD

的连续式布线结构决定了它的时序延迟是均匀的和可预测的;FPGA采用分布式互连结构,

具有丰富的布线资源,故FPGA布线灵活,但FPGA的分段式布线结构决定了其延迟的不

可预测性,使时序更难规划。

(6)在编程灵活性上,FPGA比CPLD具有更大的灵活性。因为CPLD是通过修改具有固

定内连电路的逻辑功能来编程,FPGA主要是通过改变内部连线的布线来编程;FPGA可在

逻辑门下编程,而CPLD是在逻辑块下编程。

(7)在功耗方面,一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

(8)在编程方式上,CPLD主要是基于EEPROM或Flash存储器编程,编程次数可达1万

次,优点是系统断电时编程信息也不丢失。FPGA大部分是基于SRAM编程,编程信息在系

统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中,其优点是可以

编程任意次,从而实现板级和系统级的动态配置。

(9)在使用方便程度上,CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或

Flash技术,无需外部存储器芯片,使用简单;而FPGA的编程信息一般需存放在外部存储

器上,使用方法复杂。

(10)在保密性方面,CPLD保密性好,FPGA保密性较差。因为一般FPGA不容易实现加

密。

(11)在成本和价格方面,CPLD成本低,价格低,更适合实现低成本设计;FPGA成本高,

价格高,适合于高速、高密度的高端数字逻辑设计领域。

CPLD/FPGA设计及应用(可编程逻辑器件)

- 3 -

7.以MAX 7000为例,简述I/O控制的作用?

答: I/O控制块允许每个I/O引脚单独地配置为输入、输出和双向工作方式。

MAX 7000结构提供双I/O反馈,且宏单元和引脚的反馈是相互独立的。当I/O引脚被配置

成输入时,相关的宏单元可用于隐含逻辑。

8.以MAX 7000为例,简述其内部结构组成,说明宏单元内部结构?

答: MAX 7000器件包括逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列

和I/O控制块5部分。MAX 7000还含有4个专用输入,它们即可用作通用输入,也可作为

每个宏单元和I/O引脚的高速、全局控制信号即时钟(Clock)、清除(Clear)及两个输出使

能信号。

每个宏单元由逻辑阵列、乘积项选择矩阵和可编程寄存器等3个功能块组成其中逻辑阵列用

来实现组合逻辑,它为每个宏单元提供5个乘积项。乘积项选择矩阵把这些乘积项分配到

“或”门和“异或”门作为基本逻辑输入,以实现组合逻辑功能;或者把这些乘积项作为宏

单元中寄存器的辅助输入来实现清除、预置、时钟和时钟使能等控制功能。每个宏单元中有

一个共享扩展乘积项经非门后反馈到逻辑阵列中;宏单元中还存在并联扩展乘积项,该乘积

项从邻近宏单元借位而来。两种扩展乘积项可用来补充宏单元的逻辑资源。


本文标签: 配置 编程 逻辑 器件 方式