diff options
author | saurabhb17 | 2019-12-30 12:37:57 +0530 |
---|---|---|
committer | GitHub | 2019-12-30 12:37:57 +0530 |
commit | 9faa3ee18b0fe7ec50399b06280a5247658c3e9c (patch) | |
tree | 0ff4c4791a65364e3b93c91f56342569c7f7a7c9 /Example/combinational_logic/mux-demux | |
parent | 04d9c666b4bb19936dfa469f536fb38107e631eb (diff) | |
parent | fc1fb5abffa152808c621be38c8fbbe8de769b19 (diff) | |
download | nghdl-9faa3ee18b0fe7ec50399b06280a5247658c3e9c.tar.gz nghdl-9faa3ee18b0fe7ec50399b06280a5247658c3e9c.tar.bz2 nghdl-9faa3ee18b0fe7ec50399b06280a5247658c3e9c.zip |
Merge pull request #35 from saurabhb17/master
Changes for 1.1.3 version release
Diffstat (limited to 'Example/combinational_logic/mux-demux')
-rw-r--r-- | Example/combinational_logic/mux-demux/demux.vhdl | 32 | ||||
-rw-r--r-- | Example/combinational_logic/mux-demux/mux.vhdl | 30 |
2 files changed, 62 insertions, 0 deletions
diff --git a/Example/combinational_logic/mux-demux/demux.vhdl b/Example/combinational_logic/mux-demux/demux.vhdl new file mode 100644 index 0000000..e73c196 --- /dev/null +++ b/Example/combinational_logic/mux-demux/demux.vhdl @@ -0,0 +1,32 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +entity demux is + port( + + F : in STD_LOGIC_vector(0 downto 0); + S0: in STD_LOGIC_vector(0 downto 0); + S1: in STD_LOGIC_vector(0 downto 0); + A: out STD_LOGIC_vector(0 downto 0); + B: out STD_LOGIC_vector(0 downto 0); + C: out STD_LOGIC_vector(0 downto 0); + D: out STD_LOGIC_vector(0 downto 0) + ); +end demux; + +architecture bhv of demux is +begin +process (F,S0,S1) is +begin + if (S0 ="0" and S1 = "0") then + A <= F; + elsif (S0 ="1" and S1 = "0") then + B <= F; + elsif (S0 ="0" and S1 = "1") then + C <= F; + else + D <= F; + end if; + +end process; +end bhv; diff --git a/Example/combinational_logic/mux-demux/mux.vhdl b/Example/combinational_logic/mux-demux/mux.vhdl new file mode 100644 index 0000000..b72e287 --- /dev/null +++ b/Example/combinational_logic/mux-demux/mux.vhdl @@ -0,0 +1,30 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +entity mux is + port(A : in std_logic; + B : in std_logic; + C : in std_logic; + D : in std_logic; + S0 : in std_logic; + S1 : in std_logic; + Z: out std_logic); +end mux; + +architecture bhv of mux is +begin +process (A,B,C,D,S0,S1) is +begin + if (S0 ='0' and S1 = '0') then + Z <= A; + elsif (S0 ='0' and S1 = '1') then + Z <= B; + elsif (S0 ='1' and S1 = '0') then + Z <= C; + else + Z <= D; + end if; + +end process; +end bhv; + |