例程1: if ina=″00000″ then
Outy<=″0000111″;
elsif ina=″00001″ then
Outy<=″0001000″;
elsif ina=″00010″ then
Outy<=″0001001″;
……
else
Outy<=″0000000″;
end if;
例程2: Outy<=″0000111″ when ina=″00000″ else
″0001000″ when ina=″00001″ else
″0001001″ when ina=″00010″ else
……
″0000000″;
例程2由于使用WHEN...ELSE完整条件语句,不会生成锁存器结构,所以不会有问题。而例程1若不加else Outy<=″0000000″语句,则属于不完整条件表达方式,会生成一个含有7位寄存器的结构。虽然上述例程都能实现相同的译码功能,但是电路复杂度会大不相同。