OpenCores
URL https://opencores.org/ocsvn/3des_vhdl/3des_vhdl/trunk

Subversion Repositories 3des_vhdl

[/] [3des_vhdl/] [trunk/] [VHDL/] [add_key.vhd] - Diff between revs 2 and 4

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 2 Rev 4
---------------------------------------------------------------------
---------------------------------------------------------------------
--                              (c) Copyright 2006, CoreTex Systems, LLC                                         --
--                              (c) Copyright 2006, CoreTex Systems, LLC                                         --
--                                 www.coretexsys.com                        --    
--                                 www.coretexsys.com                        --    
--                                                                       --
--                                                                       --
--              This source file may be used and distributed without         --
--              This source file may be used and distributed without         --
--              restriction provided that this copyright statement is not    --
--              restriction provided that this copyright statement is not    --
--              removed from the file and that any derivative work contains  --
--              removed from the file and that any derivative work contains  --
--              the original copyright notice and the associated disclaimer. --
--              the original copyright notice and the associated disclaimer. --
--                                                                       --
--                                                                       --
--                  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY      --
--                  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY      --
--              EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED    --
--              EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED    --
--              TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    --
--              TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    --
--              FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR       --
--              FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR       --
--              OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          --
--              OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          --
--              INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES     --
--              INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES     --
--              (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE    --
--              (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE    --
--              GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR         --
--              GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR         --
--              BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
--              BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
--              LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT   --
--              LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT   --
--              (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT   --
--              (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT   --
--              OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          --
--              OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          --
--              POSSIBILITY OF SUCH DAMAGE.                                  --
--              POSSIBILITY OF SUCH DAMAGE.                                  --
--                                                                                                                                                                               --
--                                                                                                                                                                               --
---------------------------------------------------------------------
---------------------------------------------------------------------
 
 
----------------------------------------------------------------------
----------------------------------------------------------------------
 
 
-- Poject structure: 
-- Poject structure: 
 
 
--  |- tdes_top.vhd
--  |- tdes_top.vhd
--  |
--  |
--    |- des_cipher_top.vhd
--    |- des_cipher_top.vhd
--    |- des_top.vhd
--    |- des_top.vhd
--      |- block_top.vhd
--      |- block_top.vhd
--        |- add_key.vhd
--        |- add_key.vhd
--        |
--        |
--        |- add_left.vhd
--        |- add_left.vhd
--        |
--        |
--                              |- e_expansion_function.vhd
--                              |- e_expansion_function.vhd
--                              |
--                              |
--                              |- p_box.vhd
--                              |- p_box.vhd
--                              |
--                              |
--                              |- s_box.vhd
--                              |- s_box.vhd
--            |- s1_box.vhd
--            |- s1_box.vhd
--            |- s2_box.vhd
--            |- s2_box.vhd
--            |- s3_box.vhd
--            |- s3_box.vhd
--            |- s4_box.vhd
--            |- s4_box.vhd
--            |- s5_box.vhd
--            |- s5_box.vhd
--            |- s6_box.vhd
--            |- s6_box.vhd
--            |- s7_box.vhd
--            |- s7_box.vhd
--            |- s8_box.vhd
--            |- s8_box.vhd
--    |- key_schedule.vhd
--    |- key_schedule.vhd
 
 
----------------------------------------------------------------------
----------------------------------------------------------------------
 
 
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
--
--
-- Title       : add_key
-- Title       : add_key
-- Company     : CoreTex Systems, LLC
-- Company     : CoreTex Systems, LLC
--
--
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
 
 
library IEEE;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
 
entity add_key is
entity add_key is
port(
port(
                x0_in: in std_logic_vector(0 to 5);
                x0_in: in std_logic_vector(0 to 5);
                        x1_in: in std_logic_vector(0 to 5);
                        x1_in: in std_logic_vector(0 to 5);
                        x2_in: in std_logic_vector(0 to 5);
                        x2_in: in std_logic_vector(0 to 5);
                        x3_in: in std_logic_vector(0 to 5);
                        x3_in: in std_logic_vector(0 to 5);
                        x4_in: in std_logic_vector(0 to 5);
                        x4_in: in std_logic_vector(0 to 5);
                        x5_in: in std_logic_vector(0 to 5);
                        x5_in: in std_logic_vector(0 to 5);
                        x6_in: in std_logic_vector(0 to 5);
                        x6_in: in std_logic_vector(0 to 5);
                        x7_in: in std_logic_vector(0 to 5);
                        x7_in: in std_logic_vector(0 to 5);
                        key: in std_logic_vector(0 to 47);
                        key: in std_logic_vector(0 to 47);
                        x0_out: out std_logic_vector(5 downto 0);
                        x0_out: out std_logic_vector(5 downto 0);
                        x1_out: out std_logic_vector(5 downto 0);
                        x1_out: out std_logic_vector(5 downto 0);
                        x2_out: out std_logic_vector(5 downto 0);
                        x2_out: out std_logic_vector(5 downto 0);
                        x3_out: out std_logic_vector(5 downto 0);
                        x3_out: out std_logic_vector(5 downto 0);
                        x4_out: out std_logic_vector(5 downto 0);
                        x4_out: out std_logic_vector(5 downto 0);
                        x5_out: out std_logic_vector(5 downto 0);
                        x5_out: out std_logic_vector(5 downto 0);
                        x6_out: out std_logic_vector(5 downto 0);
                        x6_out: out std_logic_vector(5 downto 0);
                        x7_out: out std_logic_vector(5 downto 0)
                        x7_out: out std_logic_vector(5 downto 0)
        );
        );
end add_key;
end add_key;
 
 
 
 
architecture Behavioral of add_key is
architecture Behavioral of add_key is
begin
begin
 
 
        x0_out <= x0_in xor key(0 to 5);
        x0_out <= x0_in xor key(0 to 5);
        x1_out <= x1_in xor key(6 to 11);
        x1_out <= x1_in xor key(6 to 11);
        x2_out <= x2_in xor key(12 to 17);
        x2_out <= x2_in xor key(12 to 17);
        x3_out <= x3_in xor key(18 to 23);
        x3_out <= x3_in xor key(18 to 23);
        x4_out <= x4_in xor key(24 to 29);
        x4_out <= x4_in xor key(24 to 29);
        x5_out <= x5_in xor key(30 to 35);
        x5_out <= x5_in xor key(30 to 35);
        x6_out <= x6_in xor key(36 to 41);
        x6_out <= x6_in xor key(36 to 41);
        x7_out <= x7_in xor key(42 to 47);
        x7_out <= x7_in xor key(42 to 47);
 
 
end Behavioral;
end Behavioral;
 
 

powered by: WebSVN 2.1.0

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