URL
https://opencores.org/ocsvn/idea/idea/trunk
Subversion Repositories idea
[/] [idea/] [trunk/] [simulation/] [idea_machine/] [idea_encryptor.pat] - Rev 9
Compare with Previous | Blame | View Log
-- File Name : idea_encryptor.pat --
-- Description : The test patterns of the encryption block of idea processor --
-- for the normal verification of the structural view --
-- with zero delay --
-- Purpose : To be used by ASIMUT --
-- Date : Aug 23, 2001 --
-- Version : 1.1 --
-- Author : Martadinata A. --
-- Address : VLSI RG, Dept. of Electrical Engineering ITB --
-- Bandung, Indonesia --
-- E-mail : marta@ic.vlsi.itb.ac.id --
in vdd;;
in vss;;;
in x1(15 downto 0) X;;
in x2(15 downto 0) X;;
in x3(15 downto 0) X;;
in x4(15 downto 0) X;;;
in z1(15 downto 0) X;;
in z2(15 downto 0) X;;
in z3(15 downto 0) X;;
in z4(15 downto 0) X;;
in z5(15 downto 0) X;;
in z6(15 downto 0) X;;;
in z19(15 downto 0) X;;
in z29(15 downto 0) X;;
in z39(15 downto 0) X;;
in z49(15 downto 0) X;;;
in clk;;
in reset;;;
in start;;
in key_ready;;
out round(2 downto 0);;
out en_key_out;;
out finish;;
out y1(15 downto 0) X;;
out y2(15 downto 0) X;;
out y3(15 downto 0) X;;
out y4(15 downto 0) X;;
begin
-- for a 64-bit input data 0001000200030004 (x1=0001, x2=0002, x3=0003, x4=0004)
-- and the 52 16-bit sub-keys z11=0001, z21=0002, z31=0003, z41=0004, z51=0005, z61=0006
-- z12=0001, z22=0002, z32=0003, z42=0004, z52=0005, z62=0006
-- z13=0001, z23=0002, z33=0003, z43=0004, z53=0005, z63=0006
-- z14=0001, z24=0002, z34=0003, z44=0004, z54=0005, z64=0006
-- z15=0001, z25=0002, z35=0003, z45=0004, z55=0005, z65=0006
-- z16=0001, z26=0002, z36=0003, z46=0004, z56=0005, z66=0006
-- z17=0001, z27=0002, z37=0003, z47=0004, z57=0005, z67=0006
-- z18=0001, z28=0002, z38=0003, z48=0004, z58=0005, z68=0006
-- z19=0001, z29=0002, z39=0003, z49=0004
-- round 1
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0 1 0 0 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 1 1 0 0 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0 0 0 0 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 1 0 0 0 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0 0 0 0 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 1 0 1 1 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_11 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0 0 1 1 ?*** ?* ?* ?**** ?**** ?**** ?****;
path_21 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 0 0 ?**** ?**** ?**** ?****;
path_31 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 0 0 ?**** ?**** ?**** ?****;
path_41 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 0 0 ?**** ?**** ?**** ?****;
path_51 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 0 0 ?**** ?**** ?**** ?****;
path_61 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 0 0 ?**** ?**** ?**** ?****;
path_71 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 0 0 ?**** ?**** ?**** ?****;
-- round 2
path_12 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_22 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_32 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_42 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_52 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_62 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_72 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 3
path_13 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_23 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_33 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_43 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_53 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_63 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_73 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 4
path_14 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_24 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_34 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_44 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_54 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_64 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_74 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 5
path_15 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_25 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_35 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_45 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_55 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_65 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_75 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 6
path_16 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_26 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_36 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_46 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_56 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_66 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_76 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 7
path_17 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_27 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_37 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_47 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_57 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_67 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_77 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 8
path_18 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_28 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_38 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_48 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_58 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_68 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_78 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0000 0000 0000 0000 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- output transformation
path_19 : 1 0 0001 0002 0003 0004 0001 0002 0003 0004 0005 0006
0001 0002 0003 0004 0000000 1 0 0 ?**** ?**** ?**** ?****;
end;