⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des_ctl.vhd

📁 破解des算法的程序
💻 VHD
字号:
---------|---------|---------|---------|---------|---------|---------|---------|-- ------------------------------------------------------------------------------- AUTHOR          :  TOM VU                                                  ---- DATE            :  10/15/97                                                ---- TITLE           :  DES  TEST BENCH                                         ---- FILE            :  des_ctl.vhd                                             -----------|---------|---------|---------|---------|---------|---------|---------|--------------------------------------------------------------------------------library ieee;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;use ieee.std_logic_textio.all;entity CTL isport(   CLK             : in     std_logic;        RST_N           : in     std_logic;        START           : in     std_logic;        DECR            : in     std_logic;        DES_OUT         : in     std_logic_vector(63 downto 0);        DECR_INT        : out    std_logic;        READ_EN        : out    std_logic;        START_INT       : out    std_logic;        MESSAGE         : out    std_logic_vector(63 downto 0);        KEY          	: out    std_logic_vector(55 downto 0);        DATA         	: inout  std_logic_vector(31 downto 0)    );end CTL;-- -----------------------------------------------------------------------------architecture BEH of CTL is-- -----------------------------------------------------------------------------signal CNT16           	: std_logic_vector(3 downto 0);signal MSG0           	: std_logic_vector(31 downto 0);signal MSG1           	: std_logic_vector(31 downto 0);signal KEY0           	: std_logic_vector(31 downto 0);signal KEY1           	: std_logic_vector(23 downto 0);signal OUT0           	: std_logic_vector(31 downto 0);signal OUT1           	: std_logic_vector(31 downto 0);signal DATA_BAK         : std_logic_vector(31 downto 0);signal START_INT_D	: std_logic;begin-- -----------------------------------------------------------------------------CNT_PR: process(CLK,RST_N) -- -----------------------------------------------------------------------------begin        if RST_N = '0' then                CNT16 <= "0000";     		START_INT <= '0';     		DECR_INT <= '0';        elsif CLK'event and CLK = '1' then     		START_INT <= START_INT_D;		if CNT16 = 4 then     			DECR_INT <= DECR;		end if;            if START = '1'  then                CNT16 <= "0001";            else                CNT16 <= CNT16 + 1;            end if;        end if;end process;-- -----------------------------------------------------------------------------KEY     <= KEY1 & KEY0;MESSAGE <= MSG1 & MSG0;START_INT_D <= '1' when CNT16 = 4 else '0';-- -----------------------------------------------------------------------------REG_IN_PR: process(RST_N,CLK)-- -----------------------------------------------------------------------------beginif RST_N = '0' then        MSG0 <= (others => '0');        MSG1 <= (others => '0');        KEY0 <= (others => '0');        KEY1 <= (others => '0');elsif CLK'event and CLK = '0' then    case CNT16 is	when  "0001" =>        	MSG0 <= DATA;	when  "0010" =>        	MSG1 <= DATA;	when  "0011" =>        	KEY0 <= DATA;	when  "0100" =>        	KEY1 <= DATA(23 downto 0);	when others =>		null;    end case;end if;end process REG_IN_PR;-----------------------------------------------------------------MESSAGE_OUT_P: process (CNT16,DES_OUT)begin    case CNT16 is	when  "0110" | "0111" =>        	DATA <= DES_OUT(63 downto 32);		READ_EN <= '1';	when  "1000" | "1001" =>        	DATA <= DES_OUT(31 downto 0);		READ_EN <= '1';	when others =>		DATA <= (others => 'Z');		READ_EN <= '0';    end case;end process; --DATA <= DATA_BAK;end BEH;-- -----------------------------------------------------------------------------library ieee;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;use ieee.std_logic_textio.all;use std.textio.all;entity DES_CTL is port(   CLK             : in     std_logic;        RST_N           : in     std_logic;        START           : in     std_logic;        DECR            : in     std_logic;        DONE            : out     std_logic;        READ_EN         : out     std_logic;        DATA         	: inout  std_logic_vector(31 downto 0)    );end DES_CTL;--------------------------------------------------------------------------------architecture beh of DES_CTL iscomponent DES port(   CLK             : in     std_logic;        RST_N           : in     std_logic;        START           : in     std_logic;        DECR            : in     std_logic;        MESSAGE         : in     std_logic_vector(63 downto 0);        KEY             : in     std_logic_vector(55 downto 0);        DONE            : out     std_logic;        DES_OUT          : out    std_logic_vector(63 downto 0)    );end component;component CTL port(   CLK             : in     std_logic;        RST_N           : in     std_logic;        START           : in     std_logic;        DECR            : in     std_logic;        DES_OUT         : in     std_logic_vector(63 downto 0);        DECR_INT        : out    std_logic;        READ_EN        	: out    std_logic;        START_INT       : out    std_logic;        MESSAGE         : out    std_logic_vector(63 downto 0);        KEY          	: out    std_logic_vector(55 downto 0);        DATA         	: inout  std_logic_vector(31 downto 0)    );end component;signal START_INT     	: std_logic;signal DECR_INT        	: std_logic;signal MESSAGE         	: std_logic_vector(63 downto 0);signal KEY             	: std_logic_vector(55 downto 0);signal DES_OUT         	: std_logic_vector(63 downto 0);--------------------------------------------beginDES_CTL1 : DES port map(         CLK             => CLK,        RST_N           => RST_N,        START           => START_INT,        DECR            => DECR_INT,        MESSAGE         => MESSAGE,        KEY             => KEY,        DONE            => DONE,        DES_OUT         => DES_OUT);DES_CTL2 : CTLport map(   CLK 	=> CLK,        RST_N  		=> RST_N,        START 		=> START,        DECR 		=> DECR,        DES_OUT		=> DES_OUT,        DECR_INT	=> DECR_INT,        READ_EN		=> READ_EN,        START_INT	=> START_INT,        MESSAGE 	=> MESSAGE,        KEY		=> KEY,        DATA		=> DATA    );end beh;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -