FPGA与CPLD的概念及其区别[通俗易懂]

FPGA与CPLD的概念及其区别[通俗易懂]一、FPGA与CPLD的基本概念1.CPLDCPLD主要是由可编程逻辑宏单元(LMC,LogicMacroCell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性…

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

一、FPGA与CPLD的基本概念

1.CPLD    

 CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。较常用的有Xilinx公司的EPLD和Altera公司的CPLD。

2. FPGA    

FPGA通常包含三类可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O块完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,FPGA在可编程逻辑块的规模,内部互连线的结构和采用的可编程元件上存在较大的差异。较常用的有Altera、Xinlinx和Actel公司的FPGA。FPGA一 般用于逻辑仿真。电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。然而随着电路规模的不断增大,工作 频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要做硬件仿真。FPGA就可以实现硬件仿真以做成模型机。将软件模拟后的线路经一定处理后下载到FPGA,就可容易地得到一个模型机,从该模型机,设计者就很直观地测试其逻辑功能及性能指标。

二、FPGA与CPLD区别    

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:    

①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。    

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。    

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。    

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。    

⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。    

⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。    

⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编 程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其 优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。    

⑧CPLD保密性好,FPGA保密性差。    

⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。     随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市常许多设计人员已经感受到 CPLD容易使用。时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度 高达数十万门的CPLD所带来的好处。

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

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

(0)
上一篇 2022年6月4日 上午7:46
下一篇 2022年6月4日 上午8:00


相关推荐

  • 自然语言理解NLU

    自然语言理解NLU自然语言理解 NaturalLangu 简称 NLU 技术 涵盖领域非常广泛 包括句子检测 分词 词性标注 句法分析 文本分类 聚类 文字角度 信息抽取 自动摘要 机器翻译 自动问答 文本生成等多个领域 NLP 涉及哪些研究内容 自然语言理解的研究内容包含太多了 包括中文自动分词 Chinesewords

    2026年3月19日
    1
  • AI智能体|扣子(Coze)搭建【小红书对标账号爆款采集】工作流

    AI智能体|扣子(Coze)搭建【小红书对标账号爆款采集】工作流

    2026年3月12日
    2
  • 三十名网友共同自主研发粤语打字软件「建议收藏」

    三十名网友共同自主研发粤语打字软件「建议收藏」来源:羊城晚报 日期:2007-7-23  王许乐是厚街镇前进小学的语文教师。2005年底,他和网上其他29人一起用半年时间研发了一套粤语打字软件,在网友中大受欢迎,下载量过万。王许乐等人研发的这套轻松粤拼输入法目前已经推出了两个版本,他们正打算推出进一步改良版。 王许乐一直致力于粤语研究。2005年底,一个偶然的机会,他在网络上认识了一大批热爱粤语的人,大家一起交流从简单的粤语方言到省

    2022年7月16日
    16
  • 30 个 Python 编程实用技巧

    30 个 Python 编程实用技巧作者主页 海拥作者简介 CSDN 全栈领域优质创作者 HDZ 核心组成员 蝉联 C 站周榜前十粉丝福利 粉丝群每周送四本书 每月送各种小礼品 搪瓷杯 抱枕 鼠标垫 马克杯等 直接跳到末尾去评论区领书今天 我给大家带来了一些基本的 Python 编程技巧 所有这些技巧都可以帮助您减少代码并优化执行 你可以在处理常规任务时轻松地在实时项目中使用它们 目录 1 就地交换两个数字 2 比较运算符的链接 3 使用三元运算符进行条件赋值 4 使用多行字符串

    2026年3月16日
    47
  • Gson将map转换成JsonObject出现null值

    Gson将map转换成JsonObject出现null值Gson将map转换成JsonObject出现null值异常信息:Exceptioninthread”main”java.lang.IllegalStateException:NotaJSONObject:nullatcom.google.gson.JsonElement.getAsJsonObject(JsonElement…

    2026年4月13日
    6
  • Hunyuan-MT Pro保姆级教程:从部署到多语言翻译全流程

    Hunyuan-MT Pro保姆级教程:从部署到多语言翻译全流程

    2026年3月13日
    2

发表回复

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

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