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

📄 sha1_add_pack.vhd

📁 本算法基于leon2协处理器接口标准
💻 VHD
📖 第 1 页 / 共 2 页
字号:
---------------------------------------------------------------------------- sha1_3fa_slice used in the wallace-tree--------------------------------------------------------------------------LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY sha1_add_pack IS    PORT (              A          : IN  std_logic_vector(31 DOWNTO 0);              Ft         : IN  std_logic_vector(31 DOWNTO 0);              Wt        : IN  std_logic_vector(31 DOWNTO 0);              Kt         : IN  std_logic_vector(31 DOWNTO 0);              E          : IN  std_logic_vector(31 DOWNTO 0);              H0        : IN  std_logic_vector(31 DOWNTO 0);              SUM0    : OUT std_logic_vector(31 DOWNTO 0);              SUM1    : OUT std_logic_vector(31 DOWNTO 0)          );END sha1_add_pack;ARCHITECTURE rtl OF sha1_add_pack IS         COMPONENT sha1_2fa_slice    PORT (          a       : IN  std_logic;          b       : IN  std_logic;          c       : IN  std_logic;          d       : IN  std_logic;          e       : IN  std_logic;          f        : IN  std_logic;          cout0   : OUT std_logic;          cout1   : OUT std_logic;                             sum0    : OUT std_logic;          sum1    : OUT std_logic          );    END COMPONENT;        COMPONENT sha1_3fa_slice    PORT (          a       : IN  std_logic;          b       : IN  std_logic;          c       : IN  std_logic;          d       : IN  std_logic;          e       : IN  std_logic;          f        : IN  std_logic;          cin0    : IN  std_logic;          cin1    : IN  std_logic;          cout0   : OUT std_logic;          cout1   : OUT std_logic;          cout2   : OUT std_logic;                              sum0   : OUT std_logic;          sum1   : OUT std_logic          );    END COMPONENT;    COMPONENT sha1_4fa_slice    PORT (          a       : IN  std_logic;          b       : IN  std_logic;          c       : IN  std_logic;          d       : IN  std_logic;          e       : IN  std_logic;          f        : IN  std_logic;          cin0    : IN  std_logic;          cin1    : IN  std_logic;          cin2    : IN  std_logic;          cout0   : OUT std_logic;          cout1   : OUT std_logic;          cout2   : OUT std_logic;                              cout3   : OUT std_logic;          sum    : OUT std_logic          );    END COMPONENT;                 COMPONENT sha1_4fa_nocout_slice    PORT (          a       : IN  std_logic;          b       : IN  std_logic;          c       : IN  std_logic;          d       : IN  std_logic;          e       : IN  std_logic;          f        : IN  std_logic;          cin0    : IN  std_logic;          cin1    : IN  std_logic;          cin2    : IN  std_logic;          sum    : OUT std_logic          );    END COMPONENT;          --cout01   0 is the num of 32 bits,  1 is the num in this slice    SIGNAL    cout00_internal      :  std_logic;    SIGNAL    cout01_internal      :  std_logic;    SIGNAL    cout10_internal      :  std_logic;     SIGNAL    cout11_internal      :  std_logic;    SIGNAL    cout12_internal      :  std_logic;    SIGNAL    cout20_internal      :  std_logic;     SIGNAL    cout21_internal      :  std_logic;    SIGNAL    cout22_internal      :  std_logic;    SIGNAL    cout30_internal      :  std_logic;     SIGNAL    cout31_internal      :  std_logic;    SIGNAL    cout32_internal      :  std_logic;    SIGNAL    cout40_internal      :  std_logic;     SIGNAL    cout41_internal      :  std_logic;    SIGNAL    cout42_internal      :  std_logic;    SIGNAL    cout50_internal      :  std_logic;     SIGNAL    cout51_internal      :  std_logic;    SIGNAL    cout52_internal      :  std_logic;    SIGNAL    cout60_internal      :  std_logic;     SIGNAL    cout61_internal      :  std_logic;    SIGNAL    cout62_internal      :  std_logic;     SIGNAL    cout70_internal      :  std_logic;     SIGNAL    cout71_internal      :  std_logic;    SIGNAL    cout72_internal      :  std_logic;     SIGNAL    cout80_internal      :  std_logic;     SIGNAL    cout81_internal      :  std_logic;    SIGNAL    cout82_internal      :  std_logic;    SIGNAL    cout90_internal      :  std_logic;     SIGNAL    cout91_internal      :  std_logic;    SIGNAL    cout92_internal      :  std_logic;    SIGNAL    cout100_internal      :  std_logic;     SIGNAL    cout101_internal      :  std_logic;    SIGNAL    cout102_internal      :  std_logic;    SIGNAL    cout110_internal      :  std_logic;     SIGNAL    cout111_internal      :  std_logic;    SIGNAL    cout112_internal      :  std_logic;    SIGNAL    cout120_internal      :  std_logic;     SIGNAL    cout121_internal      :  std_logic;    SIGNAL    cout122_internal      :  std_logic;    SIGNAL    cout130_internal      :  std_logic;     SIGNAL    cout131_internal      :  std_logic;    SIGNAL    cout132_internal      :  std_logic;    SIGNAL    cout140_internal      :  std_logic;     SIGNAL    cout141_internal      :  std_logic;    SIGNAL    cout142_internal      :  std_logic;    SIGNAL    cout150_internal      :  std_logic;     SIGNAL    cout151_internal      :  std_logic;    SIGNAL    cout152_internal      :  std_logic;    SIGNAL    cout160_internal      :  std_logic;     SIGNAL    cout161_internal      :  std_logic;    SIGNAL    cout162_internal      :  std_logic;    SIGNAL    cout170_internal      :  std_logic;     SIGNAL    cout171_internal      :  std_logic;    SIGNAL    cout172_internal      :  std_logic;    SIGNAL    cout180_internal      :  std_logic;     SIGNAL    cout181_internal      :  std_logic;    SIGNAL    cout182_internal      :  std_logic;    SIGNAL    cout190_internal      :  std_logic;     SIGNAL    cout191_internal      :  std_logic;    SIGNAL    cout192_internal      :  std_logic;    SIGNAL    cout200_internal      :  std_logic;     SIGNAL    cout201_internal      :  std_logic;    SIGNAL    cout202_internal      :  std_logic;    SIGNAL    cout210_internal      :  std_logic;     SIGNAL    cout211_internal      :  std_logic;    SIGNAL    cout212_internal      :  std_logic;    SIGNAL    cout220_internal      :  std_logic;     SIGNAL    cout221_internal      :  std_logic;    SIGNAL    cout222_internal      :  std_logic;    SIGNAL    cout230_internal      :  std_logic;     SIGNAL    cout231_internal      :  std_logic;    SIGNAL    cout232_internal      :  std_logic;    SIGNAL    cout240_internal      :  std_logic;     SIGNAL    cout241_internal      :  std_logic;    SIGNAL    cout242_internal      :  std_logic;    SIGNAL    cout250_internal      :  std_logic;     SIGNAL    cout251_internal      :  std_logic;    SIGNAL    cout252_internal      :  std_logic;    SIGNAL    cout260_internal      :  std_logic;     SIGNAL    cout261_internal      :  std_logic;    SIGNAL    cout262_internal      :  std_logic;    SIGNAL    cout270_internal      :  std_logic;     SIGNAL    cout271_internal      :  std_logic;    SIGNAL    cout272_internal      :  std_logic;    SIGNAL    cout280_internal      :  std_logic;     SIGNAL    cout281_internal      :  std_logic;    SIGNAL    cout282_internal      :  std_logic;    SIGNAL    cout290_internal      :  std_logic;     SIGNAL    cout291_internal      :  std_logic;    SIGNAL    cout292_internal      :  std_logic;    SIGNAL    cout300_internal      :  std_logic;     SIGNAL    cout301_internal      :  std_logic;    SIGNAL    cout302_internal      :  std_logic;BEGIN   SUM0(2) <= '0';   SHA1_2FA_SLICE0: sha1_2fa_slice   PORT MAP(          a       => A(0),          b       => Ft(0),          c       => Wt(0),          d       => Kt(0),          e       => E(0),          f        => H0(0),          cout0   => cout00_internal,          cout1   => cout01_internal,                          sum0   => SUM0(0),          sum1   => SUM1(0)      );    SHA1_3FA_SLICE1: sha1_3fa_slice   PORT MAP(          a       => A(1),          b       => Ft(1),          c       => Wt(1),          d       => Kt(1),          e       => E(1),          f        => H0(1),          cin0   => cout00_internal,          cin1   => cout01_internal,          cout0  => cout10_internal,          cout1  => cout11_internal,          cout2  => cout12_internal,                             sum0  => SUM0(1),          sum1  => SUM1(1)      );          SHA1_4FA_SLICE2: sha1_4fa_slice   PORT MAP(          a       => A(2),          b       => Ft(2),          c       => Wt(2),          d       => Kt(2),          e       => E(2),          f        => H0(2),          cin0   => cout10_internal,          cin1   => cout11_internal,          cin2   => cout12_internal,          cout0  => cout20_internal,          cout1  => cout21_internal,          cout2  => cout22_internal,          cout3  => SUM0(3),                             sum    => SUM1(2)      );   SHA1_4FA_SLICE3: sha1_4fa_slice   PORT MAP(          a       => A(3),          b       => Ft(3),          c       => Wt(3),          d       => Kt(3),          e       => E(3),          f        => H0(3),          cin0   => cout20_internal,          cin1   => cout21_internal,          cin2   => cout22_internal,          cout0  => cout30_internal,          cout1  => cout31_internal,          cout2  => cout32_internal,          cout3  => SUM0(4),                             sum    => SUM1(3)      );   SHA1_4FA_SLICE4: sha1_4fa_slice   PORT MAP(          a       => A(4),          b       => Ft(4),          c       => Wt(4),          d       => Kt(4),          e       => E(4),          f        => H0(4),          cin0   => cout30_internal,          cin1   => cout31_internal,          cin2   => cout32_internal,          cout0  => cout40_internal,          cout1  => cout41_internal,          cout2  => cout42_internal,          cout3  => SUM0(5),                             sum    => SUM1(4)      );   SHA1_4FA_SLICE5: sha1_4fa_slice   PORT MAP(          a       => A(5),          b       => Ft(5),          c       => Wt(5),          d       => Kt(5),          e       => E(5),          f        => H0(5),          cin0   => cout40_internal,          cin1   => cout41_internal,          cin2   => cout42_internal,          cout0  => cout50_internal,          cout1  => cout51_internal,          cout2  => cout52_internal,          cout3  => SUM0(6),                             sum    => SUM1(5)      );           SHA1_4FA_SLICE6: sha1_4fa_slice   PORT MAP(          a       => A(6),          b       => Ft(6),          c       => Wt(6),          d       => Kt(6),          e       => E(6),          f        => H0(6),          cin0   => cout50_internal,          cin1   => cout51_internal,          cin2   => cout52_internal,          cout0  => cout60_internal,          cout1  => cout61_internal,          cout2  => cout62_internal,          cout3  => SUM0(7),                             sum    => SUM1(6)      );    SHA1_4FA_SLICE7: sha1_4fa_slice   PORT MAP(          a       => A(7),          b       => Ft(7),          c       => Wt(7),          d       => Kt(7),          e       => E(7),          f        => H0(7),          cin0   => cout60_internal,          cin1   => cout61_internal,          cin2   => cout62_internal,          cout0  => cout70_internal,          cout1  => cout71_internal,          cout2  => cout72_internal,          cout3  => SUM0(8),                             sum    => SUM1(7)      );   SHA1_4FA_SLICE8: sha1_4fa_slice   PORT MAP(          a       => A(8),          b       => Ft(8),          c       => Wt(8),          d       => Kt(8),          e       => E(8),          f        => H0(8),          cin0   => cout70_internal,          cin1   => cout71_internal,          cin2   => cout72_internal,          cout0  => cout80_internal,          cout1  => cout81_internal,          cout2  => cout82_internal,          cout3  => SUM0(9),                             sum    => SUM1(8)      );   SHA1_4FA_SLICE9: sha1_4fa_slice   PORT MAP(          a       => A(9),          b       => Ft(9),          c       => Wt(9),          d       => Kt(9),          e       => E(9),          f        => H0(9),          cin0   => cout80_internal,          cin1   => cout81_internal,          cin2   => cout82_internal,          cout0  => cout90_internal,          cout1  => cout91_internal,          cout2  => cout92_internal,          cout3  => SUM0(10),                             sum    => SUM1(9)      );   SHA1_4FA_SLICE10: sha1_4fa_slice   PORT MAP(          a       => A(10),          b       => Ft(10),          c       => Wt(10),          d       => Kt(10),          e       => E(10),          f        => H0(10),          cin0   => cout90_internal,          cin1   => cout91_internal,          cin2   => cout92_internal,

⌨️ 快捷键说明

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