关于CPLD与FPGA的对比分析

关于CPLD与FPGA的对比分析1.PLD/FPGA/CPLDPLD(ProgrammableLogicDevice):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按照设计要求运用开发工具将这些片内的元件连接起来,此过程称为编程;FPGA:基于查找表技术,要外挂配置用的EEPROM的PLD产品;由逻辑功能块排列为阵列,并由可编程的内部连线连接…

大家好,又见面了,我是你们的朋友全栈君。

1.PLD/FPGA/CPLD

    PLD(Programmable Logic Device):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按照设计要求运用开发工具将这些片内的元件连接起来,此过程称为编程;

    FPGA:基于查找表技术,要外挂配置用的EEPROM的PLD产品;由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块。

    CPLD(复杂可编程逻辑器件 Complex Programmable Logic Device):基于乘积项技术,不需要外挂配置用的PLD产品。由可编程的与门,或门阵列以及宏单元构成。与门,或门阵列可以重新编程,实现多种逻辑功能。宏单元则可以实现组合时序逻辑功能模块

2.CPLD与FPGA的结构

    CPLD一个基本单元(宏单元)就可以分解十几个甚至20,30多个组合逻辑输入,而FPGA的一个基本单元(LUT)只能处理4输入的组合逻辑,由此看来,CPLD适合用于设计译码等复杂的组合逻辑电路

    FPGA中包含的基本单元触发器数量很多,成千上万,而CPLD一般只能做到512个逻辑单元。因此,在设计中使用到大量触发器,如设计一个复杂的时序逻辑电路,那么就应该用FPGA。

3.CPLD的工作原理

    CPLD是基于乘积项的,此种CPLD的结构主要包括宏单元,可编程的连线(PIA)和I/O控制模块,基本逻辑功能就是由宏单元来实现的。

    PIA则起到复杂信号传递,连接所有宏单元的作用,I/O控制块负责输入输出的电气特性控制。INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2是全局时钟,清零和输出使能信号,这些信号有专用连线与CPLD中每个宏单元相连。

                                    关于CPLD与FPGA的对比分析

                                                                     CPLD器件结构图 

    CPLD的宏单元左侧是乘积项阵列,即“与或”阵列,每个交叉点都是一个可编程熔丝,如果导通就实现“与”逻辑,后面的乘积项选择矩阵是一个“或”阵列,两者一起实现组合逻辑。最右侧是一个可编程的D触发器,它的时钟,清零输入都可以编程选择。

                                       关于CPLD与FPGA的对比分析

                                                                 CPLD宏单元图

4.FPGA的工作原理

    FPGA是基于查找表的原理与结构,查找表简称LUT(Look-Up-Table),本质上就是一个RAM(掉电不保存数据),目前使用最多的是4输入LUT,用户通过原理图或硬件描述语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

                                        关于CPLD与FPGA的对比分析

                                                 4输入与门实现逻辑电路和LUT的实现方式

参考博文:https://www.cnblogs.com/chensimin1990/p/5684329.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136458.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基础算法-查找:插值查找

    基础算法-查找:插值查找

    2021年9月6日
    54
  • jmeter并发测试教程_jmeter进行并发测试教程[通俗易懂]

    jmeter并发测试教程_jmeter进行并发测试教程[通俗易懂]jmeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,很多用户使用的时候不知道jmeter怎么进行并发测试,接下来就跟小编一起来看看吧,有需要的小伙伴不要错过!jmeter怎么进行并发测试1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。2、点击线程组,右击添加→取样器→HTTP请求…

    2022年9月30日
    3
  • logstash高速入口

    logstash高速入口

    2022年1月10日
    48
  • Gamma校正原理及实现

    Gamma校正原理及实现gamma校正原理:  假设图像中有一个像素,值是200,那么对这个像素进行校正必须执行如下步骤:   1.归一化:将像素值转换为 0~1 之间的实数。算法如下:(i+0.5)/256 这里包含1个除法和1个加法操作。对于像素 A 而言 ,其对应的归一化值为 0.783203。   2.预补偿:根据公式 ,求出像素归一化

    2022年6月29日
    26
  • 魔兽世界 | 宏命令教程

    魔兽世界 | 宏命令教程前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、什么是宏命令有了宏命令,可以很大程度的解放双手,开启懒人脸滚键盘模式,本篇文章就简单讲解一下基本宏指令,并尝试完成一套一件输出宏二、基本宏速查表#showtooltip多用于宏命令的开头,让按钮显示技能的说明和技能的图标/castxxx施放技能,如/

    2025年8月3日
    4
  • java定时任务实现的几种方式注解(JAVA定时任务)

    摘要:在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,…

    2022年4月14日
    779

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号