1 |
6 |
marta |
-- File Name : idea_heart.pat --
|
2 |
|
|
-- Description : The test patterns of the idea processor heart --
|
3 |
|
|
-- for the normal verification of the structural view --
|
4 |
|
|
-- with zero delay --
|
5 |
|
|
-- Purpose : To be used by ASIMUT --
|
6 |
|
|
-- Date : Aug 23, 2001 --
|
7 |
|
|
-- Version : 1.1 --
|
8 |
|
|
-- Author : Martadinata A. --
|
9 |
|
|
-- Address : VLSI RG, Dept. of Electrical Engineering ITB --
|
10 |
|
|
-- Bandung, Indonesia --
|
11 |
|
|
-- E-mail : marta@ic.vlsi.itb.ac.id --
|
12 |
|
|
|
13 |
|
|
in vdd;;
|
14 |
|
|
in vss;;;
|
15 |
|
|
|
16 |
|
|
in x1(15 downto 0) X;;
|
17 |
|
|
in x2(15 downto 0) X;;
|
18 |
|
|
in x3(15 downto 0) X;;
|
19 |
|
|
in x4(15 downto 0) X;;;
|
20 |
|
|
|
21 |
|
|
in z1(15 downto 0) X;;
|
22 |
|
|
in z2(15 downto 0) X;;
|
23 |
|
|
in z3(15 downto 0) X;;
|
24 |
|
|
in z4(15 downto 0) X;;
|
25 |
|
|
in z5(15 downto 0) X;;
|
26 |
|
|
in z6(15 downto 0) X;;;
|
27 |
|
|
|
28 |
|
|
in z19(15 downto 0) X;;
|
29 |
|
|
in z29(15 downto 0) X;;
|
30 |
|
|
in z39(15 downto 0) X;;
|
31 |
|
|
in z49(15 downto 0) X;;;
|
32 |
|
|
|
33 |
|
|
in en(1 to 7);;
|
34 |
|
|
in en_out;;
|
35 |
|
|
in sel_in;;
|
36 |
|
|
in reset;;;
|
37 |
|
|
|
38 |
|
|
out y1(15 downto 0) X;;
|
39 |
|
|
out y2(15 downto 0) X;;
|
40 |
|
|
out y3(15 downto 0) X;;
|
41 |
|
|
out y4(15 downto 0) X;;
|
42 |
|
|
|
43 |
|
|
begin
|
44 |
|
|
-- for a 64-bit input data 000B000C000D000E (x1=000B, x2=000C, x3=000D, x4=000E)
|
45 |
|
|
-- and the 52 16-bit sub-keys z11=0001, z21=0002, z31=0003, z41=0004, z51=0005, z61=0006
|
46 |
|
|
-- z12=0001, z22=0002, z32=0003, z42=0004, z52=0005, z62=0006
|
47 |
|
|
-- z13=0001, z23=0002, z33=0003, z43=0004, z53=0005, z63=0006
|
48 |
|
|
-- z14=0001, z24=0002, z34=0003, z44=0004, z54=0005, z64=0006
|
49 |
|
|
-- z15=0001, z25=0002, z35=0003, z45=0004, z55=0005, z65=0006
|
50 |
|
|
-- z16=0001, z26=0002, z36=0003, z46=0004, z56=0005, z66=0006
|
51 |
|
|
-- z17=0001, z27=0002, z37=0003, z47=0004, z57=0005, z67=0006
|
52 |
|
|
-- z18=0001, z28=0002, z38=0003, z48=0004, z58=0005, z68=0006
|
53 |
|
|
-- z19=0001, z29=0002, z39=0003, z49=0004
|
54 |
|
|
|
55 |
|
|
-- round 1
|
56 |
|
|
path_00 : 1 0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
|
57 |
|
|
0100 0180 0200 0280 0000000 0 0 1 ?**** ?**** ?**** ?****;
|
58 |
|
|
path_11 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
59 |
|
|
0100 0180 0200 0280 1000000 0 0 0 ?**** ?**** ?**** ?****;
|
60 |
|
|
path_21 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
61 |
|
|
0100 0180 0200 0280 0100000 0 0 0 ?**** ?**** ?**** ?****;
|
62 |
|
|
path_31 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
63 |
|
|
0100 0180 0200 0280 0010000 0 0 0 ?**** ?**** ?**** ?****;
|
64 |
|
|
path_41 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
65 |
|
|
0100 0180 0200 0280 0001000 0 0 0 ?**** ?**** ?**** ?****;
|
66 |
|
|
path_51 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
67 |
|
|
0100 0180 0200 0280 0000100 0 0 0 ?**** ?**** ?**** ?****;
|
68 |
|
|
path_61 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
69 |
|
|
0100 0180 0200 0280 0000010 0 0 0 ?**** ?**** ?**** ?****;
|
70 |
|
|
path_71 : 1 0 000B 000C 000D 000E 0002 0004 0006 0008 000A 000C
|
71 |
|
|
0100 0180 0200 0280 0000001 0 0 0 ?**** ?**** ?**** ?****;
|
72 |
|
|
|
73 |
|
|
-- round 2
|
74 |
|
|
path_12 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
75 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
76 |
|
|
path_22 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
77 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
78 |
|
|
path_32 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
79 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
80 |
|
|
path_42 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
81 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
82 |
|
|
path_52 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
83 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
84 |
|
|
path_62 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
85 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
86 |
|
|
path_72 : 1 0 000B 000C 000D 000E 000E 0010 0800 0C00 1000 1400
|
87 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
88 |
|
|
|
89 |
|
|
-- round 3
|
90 |
|
|
path_13 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
91 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
92 |
|
|
path_23 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
93 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
94 |
|
|
path_33 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
95 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
96 |
|
|
path_43 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
97 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
98 |
|
|
path_53 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
99 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
100 |
|
|
path_63 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
101 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
102 |
|
|
path_73 : 1 0 000B 000C 000D 000E 1800 1C00 2000 0400 0020 0028
|
103 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
104 |
|
|
|
105 |
|
|
-- round 4
|
106 |
|
|
path_14 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
107 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
108 |
|
|
path_24 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
109 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
110 |
|
|
path_34 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
111 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
112 |
|
|
path_44 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
113 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
114 |
|
|
path_54 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
115 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
116 |
|
|
path_64 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
117 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
118 |
|
|
path_74 : 1 0 000B 000C 000D 000E 0030 0038 0040 0008 0010 0018
|
119 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
120 |
|
|
|
121 |
|
|
-- round 5
|
122 |
|
|
path_15 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
123 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
124 |
|
|
path_25 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
125 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
126 |
|
|
path_35 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
127 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
128 |
|
|
path_45 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
129 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
130 |
|
|
path_55 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
131 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
132 |
|
|
path_65 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
133 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
134 |
|
|
path_75 : 1 0 000B 000C 000D 000E 5000 6000 7000 8000 1000 2000
|
135 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
136 |
|
|
|
137 |
|
|
-- round 6
|
138 |
|
|
path_16 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
139 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
140 |
|
|
path_26 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
141 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
142 |
|
|
path_36 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
143 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
144 |
|
|
path_46 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
145 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
146 |
|
|
path_56 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
147 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
148 |
|
|
path_66 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
149 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
150 |
|
|
path_76 : 1 0 000B 000C 000D 000E 3000 4000 00E0 0100 0020 0040
|
151 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
152 |
|
|
|
153 |
|
|
-- round 7
|
154 |
|
|
path_17 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
155 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
156 |
|
|
path_27 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
157 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
158 |
|
|
path_37 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
159 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
160 |
|
|
path_47 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
161 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
162 |
|
|
path_57 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
163 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
164 |
|
|
path_67 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
165 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
166 |
|
|
path_77 : 1 0 000B 000C 000D 000E 0060 0080 00A0 00C0 0000 4000
|
167 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
168 |
|
|
|
169 |
|
|
-- round 8
|
170 |
|
|
path_18 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
171 |
|
|
0100 0180 0200 0280 1000000 0 1 0 ?**** ?**** ?**** ?****;
|
172 |
|
|
path_28 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
173 |
|
|
0100 0180 0200 0280 0100000 0 1 0 ?**** ?**** ?**** ?****;
|
174 |
|
|
path_38 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
175 |
|
|
0100 0180 0200 0280 0010000 0 1 0 ?**** ?**** ?**** ?****;
|
176 |
|
|
path_48 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
177 |
|
|
0100 0180 0200 0280 0001000 0 1 0 ?**** ?**** ?**** ?****;
|
178 |
|
|
path_58 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
179 |
|
|
0100 0180 0200 0280 0000100 0 1 0 ?**** ?**** ?**** ?****;
|
180 |
|
|
path_68 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
181 |
|
|
0100 0180 0200 0280 0000010 0 1 0 ?**** ?**** ?**** ?****;
|
182 |
|
|
path_78 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
183 |
|
|
0100 0180 0200 0280 0000001 0 1 0 ?**** ?**** ?**** ?****;
|
184 |
|
|
|
185 |
|
|
-- output transformation
|
186 |
|
|
path_19 : 1 0 000B 000C 000D 000E 8000 C001 0001 4001 8001 C002
|
187 |
|
|
0100 0180 0200 0280 0000000 1 0 0 ?**** ?**** ?**** ?****;
|
188 |
|
|
|
189 |
|
|
end;
|