Vhdl 即时发生的时钟过程中的信号分配

Vhdl 即时发生的时钟过程中的信号分配,vhdl,Vhdl,因此,我有一个足够简单的时钟过程,将一个std\u logic\u vector的值分配给另一个 capture_proc: process(clk) begin if rising_edge(clk) then captured_data <= sdram_din; end if; end process; 捕获过程:过程(clk) 开始 如果上升沿(clk),则 捕获的数据 我的问题是,在clk的上升沿上,输入捕获的_数据的值可由同一上升沿上的其他

因此,我有一个足够简单的时钟过程,将一个
std\u logic\u vector
的值分配给另一个

capture_proc: process(clk) 
begin
    if rising_edge(clk) then
        captured_data <= sdram_din; 
    end if;
end process;
捕获过程:过程(clk) 开始 如果上升沿(clk),则 捕获的数据 我的问题是,在clk的上升沿上,输入捕获的_数据的值可由同一上升沿上的其他进程读取

(重点是我的)
显示的波形不具有该行为。要显示您需要添加另一个信号,该信号来自使用相同时钟的
捕获的\u数据

我对序列码中的信号分配的理解是,在模拟中,它实际上发生在下一次触发之前,一个时钟周期之后

我不明白这种期望从何而来。时钟上升时,对信号进行采样。对于具有“上升沿(clk)”条件的所有其他信号也是如此。唯一特别的是,首先对所有值进行采样,然后才对所有采样后的值进行赋值

为什么该值会立即出现

正如我在上面写的:在对信号进行采样之后,它们被分配。立即在模拟中,不存在明显的延迟。(有关详细信息,请查阅“VHDL增量时间”。) 从捕获的数据中组合得出的任何信号也将无延迟出现,因为在理想模拟中没有延迟。

请参阅。