gpt4 book ai didi

verilog - ALU NOOP 案例推断出一个锁存器 0x​​104567911

转载 作者:行者123 更新时间:2023-12-04 14:03:48 29 4
gpt4 key购买 nike

我正在用 Verilog 设计一个 ALU,其中包含一个组合 always block 和每个 opcode 的 case。在 NOOP 的情况下,什么都不应该发生,所以我只是设置 result = result。我明白为什么这会推断出一个闩锁。我的问题是:在这种情况下是否有更好的方法或推断的锁存器是否是正确的决定?

always@(Rdest, Rsrc, opcode, reset) begin
case(opcode)
...
default:
NOOP: result = result; // Infers a latch
endcase
end

最佳答案

在这种情况下,避免闩锁应该很简单。您可以将 result 设置为常量值,例如 0。当 ALU 执行 NOOP 时,使用 result 的逻辑可能会忽略它:

  case(opcode)
...
ADD : result = a + b;
NOOP : result = 0; // some known value
default : result = 0; // some known value
endcase

由于时序问题,在许多情况下最好避免闩锁。另请参阅:Why are inferred latches bad?

关于verilog - ALU NOOP 案例推断出一个锁存器 0x​​104567911,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69184139/

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