- 16
- 0
- 约 20页
- 2017-02-09 发布于重庆
- 举报
FPGA片内资源利用
实验五 FPGA片内资源利用
历史上,可编程逻辑器件经历了从PROM(Programmable Read Only Memory)、PLA(Programmable Logic Array)、PAL(Programmable Array Logic)、可重复编程的GAL(Generic Array Logic ),到采用大规模集成电路技术的EPLD,直至CPLD和FPGA的发展过程。
可编程逻辑器件大致的演变过程如下:
(1)20世纪70年代,熔丝编程的PROM和PLA器件是最早的可编程逻辑器件。
(2) 20世纪70年代末,对PLA进行了改进,AMD公司推出PAL器件。
(3) 20世纪80年代初,Lattice公司发明电可擦写的、比PAL使用更灵活的GAL器件。
(4) 20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出了世界上第一片FPGA器件。同一时期,Altera公司推出EPLD器件,较GAL器件有更高的集成度,可以用紫外线或电擦除。
(5) 20世纪80年代末,Lattice公司又提出在系统可编程技术,并且推出了一系列具备在系统可编程能力的CPLD器件,将可编程逻辑器件的性能和应用技术推向了一个全新的高度。
(6) 进入20世纪90年代后,可编程逻辑集成电路技术进入飞速发展时期。器件的可用逻辑门数超过了百万门,并出现了内嵌复杂功能模块(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC(System On a Programmable Chip).
CPLD的结构与工作原理
基于乘积项的PLD结构(PRODUCT-TERM)。在流行的CPLD中,Altera的MAX7000S系列器件具有一定典型性,在这里以此为例介绍CPLD的结构和工作原理。
MAX7000系列器件包含32~256个宏单元,其单个宏单元结构如图1。每16个宏单元组成一个逻辑阵列块(LAB)。每个宏单元含有一个可编程地“与”阵列和固定地“或”阵列,以及一个可配置寄存器,每个宏单元共享扩展乘积项和高速并联扩展乘积项,它们可向每个宏单元提供多达32个乘积项,以构成复杂地逻辑函数。
如图,宏单元左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。
图1、宏单元结构
FPGA的结构与工作原理
基于查找表结构(LOOK-UP-TABLE),LUT是可编程的最小逻辑构成单元,大部分FPGA采用基于SRAM的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器。一个N输入查找表(LUT)可以实现N个输入变量的任何逻辑功能。
以CYCLONE器件为例,CYCLONE器件主要由逻辑阵列块(LAB),嵌入式存储器块、I/O单元和PLL等模块构成,在各个模块之间存在着丰富的互连线和时钟网络。
CYCLONE器件的可编程资源主要来自逻辑阵列块(LAB),而每个LAB都是由多个LE来构成。LE,即逻辑单元是CYCLONE FPGA器件的最基本的可编程单元。
图2、逻辑单元(LE)内部结构
如图2,LE主要由一个4输入的查找表LUT、进位链逻辑和一个可编程的寄存器构成。4输入的LUT可以完成所有的4输入,1输出的组合逻辑功能,进位链逻辑带有进位选择,可以灵活地构成1位加法或者减法逻辑,并可以切换。每一个LE地输出都可以连接到局部布线、行列、LUT链、寄存器链等布线资源。
以康芯实验箱上的ACEX 1K为例,除了LE等基本单元,ACEX 1K 还提供了高性能的嵌入RAM模块,能够实现双口RAM,ROM,FIFO。提供了64bit,66MHZ外围组件接口(PCI)来满足在高性能通信系统中的关键要求。ACEX器件提供了PLL来进行时钟管理,包括CLOCKLOCK特性来改善I/O性能,CLOCKBOOST来将ACEX器件的系统时钟倍频。ACEX 1K器件也提供了MultiVolt I/O操作,使其能够与5.0V 3.3V 2.5V的电压工作器件接口。
试验内容
(1)RAM:
实验名称:设计正弦信号发生器
实验背景:
LPM(library of parameterized modules)参数可设置模块库,ALTERA提供的可参数化宏功能模块和LPM函数基于ALTERA器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些ALTERA特定器件的硬件功能。例如各类片上
原创力文档

文档评论(0)