URL
https://opencores.org/ocsvn/idea/idea/trunk
Subversion Repositories idea
[/] [idea/] [trunk/] [simulation/] [idea_machine/] [idea_heart.pat] - Rev 9
Compare with Previous | Blame | View Log
-- File Name : idea_heart.pat --
-- Description : The test patterns of the idea processor heart --
-- 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 en(1 to 7);;
in en_out;;
in sel_in;;
in reset;;;
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 000B000C000D000E (x1=000B, x2=000C, x3=000D, x4=000E)
-- 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
0100 0180 0200 0280 0000000 0 0 1 ?**** ?**** ?**** ?****;
path_11 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 1000000 0 0 0 ?**** ?**** ?**** ?****;
path_21 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0100000 0 0 0 ?**** ?**** ?**** ?****;
path_31 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0010000 0 0 0 ?**** ?**** ?**** ?****;
path_41 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0001000 0 0 0 ?**** ?**** ?**** ?****;
path_51 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0000100 0 0 0 ?**** ?**** ?**** ?****;
path_61 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0000010 0 0 0 ?**** ?**** ?**** ?****;
path_71 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
0100 0180 0200 0280 0000001 0 0 0 ?**** ?**** ?**** ?****;
-- round 2
path_12 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_22 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_32 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_42 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_52 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_62 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_72 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 3
path_13 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_23 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_33 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_43 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_53 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_63 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_73 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 4
path_14 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_24 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_34 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_44 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_54 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_64 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_74 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 5
path_15 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_25 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_35 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_45 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_55 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_65 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_75 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 6
path_16 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_26 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_36 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_46 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_56 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_66 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_76 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 7
path_17 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_27 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_37 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_47 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_57 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_67 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_77 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- round 8
path_18 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
path_28 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
path_38 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
path_48 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
path_58 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
path_68 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
path_78 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
-- output transformation
path_19 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
0100 0180 0200 0280 0000000 1 0 0 ?**** ?**** ?**** ?****;
end;