两个进程中对同一信号赋值的问题??
是因为在VHDL和Verilog HDL中都不允许两个进程对同一信号进行赋
值(即多重驱动)。怎样解决在两个进程中对同一信号赋值的问题 不行就写在一个模块里啊^_^<br>
再不行,定义成wire,用三态,控制选择 为什么非要在两个模块里赋值? 写在同一个模块里面<br>
或者用控制电路触发<br>
写出来的代码要是可综合的 不能在两个进程中对同一信号赋值的原因是:楼主也说了,这是个多驱动的问题。从物理电路上看,就是两个以上输出接到一个输入上,如果一个输出0,一个输出1,那不是电流直接从电源到地,严重的就会烧掉。所以只有那些OC输出(通过上拉电阻来获得高电平)才可以多个输出接到一起。你在写代码的时候输出没有定义三态,都是直接输出的,当然就不能在多个进程中对同一信号赋值了。 那比如说 ,我想在一个信号的上升沿对a信号置1,在另一个信号的下降沿对a置0咋办? 可以写在同一模块里面,但是电平有效 好像用三态tri可以解决这个问题 原帖由 LOONG 于 2006-9-19 10:40 发表<br>
不行就写在一个模块里啊^_^<br>
再不行,定义成wire,用三态,控制选择 好办法,长见识了。 原帖由 duanqingqing 于 2006-9-22 17:10 发表<br>
那比如说 ,我想在一个信号的上升沿对a信号置1,在另一个信号的下降沿对a置0咋办? 如果你的设计非的是这样的,<br>
那么我想说大部分情况下都是因为你的架构有问题,<br>
考虑解决架构的问题,<br>
而不要为了解决问题而硬凑答案。