关于CPLD内程序是否会跑飞的讨论。

[复制链接]
4559|10
 楼主| tms320f240 发表于 2007-8-15 22:42 | 显示全部楼层 |阅读模式
昨天与一同学讨论时,他提及了CPLD的上电顺序和CPLD程序会跑飞这两个问题,我认为CPLD程序不存在跑飞的可能,毕竟其是基于硬件的,如果能够跑飞,岂不是意味着所有的TTL、CMOS电路都有跑飞的可能?他则认为,CPLD内程序如果用到变量,肯定会受到干扰,干扰后自然会跑飞。<br />呵呵,我们俩都是二把刀,没有深入研究,哪位高手讲讲这两个问题?谢谢了。
dpirly 发表于 2007-8-16 17:43 | 显示全部楼层

个人观点

我感觉应为上电顺序或者重启的不充分会使cpld内部的寄存器存在&nbsp;0&nbsp;或&nbsp;1&nbsp;状态,这样可能导致cpld进入不同的初始状态。如果代码写的很鲁棒的话应该很快回到正常状态的
_horse 发表于 2007-8-17 19:22 | 显示全部楼层

同样期待别人的答案

  
asak_1 发表于 2007-8-18 23:04 | 显示全部楼层

和程序的有关

如果程序设计得不好,CPLD内部的寄存器都可能出现亚稳态.一旦出现亚稳态,系统就等于跑飞了,并且其恢复时间也和设计有关.上电顺序也可能导致亚稳态,所以在CPLD和FPGA的设计中很强调同步设计和全状态设计,保证系统的鲁棒性,可以有效的减少系统失效的概率.
xzl 发表于 2007-8-20 13:05 | 显示全部楼层

设计时要考虑到"竞争"问题

不过遇到过CPLD出现问题,从新写过后就好了
wswh2o 发表于 2007-8-20 17:00 | 显示全部楼层

曾经遇到过这种情况

在使用状态机时,比如编码是001要变到010有时会跳到状态011,像这种情况有没有办法处理??
wolaiye3 发表于 2007-8-20 20:11 | 显示全部楼层

状态机的编码方式问题

大家都用000-&gt001-&gt011-&gt010-&gt110……这样每次只有一位变化,就不会出现那种状态错误的情况了
qjy_dali 发表于 2007-8-21 00:22 | 显示全部楼层

和程序有关

个人的简单观点是:如果是组合逻辑,那么就没有跑飞的说法。但是如果是时序逻辑,则一定会有受干扰而出错的机率,但算不上跑飞。
wswh2o 发表于 2007-8-21 08:35 | 显示全部楼层

7楼你好

可是还有可能是这种情况,比如从一个状态根据情况又肯能跳到另外2个状态的一个,这时候怎么编码呢??<br />
风中De舞者 发表于 2007-8-22 17:25 | 显示全部楼层

怎么会有程序跑飞?CPLD里根本就没有程序啊?

怎么会有程序跑飞?CPLD里根本就没有程序啊?&nbsp;&nbsp;你看到的程序已经被转化成电路和元件了&nbsp;&nbsp;里面根本没有程序&nbsp;&nbsp;只有门电路和熔点而已&nbsp;&nbsp;至于能不能实现逻辑功能还和很多因素有关了&nbsp;&nbsp;片子能不能完成任务要考虑到很多&nbsp;&nbsp;比如延时啊&nbsp;&nbsp;什么的&nbsp;&nbsp;&nbsp;这就看VHDL设计者的经验和水平了&nbsp;&nbsp;&nbsp;内部不存在程序&nbsp;&nbsp;也就不存在跑飞不跑飞的问题了
mic1984 发表于 2007-8-24 01:32 | 显示全部楼层

顶一下

楼上把我想说的都说的,顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部