VHDL内部的多个非嵌套if语句处理不良做法吗?

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

我使用VHDL几个月,有时我希望按顺序评估某些条件时,有时会使用非嵌套 if语句来构建这种过程:

process(clk)
begin
    if rising_edge(clk) then
        if CONDITION1 then
            (some instructions)
        end if;

        if CONDITION2 then
            (some instructions)
        end if;
    end if;
end process;

它在模拟和综合中似乎都很好用,但是当我在网上寻找示例时,我几乎看不到这种结构。我对这些语句的顺序执行有疑问,但是IEEE标准VHDL语言参考手册Std 1076-2008指出:

顺序语句用于定义执行算法子程序或过程;他们按照他们执行的顺序执行出现。

并且如果该语句在顺序语句列表中。

为什么我找不到更多示例?这是不好的做法吗?

if-statement vhdl synthesis
1个回答
0
投票
是的,这是合法的,是的,任务是固定的。请记住,信号分配对象被赋予了最后一个值,因此最后的if“获胜”。因此以下两个代码在功能上是相同的。
© www.soinside.com 2019 - 2024. All rights reserved.