在vhdl语言中,输入信号上升沿后执行process process中要用clk来计时,怎么做到判断两个上升沿?

两个上升沿不是同时上升的
2024-11-29 21:22:19
推荐回答(1个)
回答(1):

VHDL不支持在一个进程中检测多个信号的边沿,这在硬件中也是不可能实现的。
你如果确定两个信号边沿的先后顺序,那么可以用后到的上升沿作为检测边沿。
例如signal1的边沿先到、signal2的边沿后到。那么:
PROCESS(signal2)
BEGIN
IF rising_edge(signal2) THEN

IF signal1'='1' AND signal1'LAST='0' THEN
.......

END IF;

END IF;

END PROCESS;