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

📄 top.vhd

📁 破解des算法的程序
💻 VHD
字号:
---------|---------|---------|---------|---------|---------|---------|---------|-- Author          :  Tom Vu                                     -- Date            :  09/07/97                                  -- Description	   :  TOP level for DES KEY Search array--------------------------------------------------------------------------------library ieee;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;--------------------------------------------------------------------------------entity TOP isport(   CLK             : in     std_logic;        RST_N           : in     std_logic;        BOARD_EN        : in     std_logic;        ALE             : in     std_logic;        ADDSEL1         : in     std_logic;        WRB             : in     std_logic;        RDB             : in     std_logic;        ADDSEL2         : in     std_logic;        AA_IN           : in     std_logic;        ADDR            : in     std_logic_vector(7 downto 0);        CHIP_ID         : in     std_logic_vector(7 downto 0);        AA_OUT          : out    std_logic;        CHIP_AA_OUT    	: out    std_logic;        DATA       	: inout	 std_logic_vector(7 downto 0)    );end TOP;--------------------------------------------------------------------------------architecture beh of TOP is--------------------------------------------------------------------------------type DATA8_ARRAY is array(7 downto 0) of std_logic_vector(7 downto 0);type DATA7_ARRAY is array(23 downto 0) of std_logic_vector(6 downto 0);signal SHIFT_REG   	: DATA8_ARRAY;signal SELECT_ONE 		: std_logic_vector(23 downto 0);signal SEARCH_IN 	: std_logic_vector(23 downto 0);signal SEARCH_OUT 	: std_logic_vector(23 downto 0);signal CLEAR_SEARCH 	: std_logic_vector(23 downto 0);signal PT_XOR_MASK       : std_logic_vector(63 downto 0);signal PT_BYTE_MASK     : std_logic_vector(7 downto 0);signal PT_VECTOR        : std_logic_vector(255 downto 0);signal C0               : std_logic_vector(63 downto 0);signal C1               : std_logic_vector(63 downto 0);signal USE_CBC 		: std_logic;signal EXTRA_XOR	: std_logic;signal TEMPS 		: std_logic;signal KEY 		: std_logic_vector(55 downto 0); signal DATAO		: std_logic_vector(7 downto 0); signal DATAI		: std_logic_vector(7 downto 0);signal ADDR_KEY		: DATA7_ARRAY;component SEARCH_UNITport(   CLK             : in     std_logic;        RST_N           : in     std_logic;        WRB             : in     std_logic;        RDB             : in     std_logic;        SEARCH          : in     std_logic;        PT_BYTE_MASK    : in     std_logic_vector(7 downto 0);        PT_XOR_MASK    	: in     std_logic_vector(63 downto 0);        ADDR_KEY        : in     std_logic_vector(6  downto 0);        EXTRA_XOR        : in     std_logic;        USE_CBC          : in     std_logic;        DATAI           : in     std_logic_vector(7 downto 0);        PT_VECTOR       : in     std_logic_vector(255 downto 0);        C0              : in     std_logic_vector(63 downto 0);        C1              : in     std_logic_vector(63 downto 0);        SEARCH_OUT      : out     std_logic;        CLEAR_SEARCH      	: out     std_logic;        SELECT_ONE   	: out     std_logic;        DATAO           : out    std_logic_vector(7 downto 0)    );end component;component UPIport(   RST_N           : in     std_logic;        BOARD_EN        : in     std_logic;        ALE             : in     std_logic;        ADDSEL1         : in     std_logic;        WRB             : in     std_logic;        RDB             : in     std_logic;        ADDSEL2         : in     std_logic;        AA_IN           : in     std_logic;        ADDR            : in     std_logic_vector(7 downto 0);        CHIP_ID         : in     std_logic_vector(7 downto 0);        SELECT_ONE      : in     std_logic_vector(23 downto 0);        SEARCH_IN       : OUT    std_logic_vector(23 downto 0);        SEARCH_OUT      : in     std_logic_vector(23 downto 0);        CLEAR_SEARCH   	: in     std_logic_vector(23 downto 0);        EXTRA_XOR       : out    std_logic;        USE_CBC         : out    std_logic;        CHIP_AA_OUT    	: out    std_logic;        AA_OUT          : out    std_logic;        PT_XOR_MASK     : out    std_logic_vector(63 downto 0);        PT_BYTE_MASK    : out    std_logic_vector(7 downto 0);        PT_VECTOR       : out    std_logic_vector(255 downto 0);        C0              : out    std_logic_vector(63 downto 0);        C1              : out    std_logic_vector(63 downto 0);        ADDR_KEY0       : out    std_logic_vector(6  downto 0);        ADDR_KEY1       : out    std_logic_vector(6  downto 0);        ADDR_KEY2       : out    std_logic_vector(6  downto 0);        ADDR_KEY3       : out    std_logic_vector(6  downto 0);        ADDR_KEY4       : out    std_logic_vector(6  downto 0);        ADDR_KEY5       : out    std_logic_vector(6  downto 0);        ADDR_KEY6       : out    std_logic_vector(6  downto 0);        ADDR_KEY7       : out    std_logic_vector(6  downto 0);        ADDR_KEY8       : out    std_logic_vector(6  downto 0);        ADDR_KEY9       : out    std_logic_vector(6  downto 0);        ADDR_KEY10      : out    std_logic_vector(6  downto 0);        ADDR_KEY11      : out    std_logic_vector(6  downto 0);        ADDR_KEY12      : out    std_logic_vector(6  downto 0);        ADDR_KEY13      : out    std_logic_vector(6  downto 0);        ADDR_KEY14      : out    std_logic_vector(6  downto 0);        ADDR_KEY15      : out    std_logic_vector(6  downto 0);        ADDR_KEY16      : out    std_logic_vector(6  downto 0);        ADDR_KEY17      : out    std_logic_vector(6  downto 0);        ADDR_KEY18      : out    std_logic_vector(6  downto 0);        ADDR_KEY19      : out    std_logic_vector(6  downto 0);        ADDR_KEY20      : out    std_logic_vector(6  downto 0);        ADDR_KEY21      : out    std_logic_vector(6  downto 0);        ADDR_KEY22      : out    std_logic_vector(6  downto 0);        ADDR_KEY23      : out    std_logic_vector(6  downto 0);        DATAI           : in  std_logic_vector(7 downto 0);        DATAO           : out  std_logic_vector(7 downto 0)    );end component;beginUPI0: UPIport map(        RST_N           => RST_N,        BOARD_EN        => BOARD_EN,        ALE             => ALE,        ADDSEL1         => ADDSEL1,        WRB             => WRB,        RDB             => RDB,        ADDSEL2             => ADDSEL2,        ADDR            => ADDR,        CHIP_ID         => CHIP_ID,        SEARCH_IN     	=> SEARCH_IN,        SELECT_ONE  	=> SELECT_ONE,        SEARCH_OUT     	=> SEARCH_OUT,        EXTRA_XOR     	=> EXTRA_XOR,        USE_CBC     	=> USE_CBC,        CLEAR_SEARCH    => CLEAR_SEARCH,        AA_IN     	=> AA_IN,        AA_OUT     	=> AA_OUT,        CHIP_AA_OUT    	=> CHIP_AA_OUT,        PT_XOR_MASK     => PT_XOR_MASK,        PT_BYTE_MASK    => PT_BYTE_MASK,        PT_VECTOR       => PT_VECTOR,        C0              => C0,        C1              => C1,        ADDR_KEY0       => ADDR_KEY(0) ,        ADDR_KEY1       => ADDR_KEY(1) ,        ADDR_KEY2       => ADDR_KEY(2) ,        ADDR_KEY3       => ADDR_KEY(3) ,        ADDR_KEY4       => ADDR_KEY(4) ,        ADDR_KEY5       => ADDR_KEY(5) ,        ADDR_KEY6       => ADDR_KEY(6) ,        ADDR_KEY7       => ADDR_KEY(7) ,        ADDR_KEY8       => ADDR_KEY(8) ,        ADDR_KEY9       => ADDR_KEY(9) ,        ADDR_KEY10      => ADDR_KEY(10),        ADDR_KEY11      => ADDR_KEY(11),        ADDR_KEY12      => ADDR_KEY(12),        ADDR_KEY13      => ADDR_KEY(13),        ADDR_KEY14      => ADDR_KEY(14),        ADDR_KEY15      => ADDR_KEY(15),        ADDR_KEY16      => ADDR_KEY(16),        ADDR_KEY17      => ADDR_KEY(17),        ADDR_KEY18      => ADDR_KEY(18),        ADDR_KEY19      => ADDR_KEY(19),        ADDR_KEY20      => ADDR_KEY(20),        ADDR_KEY21      => ADDR_KEY(21),        ADDR_KEY22      => ADDR_KEY(22),        ADDR_KEY23      => ADDR_KEY(23),        DATAI            => DATAI,        DATAO            => DATAO    );--------------------------------------------------------------------------------gen0: for i in 0 to 23 generateSEARCH_UNITX: SEARCH_UNITport map(CLK             => CLK,        RST_N            => RST_N,        WRB              => WRB,        RDB              => RDB,        PT_BYTE_MASK     => PT_BYTE_MASK,        PT_XOR_MASK      => PT_XOR_MASK,        SEARCH           => SEARCH_IN(i),        SELECT_ONE       => SELECT_ONE(i),        ADDR_KEY         => ADDR_KEY(i),        EXTRA_XOR      	 => EXTRA_XOR,        USE_CBC     	 => USE_CBC,         DATAI            => DATAI,        PT_VECTOR        => PT_VECTOR,        C0               => C0,        C1               => C1,        SEARCH_OUT       => SEARCH_OUT(i),        CLEAR_SEARCH     => CLEAR_SEARCH(i),        DATAO            => DATAO    );end generate;-------------------------------------------------------------------------------- DATAI <= DATA; DATA <= DATAO when (RDB = '0' and ADDSEL2 = '0') else (others => 'Z');end beh;--------------------------------------------------------------------------------

⌨️ 快捷键说明

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