草庐IT

FPGA和CPLD芯片选型介绍(三)

wkonghua 2023-05-10 原文

CPLD器件(以Xilinx和Altera为例)

对CPLD器件的介绍和选型仍然以主流厂商Xilinx和Altera的器件为例进行简单介绍。FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理,通常的分类方法是:

将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

在以往设计中如果设计需要简单的组合逻辑电路,无需进行太多更改,或者需要瞬时接通电路,那么CPLD是不错的选择。否则,对于大多数其他应用,FPGA通常是首选。有时可以在设计案例中看到CPLD + FPGA的组合设计。在这些案例中,CPLD通常用于实现前面提到的简单组合逻辑功能,并负责“引导"FPGA以及控制整个电路板的复位和引导顺序。因此,根据应用程序,可能需要在设计中使用它们。

两类器件差异

CPLD

FPGA

内部结构

Product一term

Look一up Table

程序存储

内部EEPROM

SRAM,外挂EEPROM

资源类型

组合电路资源丰富

触发器资源丰富

集成度

使用场合

完成控制逻辑

能完成比较复杂的算法

速度

其他资源

-

EAB,锁相环等

保密性

可加密

般不能保密

近些年,随着FPGA工艺不断发展,有逐步取代CPLD的趋势,从Xilinx和Altera官网可以查到近十年来CPLD几乎没有推出新的产品,而FPGA则在不断推陈出新,很多在以前CPLD的优势也已逐渐被FPGA追平并超越。(个人观点,不知是否正确,欢迎大家一起讨论)

另一种说法是现在的CPLD其实就是FPGA+合封或内嵌的FPGA,通过FPGA内嵌flash实现自加载,传统基于宏单元的CPLD基本停产了。

下面将分别对Xilinx和Altera的CPLD做简单介绍。

Xilinx CPLD:

详细的CPLD信息及选型可以直接参考官网:https://www.xilinx.com/products/silicon-devices/cpld.html

在这里,主要简单介绍一下Xilinx CPLD的不同系列及工艺。目前Xilinx市场主推的CPLD主要包括XC9500XL系列和CoolRunner-II系列(包括XC2Cxx和XA2Cxx两个系列),参考下图。

以上CPLD均是10年前推出的,使用开发套件为ISE Design Suite,近些年没有在推出新的产品,在选型时可多方面综合考虑进行选择。

Altera CPLD:

Altera MAX® CPLD 系列采用独特的即时启动、非易失性架构,提供低功耗片上功能。CPLD主要包括20年前推出的CPLD家族(已逐渐淘汰)、MAX II、MAX IIZ、MAX V系列CPLD,可直接查阅官网信息选择:英特尔® MAX® 系列 FPGA 和 CPLD - 英特尔® FPGA (intel.cn)

Altera CPLD中MAX V为2010年推出,是最新的CPLD型号,如果需要选型的话建议从这个系列里选择,其他比较老的器件不建议选择,主要是因为工艺老旧,很多已经停产,不易采购。

以上对两家公司的CPLD做简单介绍,具体使用需去官网查详细的芯片信息,不过目前CPLD逐步没了存在感,FPGA优势和性价比更高,因此在选型时如果能满足需求的话可以考虑使用FPGA替代。

2023/02/04

参考:

FPGA与CPLD基本结构与区别 - 知乎 (zhihu.com)

Xilinx(赛灵思)中文社区——认清CPLD和FPGA (eepw.com.cn)

有关FPGA和CPLD芯片选型介绍(三)的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  3. FPGA 之 时钟,时钟域, 以及复位系统的设计 - 2

    FPGA时钟和时钟域时钟树所谓时钟树为FPGA内部资源,分:全局时钟树,区域时钟树,IO时钟树原则上优先使用全局时钟树,在GT接口上使用IO时钟树,一般工具也会对GT时钟加以限制;时钟树使用方式正确的物理连接FPGA会由物理管脚专门用于全局时钟设置,通过查询数据手册可以在PCB设计阶段进行确认,当外部时钟接入此管脚时,工具会自动占有全局时钟树资源,当接入普通信号时不会分配时钟树资源;恰当的代码描述原语的使用,即BUFG的使用,可以将PLL的输出等内部时钟进行全局时钟资源的分配;IO时钟资源需要参考相应接口手册,以ultrascale的GTH为例,其JESD204的时钟方案针对不同的子类会由不同

  4. MicroBlaze在纯FPGA下 Xilinx SDK固化程序到外部SPI FLASH - 2

    外部SPIFLASH:MicronN25Q128A13ESE40G(128Mbit(16MByte))FPGA:XC7A100T CPU:Microblaze第一种情况:Microblaze在简单的应用,比如运行LED,IIC,SPI,UART之类的低俗接口驱动,或做一些简单的辅助型工作时,一般生成的applicationelf文件都不大,在10几KB或者几十,百几KB,此时使用FPGA内部的BRAM资源已经足够。XC7A100T本身就有600几KB的BRAM资源。这种情况下直接将硬件流文件和elf文件合并为download.bit文件,在直接烧录到外部SPIFLAH即可。1.Xilinx--

  5. AT24C04、AT24C08、AT24C16系列EEPROM芯片单片机读写驱动程序 - 2

    一、概述在之前的一篇博文中,记录了AT24C01、AT24C02芯片的读写驱动,先将之前的相关文章include一下:1.IIC驱动:4位数码管显示模块TM1637芯片C语言驱动程序2.AT24C01/AT24C02读写:AT24C01/AT24C02系列EEPROM芯片单片机读写驱动程序本文记录分享AT24C04、AT24C08、AT24C16芯片的单片机C语言读写驱动程序。二、芯片对比介绍型号容量bit容量byte页数字节/页器件寻址位可寻址器件数WordAddress位数/字节数备注AT24C044k5123216A2A149/1WordAddress使用P0位AT24C088k1024

  6. FPGA配置之SelectMAP总线 - 2

    1FPGA启动流程图1 7SerialsFPGA配置流程1.1DevicePower-Up1.2ClearConfigurationMemory在上电后的任何时间内,可以对Slave-FPGA配置存储器(BlockRAM)进行复位处理。复位方式是将PROGRAM_B信号拉低(下降沿有效)。1.3SampleModePins当复位完成后,INIT_B恢复高电平,Slave-FPGA对M[2:0]模式引脚进行采样,然后开始在CCLK上升沿接收配置数据。1.4Synchronization在接收配置数据前,Slave-FPGA首先进行总线位宽检测。主机发送的配置文件中,“BusWidthAutoDe

  7. Spring Cloud Gateway 服务网关的部署与使用详细介绍 - 2

    为什么需要服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调用的微服务数量很多时,它需要了解每个服务的接口,这个工作量很大。有了网关之后,网关作为系统的唯一流量入口,封装内部系统的架构,所有请求都先经过网关,由网关将请求路由到合适的微服务。使用网关的好处1)简化客户端的工作。网关将微服务封装起来后,客户端只需同网关交互,而不必调用各个不同服务;(2)降低函数间的耦合度。一旦服务接口修改,只需修改网关的路由策略,不必修改每个调用该函数的客户端,从而减少了程序间的耦合性(3)解放开发

  8. ruby - Vim 详细介绍了 Rails 的自动完成功能 - 2

    我发现python的细节自动完成很好RubyonRails有类似的方法描述吗? 最佳答案 有篇不错的文章"UsingVIMasacompleteRubyonRailsIDE"其中引用rails.vim.这似乎是RailsforVIM的实际标准。(不过,我还没有使用过它,但很快就会尝试。)这允许你做很多与Rails相关的任务,但对自动完成没有帮助。还有一篇"RubyAutocompleteinVim"(遗憾的是不再可用)这就是您要搜索的内容。我不知道,理解Rails的所有插件魔法和元编程的东西是否足够聪明。它至少在vim的配置中提到了

  9. 华为防火墙简单介绍 - 2

    防火墙防火墙分类第一代防火墙:包过滤防火墙包过滤防火墙的缺点第二代防火墙:代理防火墙第三代防火墙:状态防火墙第四代防火墙:UTM防火墙第五代防火墙:下一代防火墙华为防火墙介绍安全策略防火墙的会话表防火墙分类第一代防火墙:包过滤防火墙属于第一代防火墙技术,在没有专用防火墙设备时,一般由路由器实现该功能。将网络上传送数据包的IP首部以及TCP/UDP首部,获取发送源的IP地址和端口号,以及目的地的IP地址和端口号,并将这些信息作为过滤条件,决定是否将该分组转发至目的地网络分组过滤的执行需要设置访问控制列表。访问控制列表也可以称为安全策略(简称策略)或安全规则(简称规则)。类似于进站检票的做法,符合

  10. Qt样式表之 QSS 语法介绍;QLineEdit、 - 2

     内容来自Qt样式表之QSS语法介绍-3YL的博客Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(CascadingStyleSheets, CSS教程)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界。类型选择器QPushButton匹配QPushButton及其子类的实例ID选择器QPushButton#okButton匹配所有objectName为okButton的QPushButton实例。 CSS常用样式1CSS文字属性注:px:相对长度单位,像素(Pixel)。pt:绝对长度单位,点(Point

随机推荐