使用FPGA实现一个三态缓冲器

介绍

哈哈哈哈,这个实在太简单了,但是毕竟做了一下,就在这记录一下了,哈哈哈哈。

这个器件的实现的主要功能是,当信号ena是低电平时,输出等于输入,反之,输出高阻态。


设计文件

library ieee;
use ieee.std_logic_1164.all;
entity tri_state is
    port(ena : in bit;
          input : in std_logic_vector(7 downto 0);
          output : out std_logic_vector(7 downto 0));
end tri_state;
architecture tri_state of tri_state is
begin
    output <= input when (ena = '0')else
                (others => 'Z');
             
end tri_state;


测试文件

library ieee;
use ieee.std_logic_1164.all;
entity tb_tri_state is
    
end tb_tri_state;
architecture tri_state of tb_tri_state is
component tri_state is
    port(ena : in bit;
          input : in std_logic_vector(7 downto 0);
          output : out std_logic_vector(7 downto 0));
end component tri_state;
signal ena : bit;
signal input : std_logic_vector(7 downto 0);
signal output : std_logic_vector(7 downto 0);
begin
    dut : tri_state
    port map(
                ena,input,output);
    process
    begin
        ena <= '0';
        input <= "01100011";
        wait for 20ns;
        ena <= '1';
        wait for 20ns;
        input <= "00110001";
        ena <= '0';
        wait for 20ns;
        ena <= '1';
        wait;
    end process;
end tri_state;


仿真结果


结语

哈哈哈哈,有什么问题欢迎留言哈。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值