亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? testbench.vhd.txt

?? 加密算法
?? TXT
字號(hào):
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--  The Free IP Project
--  VHDL DES Core
--  (c) 1999, The Free IP Project and David Kessner
--
--
--  Warning:  This software probably falls under the jurisdiction of some
--            cryptography import/export laws.  Don't import/export this
--            file (or products that use this file) unless you've worked
--            out all the legal issues.  Don't say we didn't warn you!
--
--
--  FREE IP GENERAL PUBLIC LICENSE
--  TERMS AND CONDITIONS FOR USE, COPYING, DISTRIBUTION, AND MODIFICATION
--
--  1.  You may copy and distribute verbatim copies of this core, as long
--      as this file, and the other associated files, remain intact and
--      unmodified.  Modifications are outlined below.  Also, see the
--      import/export warning above for further restrictions on
--      distribution.
--  2.  You may use this core in any way, be it academic, commercial, or
--      military.  Modified or not.  See, again, the import/export warning
--      above.
--  3.  Distribution of this core must be free of charge.  Charging is
--      allowed only for value added services.  Value added services
--      would include copying fees, modifications, customizations, and
--      inclusion in other products.
--  4.  If a modified source code is distributed, the original unmodified
--      source code must also be included (or a link to the Free IP web
--      site).  In the modified source code there must be clear
--      identification of the modified version.
--  5.  Visit the Free IP web site for additional information.
--
----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

package destest_lib is

  component des_fast_testbench
  end component;

  component des_small_testbench
  end component;


  function random32 (din:std_logic_vector(31 downto 0))
                     return std_logic_vector;
  function random56 (din:std_logic_vector(55 downto 0))
                     return std_logic_vector;
  function random64 (din:std_logic_vector(63 downto 0))
                     return std_logic_vector;
end destest_lib;

                     
----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.destest_lib.all;

package body destest_lib is
  function random32 (din:std_logic_vector(31 downto 0))
                     return std_logic_vector is
    variable val	:std_logic_vector (31 downto 0);
  begin
    val := (din(31) xor din(6) xor din(4) xor din(2) xor din(1)) & din(31 downto 1);
    return (val);
  end random32;

  function random56 (din:std_logic_vector(55 downto 0))
                     return std_logic_vector is
    variable val	:std_logic_vector (55 downto 0);
  begin
    val := (din(55) xor din(6) xor din(3) xor din(1)) & din(55 downto 1);
    return (val);
  end random56;

  function random64 (din:std_logic_vector(63 downto 0))
                     return std_logic_vector is
    variable val	:std_logic_vector (63 downto 0);
  begin
    val := (din(63) xor din(3) xor din(2) xor din(0)) & din(63 downto 1);
    return (val);
  end random64;

end destest_lib;

  
----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.des_lib.all;
use work.destest_lib.all;


entity des_fast_testbench is
--  port();
end des_fast_testbench;


architecture arch_des_fast_testbench of des_fast_testbench is
  signal clk		:std_logic := '1';
  signal reset		:std_logic := '1';
  signal stall		:std_logic := '0';
  signal key1		:std_logic_vector (55 downto 0) := "00000000000000000000000000000000000000000000000000000000";
  signal key2		:std_logic_vector (55 downto 0) := "00000000000000000000000000000000000000000000000000000000";
  signal key3		:std_logic_vector (55 downto 0) := "00000000000000000000000000000000000000000000000000000000";
  signal din		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal din_valid	:std_logic := '0'; 
  signal dout1		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal dout2		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal dout_valid1	:std_logic := '0';
  signal dout_valid2	:std_logic := '0';
  signal encrypt_flag	:std_logic := '1';
  signal decrypt_flag   :std_logic := '0';
begin
  process (clk)
  begin
    if clk='1' then
      clk <= '0' after 20ns, '1' after 40ns;
    end if;
  end process;

  reset <= '1' after 0ns, '0' after 125ns;

  -- Generate the random key's and random data
  process (reset, clk)
  begin
    if reset='1' then
      din_valid <= '0';
      din <= "1001010001010110101011001010010001100101010110101010100101101110";
      key1 <= "00101100110100001101110101001100110101011010101100110011";
    elsif clk'event and clk='1' then
      key1 <= random56(key1);
      din  <= random64(din);
      din_valid <= '1';
    end if;
  end process;
    

  -- Do the DES encryption/decryption blocks
  encrypt_flag <= '1';
  decrypt_flag <= '0';
  DES0:  des_fast port map (clk, reset, stall, encrypt_flag, key1, din, din_valid, dout1, dout_valid1, key2);
  DES1:  des_fast port map (clk, reset, stall, decrypt_flag, key2, dout1, dout_valid1, dout2, dout_valid2, key3);


  -- Verify the unencrypted output
  process (reset, clk, dout2, dout_valid2)
    variable check  :std_logic_vector (63 downto 0);
  begin
    if reset='1' then
      check := "1001010001010110101011001010010001100101010110101010100101101110";
    elsif clk'event and clk='1' then
      if dout_valid2='1' then
        check := random64(check);

        if check/=dout2 then         
          assert 1=0
            report "Simulation Ended, DES Fast Failed!!!!!!!!!!!!!!!!!!!!!!!!!"
            severity failure;
        end if;
      end if;
    end if;
  end process;

end arch_des_fast_testbench;




----------------------------------------------------------------------------
----------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.des_lib.all;
use work.destest_lib.all;


entity des_small_testbench is
--  port();
end des_small_testbench;


architecture arch_des_small_testbench of des_small_testbench is
  signal clk		:std_logic := '1';
  signal reset		:std_logic := '1';
  signal key		:std_logic_vector (55 downto 0) := "00000000000000000000000000000000000000000000000000000000";
  signal din		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal din_valid	:std_logic := '0'; 
  signal dout1		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal dout2		:std_logic_vector (63 downto 0) := "0000000000000000000000000000000000000000000000000000000000000000";
  signal dout_valid1	:std_logic := '0';
  signal dout_valid2	:std_logic := '0';
  signal encrypt_flag	:std_logic := '1';
  signal decrypt_flag   :std_logic := '0';
  signal busy1		:std_logic := '1';
  signal busy2		:std_logic := '1';
  
begin
  process (clk)
  begin
    if clk='1' then
      clk <= '0' after 20ns, '1' after 40ns;
    end if;
  end process;

  reset <= '1' after 0ns, '0' after 125ns;

  -- Generate the random key's and random data
  process (reset, clk, busy1, busy2)
  begin
    if reset='1' then
      din_valid <= '0';
      din <= "0010100100110110001001011011001111001011001001100010010100011001";
      key <= "10100101010010010100101010001101010001011001111110000111";
    elsif clk'event and clk='1' then
      --if dout_valid2='1' then
      if din_valid='0' and busy1='0' and busy2='0' and dout_valid1='0' and dout_valid2='0' then
        din_valid <= '1';
        din <= random64(din);
        key <= random56(key);
      else
        din_valid <= '0';
      end if;     
    end if;
  end process;
    

  -- Do the DES encryption/decryption blocks
  encrypt_flag <= '1';
  decrypt_flag <= '0';
  DES0:  des_small port map (clk, reset, encrypt_flag, key, din,   din_valid,   busy1, dout1, dout_valid1);
  DES1:  des_small port map (clk, reset, decrypt_flag, key, dout1, dout_valid1, busy2, dout2, dout_valid2);


  -- Verify the unencrypted output
  process (clk, din, dout_valid2)
    variable check  :std_logic_vector (63 downto 0);
  begin
    if clk'event and clk='1' then
      if dout_valid2='1' then
        if din/=dout2 then         
          assert 1=0
            report "Simulation Ended, DES Small Failed!!!!!!!!!!!!!!!!!!!!!!!!!"
            severity failure;
        end if;
      end if;
    end if;
  end process;

end arch_des_small_testbench;











?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成国产人片在线观看| 欧美精品99久久久**| 亚洲视频一区二区在线| 欧美日韩免费在线视频| 国产精品综合二区| 一区2区3区在线看| 精品久久久久久综合日本欧美| 99久久夜色精品国产网站| 午夜天堂影视香蕉久久| 国产精品欧美久久久久一区二区| 欧美三日本三级三级在线播放| 国产精品一区二区三区四区| 午夜不卡av在线| 亚洲天堂福利av| 精品免费国产二区三区| 欧美日韩在线播放| 99久久99久久精品免费观看| 激情图区综合网| 视频一区二区不卡| 亚洲欧美日韩综合aⅴ视频| 久久综合久久鬼色| 欧美精品在线一区二区三区| 色网站国产精品| 成人va在线观看| 国产一区二区三区黄视频 | 国产精品影视网| 亚洲电影一区二区| 一区在线中文字幕| 国产午夜久久久久| 欧美一二区视频| 欧美三日本三级三级在线播放| 99re成人精品视频| 成人在线一区二区三区| 国产一区 二区 三区一级| 久久精品999| 日本三级亚洲精品| 婷婷六月综合亚洲| 亚洲成av人片在线观看无码| 一区二区三区日韩| 亚洲精品视频免费看| 国产精品免费观看视频| 日韩二区三区在线观看| 亚洲成人av一区二区三区| 亚洲综合免费观看高清在线观看| 国产精品高潮呻吟久久| 中文字幕精品三区| 国产欧美一区二区精品性色| 国产无人区一区二区三区| 欧美不卡一区二区三区| 精品欧美一区二区久久| 精品1区2区在线观看| 精品免费国产二区三区| 欧美精品一区二区精品网| 日韩精品一区国产麻豆| 欧美成人精精品一区二区频| www国产成人| 国产亚洲综合在线| 欧美激情综合五月色丁香| 亚洲国产精品成人久久综合一区| 国产欧美视频在线观看| 国产精品视频一区二区三区不卡| 中文字幕av一区二区三区| 中文字幕一区二区三区蜜月| 亚洲人精品一区| 亚洲成人午夜影院| 日韩极品在线观看| 韩国一区二区三区| 成人激情图片网| 91视频在线看| 欧美日韩精品三区| 91精品欧美久久久久久动漫 | 国产成人一级电影| 成人h动漫精品一区二区 | 精品美女一区二区三区| 久久久精品中文字幕麻豆发布| 国产精品午夜春色av| 欧美成人乱码一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 一区二区三区蜜桃| 午夜精品久久久久| 国产美女一区二区| 色综合天天综合网国产成人综合天| 欧美裸体bbwbbwbbw| 久久婷婷久久一区二区三区| 日韩美女精品在线| 日产欧产美韩系列久久99| 国产乱理伦片在线观看夜一区| 91丨九色porny丨蝌蚪| 91精品国产aⅴ一区二区| 久久久久久久电影| 亚洲一区二区三区自拍| 久久se精品一区二区| 99视频热这里只有精品免费| 日韩一区二区在线观看| 国产精品久久网站| 免费人成在线不卡| jlzzjlzz亚洲女人18| 91精品国产入口| 国产精品精品国产色婷婷| 午夜精品久久久久| 成人av在线看| 日韩avvvv在线播放| 国产成人精品免费| 欧美日韩大陆在线| 国产精品人成在线观看免费| 日韩电影在线免费观看| 99免费精品在线观看| 日韩午夜电影在线观看| 亚洲免费av高清| 国产美女精品一区二区三区| 欧美日韩日日夜夜| 亚洲欧洲一区二区三区| 国产主播一区二区三区| 欧美伦理电影网| 日韩美女啊v在线免费观看| 国产一区二区调教| 制服丝袜亚洲网站| 亚洲精品亚洲人成人网| 成人丝袜视频网| 欧美zozozo| 日韩电影一二三区| 91久久国产综合久久| 中文字幕欧美国产| 精品亚洲成av人在线观看| 欧美性三三影院| 亚洲三级电影网站| 国产精品一卡二| 2021国产精品久久精品| 午夜亚洲福利老司机| 在线国产电影不卡| 亚洲欧美日韩中文字幕一区二区三区| 国产精品一色哟哟哟| 精品久久久久久久人人人人传媒 | 久久久久久夜精品精品免费| 蜜臀av性久久久久蜜臀av麻豆| 欧美在线不卡视频| 亚洲美女在线国产| 91在线一区二区| 亚洲天堂成人在线观看| 99视频精品在线| 亚洲视频图片小说| 97久久久精品综合88久久| 国产精品久久久久久久蜜臀 | 亚洲高清视频在线| 欧美性大战久久久久久久蜜臀| 樱花影视一区二区| 欧洲视频一区二区| 一区二区久久久| 欧美日韩一区二区三区在线看| 亚洲国产婷婷综合在线精品| 欧美日韩大陆一区二区| 日韩电影在线免费观看| 日韩亚洲电影在线| 精品一区二区三区久久| 精品成人私密视频| 国产电影一区在线| 国产精品久久久一本精品| 99精品国产99久久久久久白柏| 成人欧美一区二区三区视频网页| 91麻豆6部合集magnet| 一区二区三区久久| 欧美精品欧美精品系列| 免费不卡在线视频| 国产日产亚洲精品系列| 99久久精品国产麻豆演员表| 亚洲伊人伊色伊影伊综合网| 8x福利精品第一导航| 久久69国产一区二区蜜臀| 国产午夜亚洲精品不卡| 91免费观看国产| 日韩不卡免费视频| 欧美va在线播放| 99久久精品国产网站| 午夜电影一区二区| 久久综合一区二区| av在线不卡免费看| 亚洲福利视频一区二区| 欧美成人bangbros| 99re6这里只有精品视频在线观看| 亚洲成人免费在线观看| 久久综合九色综合97婷婷女人| k8久久久一区二区三区 | 7777精品伊人久久久大香线蕉的 | 亚洲国产欧美日韩另类综合 | 2024国产精品| 91啪亚洲精品| 丝袜美腿成人在线| 国产精品网友自拍| 欧美日韩卡一卡二| 国产专区欧美精品| 亚洲国产精品久久一线不卡| xvideos.蜜桃一区二区| 91久久奴性调教| 久久成人18免费观看| 亚洲精品成a人| www国产成人免费观看视频 深夜成人网 | 日韩av二区在线播放| 国产精品灌醉下药二区| 日韩久久久精品| 91在线国产福利|