gpt4 book ai didi

vhdl - '事件的必要性

转载 作者:行者123 更新时间:2023-12-01 00:04:02 26 4
gpt4 key购买 nike

我经常使用下面的语句。但是,我想知道

  if ( clock'event and clock = '1' ) then 
[do something]

我们真的需要在上面的语句中写 clock'event 吗?如果是,为什么?

最佳答案

可以在没有clock'event 条件的情况下让模拟完美地工作,但合成结果会出错。

可合成 VHDL 的 IEEE 标准要求您添加clock'event。编写 if rising_edge(clock) 是普遍接受的良好做法。这样可以更好地传达您的意图。 rising_edgefalling_edge 函数都可以作为可综合的 VHDL 结构。

对于模拟:

process (clock) is
-- stuff
begin
if clock='1' then -- EVIL! don't do this
-- do things
end if;
end process;

假设 clock 只是从“0”切换到“1”并返回(没有元值),行为将与您得到的相同带有 clock'event 条件。同样,这不会合成您想要的!您可能会得到一个锁存器,而不是 D 触发器。

(尝试合成并返回结果的人可获得奖励积分!)

关于vhdl - '事件的必要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com