VHDL中process运行中敏感量信号改变,会重新运行process吗?

比如说:process(state,E)if(state=s1)--顺序语句一;M<=H;endif;endprocess;这样,谢~... 比如说:process(state,E)if(state=s1) --顺序语句一; M<=H;end if;end process;这样,谢~ 展开
 我来答
jack218338
2013-12-19 · TA获得超过213个赞
知道小有建树答主
回答量:86
采纳率:100%
帮助的人:44.8万
展开全部
是的,process里的敏感信号是触发条件,无论哪个敏感信号发生改变都会触发process进程,这时,process内部的所有阻塞和非阻塞语句都会执行。
追问
嗯,就是说,原来的运行还没结束,就会返回去重新运行吗?谢谢。另外有一个问题,就是我的process()中的敏感信号没有变化,但是也运行了,请问是为什么呢?
追答
  1. VHDL描述的是硬件,这个你不能完全以类似C等高级语言程序的方法去分析它。

           所以对于你说的运行还没有结束,这种说法是不对的,所谓顺序仅仅是指语句按序执行上的顺序性,这并不意味着PROCESS 语句结构所对应的硬件逻辑行为也具有相同的顺序性。

           敏感信号可以理解为当一个电路的输入,任何时候当它发生变化时,电路也会重新对输出进行运算。(一个进程你可以把它看成是一个电路信号流程框图)。

  2. 至于,你说敏感信号没有变化,进程也运行了的问题,不知道你是怎么测试的,具体代码是怎么样的,所以没有办法给你详细说明!按说这是不可能发生的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式