⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (11).txt

📁 采用CASE语句设计3-8译码器的示例程序
💻 TXT
字号:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY cdecoder_3_8  IS
PORT (       d  : IN  STD_LOGIC_VECTOR ( 2 DOWNTO 0 ) ;
              G1 : IN  STD_LOGIC ;
        G2A, G2B : IN  STD_LOGIC ;
               q : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) ) ;
END ENTITY cdecoder_3_8 ;  -- VHDL 1993版可以这么用

ARCHITECTURE  rtl_cdecoder_3_8  OF  cdecoder_3_8  IS
BEGIN
    PROCESS ( d, G1, G2A, G2B )
    BEGIN
        IF ( G1= '1' AND G2A= '0' AND G2B = '0' ) THEN  -- 译码器的使能信号
                -- 采用CASE语句描述3-8译码电路
            CASE  d  IS  -- CASE语句的控制表达式是位矢量 d
                WHEN  "000"  =>  q <= "11111110" ;
                WHEN  "001"  =>  q <= "11111101" ;
                WHEN  "010"  =>  q <= "11111011" ;
                WHEN  "011"  =>  q <= "11110111" ;
                WHEN  "100"  =>  q <= "11101111" ;
                WHEN  "101"  =>  q <= "11011111" ;
                WHEN  "110"  =>  q <= "10111111" ;
                WHEN  "111"  =>  q <= "01111111" ;
                WHEN  OTHERS =>  q <= "XXXXXXXX" ;
            END CASE ;
        ELSE
            q <= "11111111" ;
        END IF ;
    END PROCESS ;
END ARCHITECTURE  rtl_cdecoder_3_8 ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -