过程与“过程”之间的区别;香草;VHDL

过程与“过程”之间的区别;香草;VHDL,vhdl,fpga,hardware-programming,asic,Vhdl,Fpga,Hardware Programming,Asic,我在练习VHDL,我有一个关于“简单”语句的基本问题,这些语句不需要过程 我想知道两者之间的区别 c <= a and b; c是的,这两种描述是等效的 并发信号分配c您可以将任何VHDL单行程序视为一个隐含进程,其RHS上的参数为“process,其优点是可以使用if和for等控制结构”:循环正常,但并发信号分配也可以实现if-elsif-elsif-else(sig“对于顺序逻辑,需要一个过程”:关于Q@RenaudPacalet:谢谢你的添加。我同意when-else-…可以用if

我在练习VHDL,我有一个关于“简单”语句的基本问题,这些语句不需要过程

我想知道两者之间的区别

c <= a and b;

c是的,这两种描述是等效的


并发信号分配
c您可以将任何VHDL单行程序视为一个隐含进程,其RHS上的参数为“
process
,其优点是可以使用
if
for
等控制结构”:循环正常,但并发信号分配也可以实现
if-elsif-elsif-else
sig“对于顺序逻辑,需要一个过程”:关于
Q@RenaudPacalet:谢谢你的添加。我同意
when-else-…
可以用
if-then-…
代替并发分配。另外,如果
如果在并发分配中需要then-…
,那么这些可以包装在一个函数中,那么这又是一个没有
进程的例子统一逻辑我将反对使用
Q形式
Q@paepbels的并发分配:为了再次检查这是否是Quartus 18.1问题,我使用上面的方法制作了一个只有两个FFs的模块,一个作为进程,一个作为并发分配,它与“内部错误:子系统:BPM,文件:/quartus/db/BPM/BPM\u hard\u block\u util.cpp,行:3458…quartus基本信息…版本:18.1.0内部版本:625版本:Lite Edition”“.ModelSim处理得很好,表现出相同的行为,当我将并发FF更改为像其他一样处理时,它也会通过Quartus运行。我可以向您发送我的示例,但不多。我将尝试向Intel报告。第一种形式是后一种形式的语法糖。IEEE Std 1076-2008 11.6并发信号分配语句“并发信号分配语句表示为信号分配值的等效过程语句。”,“与以信号名称为目标的并发信号分配语句等效的过程语句构造如下:…”,14.2设计层次结构的细化”设计层次结构的细化创建了一个由网络互连的过程集合;然后可以执行这个过程和网络集合来模拟设计的行为。”并且告诉(11.6)“并发信号分配语句的执行等同于等效过程语句的执行。”
process(a,b)
begin
    c <= a and b;
end process;