verilog中一个信号在不同的always中的赋值问题

verilog语法不允许同一个信号在不同的always中的赋值,一旦你写了就报错,Error (10028): Can't resolve multiple constant drivers for net "ASRAM_CE1" at ASRAM.v(66)我就不明白了,为什么不允许,但是如果功能上有这个要求,你们怎么实现啊?

你想啊,always块实际综合出来的就是DFF,当时钟上升沿或者下降沿到了,才能把值打过去。如果你在不同的always中对同一个信号赋值,怎么综合?没见过这种DFF吧?呵呵~!~~~
如果有实现,你就在一个always中设一个flag,另一个always中,通过判断这个flag来进行赋值,间接进行赋值就行了~~~~~不过得设计好你的时序
有问题在联系哈~~~~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-22
我也是在学习中,你仔细看看夏老师的书,有专门讲解有关赋值方面的讲解。(中级篇的第六讲)
两个always中本身是同时进行的,所以输出时会产生竞争冒险现象。这是我理解到的。至于怎么解决我现在还没那道行。
第2个回答  2009-06-22
学习中
相似回答