Vhdl 何时使用;案例;以及何时使用;用select";

Vhdl 何时使用;案例;以及何时使用;用select";,vhdl,Vhdl,假设我们想要输出一个4位数字(swr)到一个7段显示器(seg)。在第一种方法中,我使用案例陈述: process (swr) begin case swr is when "0000" => seg<="1000000"; when "0001" => seg<="1111001"; -- and so on... when others => seg<="-------"; end case; e

假设我们想要输出一个4位数字(swr)到一个7段显示器(seg)。在第一种方法中,我使用案例陈述:

process (swr)
begin  
   case swr is
     when "0000" => seg<="1000000";
     when "0001" => seg<="1111001";

     -- and so on...

     when others => seg<="-------";
   end case;
end process;
过程(swr)
开始
案例swr为

当“0000”=>seg seg时,区别在于一条是顺序语句,必须出现在进程内部,而另一条是并发语句,出现在进程外部。所选信号分配(使用swr select…)本质上是一个简单的概念,用于创建一个流程,以及相应的灵敏度列表和案例陈述。

它们将产生基本相同的逻辑(或者至少如果它们没有,我会提交一个错误:)

就模拟器而言,它们也应该具有相同的效果-第二种形式创建了一个对
swr
敏感的隐式过程,这与更显式的第一种形式相同

with swr select
  seg<= "1000000" when "0000",
  "1111001" when "0001" ,

  -- and so on...

  "-------" when others;