打印

关于FPGA和CPLD,选择哪一个比较好?

[复制链接]
472|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sode|  楼主 | 2017-7-18 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于FPGA和CPLD,选择哪一个比较好?

这两者之间的主要区别是什么?对于高速的电路系统,选择哪一个比较好?

笼统的说,两者的区别在于资源的规模和芯片工作速度。FPGA规模大于CPLD,但系统工作频率低于CPLD。此外,PIN的延迟上,CPLD比FPGA要好。

由于FPGA内部资源比较丰富,如大量的寄存器,RAM,因此特别适合算法实现,如FFT,网络通讯协议等。

CPLD的工作速度高,延迟更容易确定,通常也比较小,因此适合作控制系统、译码部分,如总线控制器、开关网络等。

但是不要把这两者绝对起来,具体问题需要具体分析。例如很多人就用FPGA实现PCI总线接口。
   

用altera的flex 10ke 做了一个sdram 控制器但用max9000系列去编译设计,然后仿真, 时序一塌糊涂!按理说, max9000的fmax也很高呀。

无论是在FPGA还是在CPLD上进行设计,都必须充分利用所用芯片的体系结构才能设计一个高速的系统。MAX9000的速度确实比10KE快,但也不意味着就一定可行。

我姑且假设你的10KE逻辑的已经调试好了。因此你可能针对10KE的体系结构进行了优化。而这种优化对于9000来说很有可能是无效的,而且说不定会引入新的麻烦。例如,在10KE中,状态机通常用ONE-HOT编码方式效率会比较高,而在MAX9000中如果仍然采用ONE-HOT是否会同样有效呢?

此外,由于器件的结构特点,在进行大规模设计时,通常都会最初的行为设计进行一定程度的调整,例如一个大的状态机改变为几个层次小状态机等,否则是无法达到系统速度的。因此,通常不能指望最初的行为设计就是最终的逻辑设计,两者通常会有一定程度的差别。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1049

主题

1522

帖子

8

粉丝