FPGA/CPLD结构与应用
- 格式:ppt
- 大小:1.62 MB
- 文档页数:43


FPGA-CPLD原理及应用课程设计报告
题目: 万年历设计
学院: 信息与电子工程学院
专业: 电子信息工程
学号: XXXXXXXX
姓名: XXXXXX
指导老师: XXXXXX
时间: 2015.12.20-2015.12.23山东工商学院 课程设计报告
1 一、摘要
设计从系统硬件出发,由CPU、总线、RAM、外接设备等构成SOPC Builder的硬件系统,通过Nios II DE2开发的嵌入式软件编写并嵌入SOPC Builder的硬件中实现万年历的整体开发。通过应用SoPC Builder开发工具,设计者可以摆脱传统的、易于出错的软硬件设计细节,从而达到加快项目开发、缩短开发周期、节约开发成本的目的并具有高集成度、设计灵活和可移植性较好。
关键词:万年历 SOPC SOPC Builder Nios II DE2
二、设计要求
用Nios II DE2 开发板的LCD显示电子钟的日期和时间。LCD分两行显示,第1行显示年、月、日;第2行显示时、分、秒。用输入BUTTON[0]来控制LCD行的修改,同时让Nios II DE2开发板上的绿色发光二极管亮灭来表示这个选择。当BUTTON[0]按一下后,LEDG3亮,可以修改年、月和日的数字;再按一下BUTTON[0]后,LEDG3灭,可以修改时、分和秒的数字。
另外用输入按钮BUTTON[3]来控制日期和时间的修改,当处于日期修改方式时,每次按动一次BUTTON[3],依次更换“年”、“月”和“日”的修改。当处于时间修改方式时,每次按动一次BUTTON[3],依次更换“时”、“分”和“秒”的修改。修改对象被选中后,按动BUTTON[2]输入按钮可以增加显示的数字;按动BUTTON[1]输入按钮可以减少显示的数字。
可编程逻辑器件CPLD和FPGA的特点和应用
一、可编程逻辑器件(CPLD)的特点和应用:
CPLD是一种具有很高逻辑容量的可编程逻辑器件,它通常由可编程逻辑单元(PLE)和可编程互连网络(PIN)组成。CPLD的主要特点如下:
1.逻辑容量大:CPLD的逻辑容量通常可以达到数千个逻辑门等效。这使得CPLD非常适合那些需要大规模逻辑功能的应用,如控制器、通信接口和高级数学运算等。
2.可编程性强:CPLD可以通过编程操作来实现不同的逻辑功能。它使用类似于电荷耦合器(CPL)的可编程逻辑单元来实现逻辑功能,其中每个CPL可以实现与或非门、与非门或非与门等逻辑运算。
3.器件内部拓扑复杂:CPLD具有丰富的内部互连网络,可以将各个逻辑元件之间的信号按照需要进行连接。这使得CPLD可以实现复杂的信号处理和数据流处理功能。
4.快速重编程:CPLD可以在运行时进行在线编程,从而允许系统进行动态配置和故障恢复。这一特点使得CPLD广泛应用于技术验证、原型设计和快速迭代开发等场景。
CPLD的应用主要集中在以下几个领域:
1.控制器:CPLD可以用于实现各种控制器,如数字信号处理器(DSP)的外围控制器、数据采集/输出控制器等。其高逻辑容量和可编程性强的特点使得CPLD非常适合这些应用场景。 2. 通信接口:CPLD可以实现多种通信协议和接口,如串行通信接口(SPI/I2C/UART)、嵌入式总线接口(PCI/USB/Ethernet)等。这些接口在通信系统中起到了关键的作用。
3.高级数学运算:CPLD可以实现各种高级数学运算,如矩阵运算、滤波运算、FFT运算等。这些运算对于数字信号处理(DSP)和图像处理等应用非常重要。
4.逻辑分析仪:CPLD可以实现逻辑分析仪的功能,用于捕获和分析数字信号的时序和逻辑关系。逻辑分析仪在系统调试和故障分析中非常有用。
二、现场可编程门阵列(FPGA)的特点和应用:
FPGA是一种具有大规模逻辑容量和可编程性的可编程逻辑器件。它与CPLD相比,具有更高的逻辑容量和更复杂的内部互连网络,因此可以实现更复杂的逻辑功能。以下是FPGA的主要特点:
cpld和fpga的区别与优缺点
FPGA(Field Programmable Gates Array 现场可编程门阵列,内部结构为门阵列构成静态存储器(SRAM)。该SRAM可构成函数发生器,即查找表,通过查找表可实现逻辑函数功能)
CPLD(Complex Programmable Logic Device 复杂可编程逻辑器件,内部结构为“与或阵列”。该结构来自于典型的PAL、GAL器件的结构。任意一个组合逻辑都可以用“与—或”表达式来描述,所以该“与或阵列”结构能实现大量的组合逻辑功能)
简单的“与或”阵列:(PAL、GAL、CPLD)
含查找表的逻辑单元:(FPGA)
CPLD和FPGA的主要区别:
1、布线能力
CPLD内连率高,不需要人工布局布线来优化速度和面积,较FPGA更适合于EDA芯片设计的可编程验证。
2、延迟小预测能力
CPLD连续式布线结构决定时序延时是均匀的和可预测的,FPGA分段式布线结构决定了不可预测时间延迟。
3、集成度的不同
CPLD:500 ~ 50000门; FPGA:1K ~ 10M 门
4、应用范围的不同
CPLD逻辑能力强而寄存器少,适用于控制密集型系统;
FPGA逻辑能力较弱但寄存器多,适于数据密集型系统。
CPLD和FPGA的优点:
1.规模越来越大,实现功能越来越强,同时可以实现系统集成。
2.研制开发费用低,不承担投片风险,使用方便。
3.通过开发工具在计算机上完成设计,电路设计周期短。
4.不需要设计人员了解很深的IC知识,EDA软件易学易用。
5.通过FPGA和CPLD开发的系统成熟后,可以进行ASIC设计,形成批量生产。
EDA技术
FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。
CPLD/FPGA的区别
CPLD和FPGA是20世纪80年代中后期出现的,Altera公司和Xilinx公司分别推出了类似于PAL结构的扩展型CPLD(Complex Programmable Logic
Device)和与标准阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构、逻辑单元灵活、集成度高、适用范围宽、用户可编程等特点。
利用CPLD/FPGA芯片,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发上市的时间、降低了开发成本。
此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。
CPLD和FPGA都是可编程的,二者有许多相似的地方,但二者也有显著的本质区别,二者之间的区别主要在于:
(1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑,例如触发器多的电路结构适合使用FPGA,而CPLD适用于触发器少而乘积项多的电路结构;
(2)CPLD的内部组成结构决定了它的时序延迟是均匀和可预测的,而FPGA的组成结构决定了它的延迟是不可预测的;
(3)在编程上FPGA比CPLD更具有灵活性,CPLD通过修改具有固定内连电路的逻辑功能来编程,而FPGA主要通过改变内部连线的布线来编程;
(4)CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或FLASH技术,掉电可以保存数据和程序,所以无需另外的外部存储器芯片来存放程序和数据,使用起来简单;而FPGA内部使用的是SDRAM,掉电后会丢失编程信息,所以需要外部存储器,使用方法复杂;
(5)在编程次数上,CPLD使用EEPROM或FLASH,编程次数可达1万次左右,而FPGA使用SDRAM编程,所以其编程次数为无限次;CPLD的优点是系统掉电编程信息不丢失;