OpenCores
URL https://opencores.org/ocsvn/camellia-vhdl/camellia-vhdl/trunk

Subversion Repositories camellia-vhdl

[/] [camellia-vhdl/] [trunk/] [looping/] [camellia.vhd] - Diff between revs 3 and 4

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 3 Rev 4
Line 1... Line 1...
 
 
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Designer:      Paolo Fulgoni <pfulgoni@opencores.org>
-- Designer:      Paolo Fulgoni <pfulgoni@opencores.org>
--
--
-- Create Date:   02/01/2008
-- Create Date:   02/01/2008
-- Last Update:   03/06/2008
-- Last Update:   03/28/2008
-- Project Name:  camellia-vhdl
-- Project Name:  camellia-vhdl
-- Description:   Looping version of Camellia
-- Description:   Looping version of Camellia
--
--
-- Copyright (C) 2008  Paolo Fulgoni
-- Copyright (C) 2008  Paolo Fulgoni
-- This file is part of camellia-vhdl.
-- This file is part of camellia-vhdl.
Line 29... Line 29...
 
 
entity camellia is
entity camellia is
    port    (
    port    (
            clk        : in  STD_LOGIC;
            clk        : in  STD_LOGIC;
            reset      : in  STD_LOGIC;
            reset      : in  STD_LOGIC;
 
 
            data_in    : in  STD_LOGIC_VECTOR (0 to 127);
            data_in    : in  STD_LOGIC_VECTOR (0 to 127);
 
            enc_dec    : in  STD_LOGIC;
 
            data_rdy   : in  STD_LOGIC;
 
            data_acq   : out STD_LOGIC;
 
 
            key        : in  STD_LOGIC_VECTOR (0 to 255);
            key        : in  STD_LOGIC_VECTOR (0 to 255);
            k_len      : in  STD_LOGIC_VECTOR (0 to 1);
            k_len      : in  STD_LOGIC_VECTOR (0 to 1);
            new_key    : in  STD_LOGIC;
            key_rdy    : in  STD_LOGIC;
            enc_dec    : in  STD_LOGIC;
            key_acq    : out STD_LOGIC;
            input_rdy  : in  STD_LOGIC;
 
            data_out   : out STD_LOGIC_VECTOR (0 to 127)
            data_out   : out STD_LOGIC_VECTOR (0 to 127);
 
            output_rdy : out STD_LOGIC
            );
            );
end camellia;
end camellia;
 
 
architecture RTL of camellia is
architecture RTL of camellia is
 
 
    signal s_clk        :  STD_LOGIC;
    signal s_clk        :  STD_LOGIC;
    signal s_reset      :  STD_LOGIC;
    signal s_reset      :  STD_LOGIC;
    signal s_data_in    :  STD_LOGIC_VECTOR (0 to 127);
    signal s_data_in    :  STD_LOGIC_VECTOR (0 to 127);
 
    signal s_enc_dec    : STD_LOGIC;
 
    signal s_data_rdy   : STD_LOGIC;
 
    signal s_data_acq   : STD_LOGIC;
    signal s_key_in     :  STD_LOGIC_VECTOR (0 to 255);
    signal s_key_in     :  STD_LOGIC_VECTOR (0 to 255);
    signal s_k_len      :  STD_LOGIC_VECTOR (0 to 1);
    signal s_k_len      :  STD_LOGIC_VECTOR (0 to 1);
    signal s_new_key    :  STD_LOGIC;
    signal s_key_rdy    : STD_LOGIC;
    signal s_enc_dec    :  STD_LOGIC;
    signal s_key_acq    : STD_LOGIC;
    signal s_input_rdy  :  STD_LOGIC;
 
    signal s_nxt_input  :  STD_LOGIC;
 
    signal s_data_to    :  STD_LOGIC_VECTOR (0 to 127);
    signal s_data_to    :  STD_LOGIC_VECTOR (0 to 127);
 
    signal s_output_rdy : STD_LOGIC;
    signal s_k1         :  STD_LOGIC_VECTOR (0 to 63);
    signal s_k1         :  STD_LOGIC_VECTOR (0 to 63);
    signal s_k2         :  STD_LOGIC_VECTOR (0 to 63);
    signal s_k2         :  STD_LOGIC_VECTOR (0 to 63);
    signal s_newdata    :  STD_LOGIC;
    signal s_newdata    :  STD_LOGIC;
    signal s_sel        :  STD_LOGIC;
    signal s_sel        :  STD_LOGIC;
    signal s_pre_xor    :  STD_LOGIC_VECTOR (0 to 127);
    signal s_pre_xor    :  STD_LOGIC_VECTOR (0 to 127);
Line 79... Line 87...
    component control is
    component control is
        port    (
        port    (
                clk        : in  STD_LOGIC;
                clk        : in  STD_LOGIC;
                reset      : in  STD_LOGIC;
                reset      : in  STD_LOGIC;
                data_in    : in  STD_LOGIC_VECTOR (0 to 127);
                data_in    : in  STD_LOGIC_VECTOR (0 to 127);
 
                enc_dec    : in  STD_LOGIC;
 
                data_rdy   : in  STD_LOGIC;
 
                data_acq   : out STD_LOGIC;
                key_in     : in  STD_LOGIC_VECTOR (0 to 255);
                key_in     : in  STD_LOGIC_VECTOR (0 to 255);
                k_len      : in  STD_LOGIC_VECTOR (0 to 1);
                k_len      : in  STD_LOGIC_VECTOR (0 to 1);
                new_key    : in  STD_LOGIC;
                key_rdy    : in  STD_LOGIC;
                enc_dec    : in  STD_LOGIC;
                key_acq    : out STD_LOGIC;
                input_rdy  : in  STD_LOGIC;
 
                data_to    : out STD_LOGIC_VECTOR (0 to 127);
                data_to    : out STD_LOGIC_VECTOR (0 to 127);
 
                output_rdy : out STD_LOGIC;
                k1         : out STD_LOGIC_VECTOR (0 to 63);
                k1         : out STD_LOGIC_VECTOR (0 to 63);
                k2         : out STD_LOGIC_VECTOR (0 to 63);
                k2         : out STD_LOGIC_VECTOR (0 to 63);
                newdata    : out STD_LOGIC;
                newdata    : out STD_LOGIC;
                sel        : out STD_LOGIC;
                sel        : out STD_LOGIC;
                pre_xor    : out STD_LOGIC_VECTOR (0 to 127);
                pre_xor    : out STD_LOGIC_VECTOR (0 to 127);
Line 116... Line 127...
    CTRL : control
    CTRL : control
        port map(
        port map(
                clk        => s_clk,
                clk        => s_clk,
                reset      => s_reset,
                reset      => s_reset,
                data_in    => s_data_in,
                data_in    => s_data_in,
 
                enc_dec    => s_enc_dec,
 
                data_rdy   => s_data_rdy,
 
                data_acq   => s_data_acq,
                key_in     => s_key_in,
                key_in     => s_key_in,
                k_len      => s_k_len,
                k_len      => s_k_len,
                new_key    => s_new_key,
                key_rdy    => s_key_rdy,
                enc_dec    => s_enc_dec,
                key_acq    => s_key_acq,
                input_rdy  => s_input_rdy,
 
                data_to    => s_data_to,
                data_to    => s_data_to,
 
                output_rdy => s_output_rdy,
                k1         => s_k1,
                k1         => s_k1,
                k2         => s_k2,
                k2         => s_k2,
                newdata    => s_newdata,
                newdata    => s_newdata,
                sel        => s_sel,
                sel        => s_sel,
                pre_xor    => s_pre_xor,
                pre_xor    => s_pre_xor,
Line 134... Line 148...
        );
        );
 
 
    s_clk       <= clk;
    s_clk       <= clk;
    s_reset     <= reset;
    s_reset     <= reset;
    s_data_in   <= data_in;
    s_data_in   <= data_in;
 
    s_enc_dec   <= enc_dec;
 
    s_data_rdy  <= data_rdy;
    s_key_in    <= key;
    s_key_in    <= key;
    s_k_len     <= k_len;
    s_k_len     <= k_len;
    s_new_key   <= new_key;
    s_key_rdy   <= key_rdy;
    s_enc_dec   <= enc_dec;
 
    s_input_rdy <= input_rdy;
    data_acq    <= s_data_acq;
 
    key_acq     <= s_key_acq;
    data_out    <= s_data_from(64 to 127) & s_data_from(0 to 63);
    data_out    <= s_data_from(64 to 127) & s_data_from(0 to 63);
 
    output_rdy  <= s_output_rdy;
 
 
end RTL;
end RTL;
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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