VHDL案例陈述中的选项顺序

时间:2016-04-13 12:15:14

标签: case vhdl

我正在用VHDL编写一个基本CPU控制单元的FSM。在一个过程中,我使用case语句来解码指令代码。我的问题是,“...”的顺序是>陈述是重要的/改变什么,或者推断的“电路”是否相同?我怀疑它会,但我想确定。

我宁愿将这些案例按顺序排列,而不是按价值排序。

3 个答案:

答案 0 :(得分:2)

when "..." =>语句的顺序在模拟或综合中可能无关紧要/改变任何内容,因为在VHDL中它们必须互斥。

答案 1 :(得分:1)

订单没有任何效果。

case State is
  when A => ...
  when B => ...
end case;

相同
case State is
  when B => ...
  when A => ...
end case;

我想一些综合工具可以根据顺序生成不同的状态编码,但这不应该是您应该担心的事情。

答案 2 :(得分:0)

您的订单没有区别,因为综合工具将收集case语句的所有分支并将它们放在一个大型多路复用器中。多路复用器将根据您的不同分支条件(显然是您的输入)进行评估。

不要忘记when others =>陈述;)

有关“案例陈述”的更多信息: http://www.vhdl-online.de/courses/system_design/vhdl_language_and_syntax/sequential_statements/case_statement