vhdl when else


在VHDL中,IF...THEN...ELSE是順序語句,只能出現在行為描述中(進程體或者子程序中);而WHEN...ELSE是並行語句,可以直接出現在結構體中,但卻不能出現在行為描述中。
WHEN...ELSE等效於一個進程體為IF...THEN...ELSE語句的進程。

四選一

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity mm is
PORT(A,B,C,D: IN STD_LOGIC;
        S0,S1:IN STD_LOGIC;
Z: OUT STD_LOGIC);
end ENTITY mm;

architecture bhv of mm is

BEGIN
Z<=A WHEN S0='0' AND S1='0' ELSE
   B WHEN S0='0' AND S1='1' ELSE
   C WHEN S0='1' AND S1='0' ELSE
   D WHEN S0='1' AND S1='1' ELSE
   'Z';

END bhv;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM