Vhdl 并发读写

Vhdl 并发读写,vhdl,Vhdl,我必须用VHDL实现一个计数器,我意识到我不知道一个非常简单的问题的答案 假设我们有一个信号x,它在一个进程中写入,同时在另一个进程中读取(即,它被分配给另一个信号out): 过程(时钟,x) 开始 如果上升沿(clk),则 谢谢你的回复。因此,如果我理解得很好,时钟的上升沿将安排两个过程(根据它们的灵敏度列表)和两个变化x Yes,因此out可以清楚地看到x的原始值。现在,如果第二个进程在一个delta周期后计时,它将看到x+1out是一个保留字,不能用作名称或指示符。进程通过信号进行通信,并

我必须用VHDL实现一个计数器,我意识到我不知道一个非常简单的问题的答案

假设我们有一个信号
x
,它在一个进程中写入,同时在另一个进程中读取(即,它被分配给另一个信号
out
):

过程(时钟,x)
开始
如果上升沿(clk),则

谢谢你的回复。因此,如果我理解得很好,时钟的上升沿将安排两个过程(根据它们的灵敏度列表)和两个变化
x Yes,因此
out
可以清楚地看到
x
的原始值。现在,如果第二个进程在一个delta周期后计时,它将看到
x+1
out
是一个保留字,不能用作名称或指示符。进程通过信号进行通信,并在wait语句中暂停和恢复。进程敏感度意味着等待敏感度列表上的等待语句作为最后一条语句。信号更新是在队列(一个投影输出波形)中安排的,而不是进程执行。@BrianDrummond我明白了,但是在这种情况下,第二个进程真的能在一个增量周期后计时吗?谢谢你的回复。因此,如果我理解得很好,时钟的上升沿将安排两个过程(根据它们的灵敏度列表)和两个变化
x Yes,因此
out
可以清楚地看到
x
的原始值。现在,如果第二个进程在一个delta周期后计时,它将看到
x+1
out
是一个保留字,不能用作名称或指示符。进程通过信号进行通信,并在wait语句中暂停和恢复。进程敏感度意味着等待敏感度列表上的等待语句作为最后一条语句。信号更新是在队列(一个投影输出波形)中计划的,而不是进程执行。@BrianDrummond我明白了,但是在这种情况下,第二个进程真的可以在一个增量周期后计时吗?
process(clk, x)
begin
    if rising_edge(clk) then
        x <= x + 1;
    end if;
end process;

process(clk, x)
begin
    if rising_edge(clk) then
        out <= x;
    end if;
end process;