集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 10174|回复: 23

两个进程中对同一信号赋值的问题??

[复制链接]
CHA 发表于 2010-6-26 02:03:26 | 显示全部楼层 |阅读模式
是因为在VHDL
和Verilog HDL中都不允许两个进程对同一信号进行赋
值(即多重驱动)。怎样解决在两个进程中对同一信号赋值的问题
CCIE 发表于 2010-6-26 02:59:17 | 显示全部楼层
不行就写在一个模块里啊^_^<br>
再不行,定义成wire,用三态,控制选择
 楼主| CHA 发表于 2010-6-26 03:40:32 | 显示全部楼层
为什么非要在两个模块里赋值?
CHANG 发表于 2010-6-26 04:59:42 | 显示全部楼层
写在同一个模块里面<br>
或者用控制电路触发<br>
写出来的代码要是可综合的
VVC 发表于 2010-6-26 06:48:31 | 显示全部楼层
不能在两个进程中对同一信号赋值的原因是:楼主也说了,这是个多驱动的问题。从物理电路上看,就是两个以上输出接到一个输入上,如果一个输出0,一个输出1,那不是电流直接从电源到地,严重的就会烧掉。所以只有那些OC输出(通过上拉电阻来获得高电平)才可以多个输出接到一起。你在写代码的时候输出没有定义三态,都是直接输出的,当然就不能在多个进程中对同一信号赋值了。
UFP 发表于 2010-6-26 07:21:24 | 显示全部楼层
那比如说 ,我想在一个信号的上升沿对a信号置1,在另一个信号的下降沿对a置0咋办?
VVC 发表于 2010-6-26 07:46:06 | 显示全部楼层
可以写在同一模块里面,但是电平有效
HANG 发表于 2010-6-26 09:29:27 | 显示全部楼层
好像用三态tri可以解决这个问题
CCIE 发表于 2010-6-26 11:00:50 | 显示全部楼层
原帖由 LOONG 于 2006-9-19 10:40 发表<br>
不行就写在一个模块里啊^_^<br>
再不行,定义成wire,用三态,控制选择 好办法,长见识了。
interige 发表于 2010-6-26 11:25:21 | 显示全部楼层
原帖由 duanqingqing 于 2006-9-22 17:10 发表<br>
那比如说 ,我想在一个信号的上升沿对a信号置1,在另一个信号的下降沿对a置0咋办? 如果你的设计非的是这样的,<br>
那么我想说大部分情况下都是因为你的架构有问题,<br>
考虑解决架构的问题,<br>
而不要为了解决问题而硬凑答案。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-27 07:57 , Processed in 0.080440 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表