OpenCores
URL https://opencores.org/ocsvn/opencpu32/opencpu32/trunk

Subversion Repositories opencpu32

[/] [opencpu32/] [trunk/] [hdl/] [opencpu32/] [TriStateBuffer.vhd] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 leonardoar
--! @file
2
--! @brief Tri-State buffer http://en.wikipedia.org/wiki/Three-state_logic
3
 
4
--! Use standard library and import the packages (std_logic_1164,std_logic_unsigned,std_logic_arith)
5
library IEEE;
6
use IEEE.STD_LOGIC_1164.ALL;
7
 
8
--! Use CPU Definitions package
9
use work.pkgOpenCPU32.all;
10
 
11
--! In digital electronics three-state, tri-state, or 3-state logic allows an output port to assume a \n
12
--! high impedance state in addition to the 0 and 1 logic levels, effectively removing the output from the circuit.
13
 
14
--! In digital electronics three-state, tri-state, or 3-state logic allows an output port to assume a \n
15
--! high impedance state in addition to the 0 and 1 logic levels, effectively removing the output from the circuit. 
16
--! This allows multiple circuits to share the same output line or lines (such as a bus).
17
entity TriStateBuffer is
18
    generic (n : integer := nBits - 1);                                 --! Generic value (Used to easily change the size of the Alu on the package)
19
         Port ( A : in  STD_LOGIC_VECTOR (n downto 0);           --! Buffer Input
20
           sel : in  typeEnDis;                                                         --! Enable or Disable the output
21
           S : out  STD_LOGIC_VECTOR (n downto 0));      --! TriState buffer output
22
end TriStateBuffer;
23
 
24
--! @brief Architure definition of the TriStateBuffer
25
--! @details On this case we're going to use VHDL combinational description (Simple combination circuit)
26
architecture Behavioral of TriStateBuffer is
27
 
28
begin
29
        with sel select
30
                S <= A when enable,
31
                          (others => 'Z') when disable;
32
 
33
end Behavioral;
34
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.