VHDL中process的语句问题
刚学vhdl,在process,进程有点问题。。加入有如下的程序process(A,B,C)beginE<=AorB;D<=EorB;endprocess;在这个程序里面...
刚学vhdl, 在process,进程有点问题。。加入有如下的程序
process(A,B,C)
begin
E<=A or B;
D<=E or B;
end process;
在这个程序里面, 假如A变化了, 那么就要进入process 执行语句, 那么肯定会执行E<=A or B, 我现在不懂的就是D<=E or B,因为E不再敏感信号的列表里面, 那么这句话要不要执行? 如果执行的话那个E的值是什么 ?
如果不执行的话, 就是执行E<=A or B, 就直接跳出,等待下一次敏感信号的改变么??? 展开
process(A,B,C)
begin
E<=A or B;
D<=E or B;
end process;
在这个程序里面, 假如A变化了, 那么就要进入process 执行语句, 那么肯定会执行E<=A or B, 我现在不懂的就是D<=E or B,因为E不再敏感信号的列表里面, 那么这句话要不要执行? 如果执行的话那个E的值是什么 ?
如果不执行的话, 就是执行E<=A or B, 就直接跳出,等待下一次敏感信号的改变么??? 展开
2个回答
展开全部
process里的敏感信号是作为触发条件的
无论A B还是C,只要发生变化了,那么process内部的所有阻塞和非阻塞语句都会执行
E虽然不在敏感信号列表里,但D <= E or B;也是会执行的
无论A B还是C,只要发生变化了,那么process内部的所有阻塞和非阻塞语句都会执行
E虽然不在敏感信号列表里,但D <= E or B;也是会执行的
追问
那么E的值是不是就是由 E<=A or B得到的新的值?
追答
e的值是由E<=A or B得到
但是d的值不一定,因为这个电路存在竞争冒险,这样的设计是不合理的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询