VHDL必会基础代码一:组合逻辑电路

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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值