vhdl - Process 中的执行顺序以及 if else :VHDL
问题描述
我试图在一个时钟周期内做某事。我的方法是:
process begin
if rising_edge(clk) then
if (condition) then
values of variables a and b are generated;
end if;
Here I want to use these freshly generated values of a and b.
end if;
end process;
问题是:我可以这样做吗,或者这些 a 和 b 的值将在过程结束时更新?或者也欢迎任何其他方法。
解决方案
如果您想要 a 和 b 的立即值,则 a 和 b 必须是变量。如果 a 和 b 是信号,那么它们将成为流水线中的寄存器,并将在下一个时钟周期可用。
推荐阅读
- javascript - 交叉口观察员没有按预期工作
- c++ - 在 C++ 中读取文件在实际文件内容之后给出奇怪的字符
- node.js - Discord.js 在 guildMemberAdd 上添加角色并不总是有效
- reactjs - 如何在相同高度的材质ui中水平放置卡片
- c# - 将数据传递给组件属性时是否可以“就地”操作数据?
- apache-spark - 使用spark提交创建覆盖xml
- powershell - 当输出包含@{时如何扩展多个属性
, }? - javascript - 如何使我的 html 嵌入 (js) 在不同的选项卡上可见?
- c# - 处理继承时避免在 EF Core 中使用鉴别器
- html - CSS Grid:自动收缩空行?