如果灵敏度列表只有一个信号并且测试为1,那么“时钟事件”有什么用处?

问题描述 投票:0回答:1

我想知道有什么区别

process (clk)
if (clk = '1') then

process (clk)
if (clk'event and clk = '1') then

我认为敏感度列表定义了将监视状态变化的信号,所以如果我是对的,那么

clk'event
是多余的。

我做了一个简单的模拟来验证我的想法,它显然证实了我的观点。

vhdl
1个回答
0
投票

是的,你是对的,在模拟过程中,两个代码片段的工作原理是相同的。

但是在综合过程中,在此过程中读取的所有信号都会隐式添加到灵敏度列表中。 这意味着如果进程内存在分配

B<=A;
,A 将被添加到敏感度列表中,并在 每当 A 改变时,如果 clk='1',B 也会改变。

因此,如果没有 clk'event,代码描述的是锁存器,而不是综合中的触发器。

© www.soinside.com 2019 - 2024. All rights reserved.