打印

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

[复制链接]
3423|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tms320f240|  楼主 | 2007-8-15 22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天与一同学讨论时,他提及了CPLD的上电顺序和CPLD程序会跑飞这两个问题,我认为CPLD程序不存在跑飞的可能,毕竟其是基于硬件的,如果能够跑飞,岂不是意味着所有的TTL、CMOS电路都有跑飞的可能?他则认为,CPLD内程序如果用到变量,肯定会受到干扰,干扰后自然会跑飞。
呵呵,我们俩都是二把刀,没有深入研究,哪位高手讲讲这两个问题?谢谢了。

相关帖子

沙发
dpirly| | 2007-8-16 17:43 | 只看该作者

个人观点

我感觉应为上电顺序或者重启的不充分会使cpld内部的寄存器存在 0 或 1 状态,这样可能导致cpld进入不同的初始状态。如果代码写的很鲁棒的话应该很快回到正常状态的

使用特权

评论回复
板凳
_horse| | 2007-8-17 19:22 | 只看该作者

同样期待别人的答案

使用特权

评论回复
地板
asak_1| | 2007-8-18 23:04 | 只看该作者

和程序的有关

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

使用特权

评论回复
5
xzl| | 2007-8-20 13:05 | 只看该作者

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

不过遇到过CPLD出现问题,从新写过后就好了

使用特权

评论回复
6
wswh2o| | 2007-8-20 17:00 | 只看该作者

曾经遇到过这种情况

在使用状态机时,比如编码是001要变到010有时会跳到状态011,像这种情况有没有办法处理??

使用特权

评论回复
7
wolaiye3| | 2007-8-20 20:11 | 只看该作者

状态机的编码方式问题

大家都用000->001->011->010->110……这样每次只有一位变化,就不会出现那种状态错误的情况了

使用特权

评论回复
8
qjy_dali| | 2007-8-21 00:22 | 只看该作者

和程序有关

个人的简单观点是:如果是组合逻辑,那么就没有跑飞的说法。但是如果是时序逻辑,则一定会有受干扰而出错的机率,但算不上跑飞。

使用特权

评论回复
9
wswh2o| | 2007-8-21 08:35 | 只看该作者

7楼你好

可是还有可能是这种情况,比如从一个状态根据情况又肯能跳到另外2个状态的一个,这时候怎么编码呢??

使用特权

评论回复
10
风中De舞者| | 2007-8-22 17:25 | 只看该作者

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

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

使用特权

评论回复
11
mic1984| | 2007-8-24 01:32 | 只看该作者

顶一下

楼上把我想说的都说的,顶一下

使用特权

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

本版积分规则

6

主题

9

帖子

0

粉丝