VHDL 下如何实现在if语句下运行process?

例如:else process(XXX) xxxxVHDL总是报错,如何实现?
2024年11月18日 04:46
有5个网友回答
网友(1):

在VHDL中,if是顺序语句,而process是并行语句。process语句的目的就是将顺序语句描述的电路模块构造成一个并行语句放在结构体中,因此顺序语句是放在进程(process)或者子程序中的,而进程或者子程序内部是不能出现并行语句的。所以if语句中是不可能出现process语句的,这有违硬件并行工作的原理。

网友(2):

不可以吧,楼主应该把条件放到process结构里面。应该是在一个process下根据条件选择这样运行或那样运行,而不是根据条件执行process。

网友(3):

If 是要在Process里面才能用的,在VHDL没有把process嵌套在if里面的用法,你把你要实现 的功能附上来,让大家来帮你分析分析应该怎样做

网友(4):

没这写法。
process都是由process后面括号里面的敏感信号触发的,也就是每当括号里面的敏感信号发生变化都会激活进程。
那你想想用if语句触发进程,是不是可以把if条件里面的信号放到process()括号里面来呢。
也可以用if语句来产生一个中间信号,用这个中间信号来做为process的敏感信号。
注意vhdl都是由很多的进程组成的。当然也有些组合逻辑语句写在进程外面,每条语句也就相当于一个进程,与其他的process都是并行的。

楼上的:你的QQ是多少啊?找你好久了。哪里有vhdl,哪里就有你啊,哈哈!

网友(5):

楼主你还是好好学一下vhdl语法吧!那个大那个小得先看好了啊!