1.1概述——电路无记忆功能
从逻辑上讲,组合电路在任一时刻的输出状态仅由该时刻的信号决定,而与电路原来的状态无关。
从结构上讲,组合电路都是单纯由逻辑门组成,且输出不存在反馈路径。(不含存储单元)
常见的组合逻辑电路:简单门电路、选择器、译码器、三态门等
1.2译码器
实现译码的组合逻辑电路称为译码器。它的输入是一组二进制代码,输出是一组高低电平信号。每输入一组不同的代码,只有一个输出呈有效状态。其功能是对具有特定含义的输入代码进行“翻译”,将其转换成相应的输出信号。
74LS138译码器引脚图如下所示,A0、A1、A2为3个二进制输入端,右侧为输出端,低电平有效,S0、S1、S2为选通信号,只有当S0=1&&S1=0&&S2=0时,译码器才正常译码。这里有效电平是这么理解的,有在引脚处加⭕就是低电平有效,没加就是高电平有效。
case语句实现
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY decoder_38 is
PORT(S0,S1,S2,A0,A1,A2 : in STD_LOGIC;
y : out STD_LOGIC_VECTOR(7 downto 0)
);
END decoder_38;
ARCHITECTURE behave OF decoder_38 is
SIGNAL indata : STD_LOGIC_VECTOR(2 downto 0);
BEGIN
indata <= A2 & A1 & A0;--将输入信号合并并赋值
PROCESS(indata,S0,S1,S2)
IF( S0='1' and S1='0' and S2='0') THEN
case indata is
when "000" => y <="11111110";
when "001" => y <="11111101";
when "010" => y <="11111011";
when "011" => y <="11110111";
when "100" => y <="11101111";
when "101" => y <="11011111";
when "110"