summaryrefslogtreecommitdiff
path: root/Example/full_adder/full_adder_slv.vhdl
diff options
context:
space:
mode:
authorRahul Paknikar2019-07-07 18:48:39 +0530
committerGitHub2019-07-07 18:48:39 +0530
commit385d1b79fa4d4a4c9fe39f72cd87d53b247704d4 (patch)
treec8b2e50a414bdcf528a1ecdafc235705b8f6675b /Example/full_adder/full_adder_slv.vhdl
parent45f2669e5ba6760c6adaacb564c0799d54a11052 (diff)
downloadnghdl-385d1b79fa4d4a4c9fe39f72cd87d53b247704d4.tar.gz
nghdl-385d1b79fa4d4a4c9fe39f72cd87d53b247704d4.tar.bz2
nghdl-385d1b79fa4d4a4c9fe39f72cd87d53b247704d4.zip
std_logic_vector
Diffstat (limited to 'Example/full_adder/full_adder_slv.vhdl')
-rw-r--r--Example/full_adder/full_adder_slv.vhdl19
1 files changed, 19 insertions, 0 deletions
diff --git a/Example/full_adder/full_adder_slv.vhdl b/Example/full_adder/full_adder_slv.vhdl
new file mode 100644
index 0000000..a0495f0
--- /dev/null
+++ b/Example/full_adder/full_adder_slv.vhdl
@@ -0,0 +1,19 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity full_adder_slv is
+ port (
+ i_bit1 : in std_logic_vector(0 downto 0);
+ i_bit2 : in std_logic_vector(0 downto 0);
+ i_bit3 : in std_logic_vector(0 downto 0);
+ o_sum : out std_logic_vector(0 downto 0);
+ o_carry : out std_logic_vector(0 downto 0)
+ );
+end full_adder_slv;
+
+architecture rtl of full_adder_slv is
+begin
+ o_sum <= i_bit1 xor i_bit2 xor i_bit3;
+ o_carry <= (i_bit1 and i_bit2) or (i_bit2 and i_bit3) or (i_bit3 and i_bit1);
+end rtl;