在信号下降沿后做一个延迟,然后在 VHDL 中做一些事情

Make a delay after falling edge of signal and then do something in VHDL

我想知道如何按顺序执行以下操作:

首先检测输入信号的下降沿(rd),然后等待15 ns最后 对变量进行必要的更改,例如将 db_input 8 位向量存储到 db_output 8 位向量中。

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity ent1 is
    port
    (
        -- Input ports
        rd              : in std_logic;
        db_input        : in std_logic_vector (7 downto 0);

        -- Output ports
        db_output   : out std_logic_vector (7 downto 0) := (others => '0')
    );
end ent1;

architecture arch1 of ent1 is
begin

    process(rd)
    begin
        if (falling_edge(rd)) then
            -- Wait for 15 ns
            -- After the 15 ns save db_input into db_output
        end if;
    end process;
    
end arch1;

以下内容满足您的要求:

process
begin
  wait until falling_edge(rd);
  wait for 15 ns;
  db_output <= db_input;
end process;