-
Notifications
You must be signed in to change notification settings - Fork 0
/
s820_rnd.tdf
247 lines (245 loc) · 15.8 KB
/
s820_rnd.tdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
SUBDESIGN s820_rnd (
clk: INPUT;
i[17..0]: INPUT;
o[18..0]: OUTPUT;
)
VARIABLE
ss: MACHINE OF BITS (q[4..0]) WITH STATES (00000 = B"11101", 00001 = B"10110", 00010 = B"10001", 00011 = B"01111", 00100 = B"01011", 00101 = B"00001", 00110 = B"10000", 00111 = B"00100", 01000 = B"00111", 01001 = B"01100", 01010 = B"10101", 01011 = B"01000", 01100 = B"10011", 01101 = B"10010", 01110 = B"00010", 01111 = B"11111", 10000 = B"11011", 10001 = B"11110", 10111 = B"11000", 11000 = B"01001", 11001 = B"11100", 11010 = B"00011", 11011 = B"00110", 11100 = B"10111", 11111 = B"11010");
BEGIN
ss.clk = clk;
TABLE
i[17..0], ss => ss, o[18..0];
B"X1XXXXXXXXXXXXXXX1", 00000 => 00000, B"0000000000000110000";
B"X0X0XXXXXXXXXXXX11", 00000 => 00000, B"0000000000000100001";
B"X0X0XXXXXXXXXXXX01", 00000 => 00000, B"0000000000000100000";
B"X0X1XXXXXXXXXXXX01", 00000 => 00000, B"0000000001000100000";
B"X0X1XXXXXXXXXXXX11", 00000 => 00000, B"0000000000000100001";
B"X000XXXXXXXXXXXX00", 00000 => 00000, B"0000000000000100000";
B"X010XXXXXXXXXXXX00", 00000 => 01110, B"0000000000000100000";
B"X0X1XXXXXXXXXXXX00", 00000 => 00000, B"0000000001000100000";
B"X1XXXXXXXXXXXXXX00", 00000 => 10000, B"0000000000000110000";
B"X0XXXXXXXXXXXXXX10", 00000 => 10001, B"0000000000000100001";
B"X1XXXXXXXXXXXXXX10", 00000 => 10000, B"0000000000000110000";
B"XXXXXXXXXXXXXXXXX1", 01110 => 00000, B"0000010000000000000";
B"XXXXXXXXXXXXXXXXX0", 01110 => 01111, B"0000010000000000000";
B"XXXXXXXXXXXXXXXX11", 01111 => 00000, B"0000000100000100000";
B"XXXXXXXXXXXXXXXX01", 01111 => 00000, B"0000000000000100000";
B"XXXXXXXXXXXXXXXX00", 01111 => 00010, B"0000000000000100000";
B"XXXXXXXXXXXXXXXX10", 01111 => 00001, B"0000000100000100000";
B"XXXXXXXXXXXXXX01X1", 00010 => 00000, B"0000000000110000000";
B"XXXXXXXXXXXXXX11X1", 00010 => 00000, B"0000000000111000000";
B"XXXXXXXXXXXXXXX0X1", 00010 => 00000, B"0000000000010000000";
B"XXXXXXXXXXXXXX01X0", 00010 => 00100, B"0000000000110000000";
B"XXXXXXXXXXXXXX11X0", 00010 => 00011, B"0000000000111000000";
B"XXXXXXXXXXXXXXX0X0", 00010 => 00010, B"0000000000010000000";
B"XXXX1XXXXXXXXXXXX1", 00100 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX11", 00100 => 00000, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX01", 00100 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXXX0", 00100 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 00100 => 00010, B"0000000000000001001";
B"XXXX0X0XXXXXXXXX10", 00100 => 00100, B"0000000000000001000";
B"XXXX0X11X1XXXXX110", 00100 => 00100, B"0000000000000001000";
B"XXXX0X1011XXXXX110", 00100 => 00100, B"0000000000000001000";
B"XXXX0X1001XXXXX110", 00100 => 00101, B"0000000000000001000";
B"XXXX0X1XX0XXXXX110", 00100 => 00100, B"0000000000000001000";
B"XXXX0X1XXXXXXXX010", 00100 => 00100, B"0000000000000001000";
B"XXXXXXXXXXXXXXXX01", 00001 => 00000, B"0000000000000000000";
B"XXXXXXXXXXXXXXXX00", 00001 => 00010, B"0000000000000000000";
B"XXXXXXXXXXXXXXXX11", 00001 => 00000, B"0000000000000000000";
B"XXXXXXXXXXXXXXXX10", 00001 => 00001, B"0000000000000000000";
B"XXXX0XXXXXXXXXXX11", 00101 => 00000, B"0000000000000001000";
B"XXXX0XXXXXXXXXX010", 00101 => 00101, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 00101 => 00110, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX10", 00101 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX11", 00101 => 00000, B"0000000000000001001";
B"XXXXXXXXXXXXXXXX01", 00101 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX00", 00101 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 00101 => 00010, B"0000000000000001001";
B"XXXXXXXXXXXXXXXX01", 00110 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX011", 00110 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 00110 => 00000, B"0000000000000001000";
B"XXXX1XXXXX1XXXX111", 00110 => 00000, B"0000000000000001001";
B"XXXX0XXXXX100XX111", 00110 => 00000, B"0000000000000001000";
B"XXXX0XXXXX110XX111", 00110 => 00000, B"0000000000000001100";
B"XXXX0XXXXX1X1XX111", 00110 => 00000, B"0000000000000001100";
B"XXXX1XXXXX0X1XX111", 00110 => 00000, B"0000000000000001001";
B"XXXX0XXXXX011XX111", 00110 => 00000, B"0000000000000001100";
B"XXXX0XXXXX001XX111", 00110 => 00000, B"0000000000000001000";
B"XXXX0XXXXX0X0XX111", 00110 => 00000, B"0000000000000001000";
B"XXXX1XXXXX0X0XX111", 00110 => 00000, B"0000000000000001001";
B"XXXX1XXXXXX1XXXX10", 00110 => 00001, B"0000000000000001001";
B"XXXX0XXXXXX1XXX010", 00110 => 00110, B"0000000000000001000";
B"XXXX0XXXXX11XXX110", 00110 => 11111, B"0000000000000001100";
B"XXXX0XXXXX011XX110", 00110 => 11111, B"0000000000000001100";
B"XXXX0XXXXX010XX110", 00110 => 10111, B"0000000000000001000";
B"XXXX0XXXXXX1XXXX00", 00110 => 00010, B"0000000000000001001";
B"XXXX1XXXXXX1XXXX00", 00110 => 00001, B"0000000000000001001";
B"XXXX1XXXXXX0XXXXX0", 00110 => 00001, B"0000000000000001001";
B"XXXX0XXXXXX0XXX010", 00110 => 00110, B"0000000000000001000";
B"XXXX0XXXXXX0XXX000", 00110 => 00010, B"0000000000000001001";
B"XXXX0XXXXXX01XX100", 00110 => 00010, B"0000000000000001001";
B"XXXX0XXXXX001XX110", 00110 => 01011, B"0000000000000001000";
B"XXXX0XXXXX101XX110", 00110 => 11111, B"0000000000000001100";
B"XXXX0XXXXX000XX110", 00110 => 01011, B"0000000000000001000";
B"XXXX0XXXXX000XX100", 00110 => 00010, B"0000000000000001001";
B"XXXX0XXXXX100XX110", 00110 => 00111, B"0000000000000001000";
B"XXXX0XXXXX100XX100", 00110 => 00010, B"0000000000000001001";
B"XXXXXXXXXXXXXXXXX1", 11111 => 00000, B"0000000000000000000";
B"1XXXXXXXXXXXXXXXX0", 11111 => 00000, B"0000000000000000000";
B"0XXXXXXXXXXXXXXXX0", 11111 => 11111, B"0000000000000000000";
B"XXXX1XXXXXXXXXXX11", 10111 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX11", 10111 => 00000, B"0000000000000001000";
B"XXXXXXXXXXXXXXXX01", 10111 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX010", 10111 => 10111, B"0000000000000001000";
B"XXXX0XXXXXXXX1X110", 10111 => 11000, B"0000000000000001000";
B"XXXX0XXXXXXXX0X110", 10111 => 11011, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX10", 10111 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 10111 => 00010, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX00", 10111 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX111", 11000 => 00000, B"1000000000000001000";
B"XXXX0XXXXXXXXXX101", 11000 => 00000, B"1000000000000001001";
B"XXXX1XXXXXXXXXX1X1", 11000 => 00000, B"1000000000000001001";
B"XXXXXXXXXXXXXXX001", 11000 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX011", 11000 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 11000 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXX1X0", 11000 => 00001, B"1000000000000001001";
B"XXXX1XXXXXXXXXX0X0", 11000 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX000", 11000 => 00010, B"0000000000000001001";
B"XXXX0XXXXXXXXXX100", 11000 => 00010, B"1000000000000001001";
B"XXXX0XXXXXXXXXX110", 11000 => 11001, B"1000000000000001000";
B"XXXX0XXXXXXXXXX010", 11000 => 11000, B"0000000000000001000";
B"XXXXXXXXXXXXXXX001", 11001 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX011", 11001 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 11001 => 00000, B"0000000000000001000";
B"XXXX0XXXXXXXXXX111", 11001 => 00000, B"0100000000000001000";
B"XXXX0XXXXXXXXXX101", 11001 => 00000, B"0100000000000001001";
B"XXXX1XXXXXXXXXX1X1", 11001 => 00000, B"0100000000000001001";
B"XXXX1XXXXXXXXXX0X0", 11001 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXX1X0", 11001 => 00001, B"0100000000000001001";
B"XXXX0XXXXXXXXXX110", 11001 => 11010, B"0100000000000001000";
B"XXXX0XXXXXXXXXX010", 11001 => 11001, B"0000000000000001000";
B"XXXX0XXXXXXXXXX100", 11001 => 00010, B"0100000000000001001";
B"XXXX0XXXXXXXXXX000", 11001 => 00010, B"0000000000000001001";
B"XXXXXXXXXXXXXXXX01", 11010 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX11", 11010 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX11", 11010 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXXX0", 11010 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX010", 11010 => 11010, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 11010 => 11011, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX00", 11010 => 00010, B"0000000000000001001";
B"XXXX1XXXXXXXXXXXX1", 11011 => 00000, B"0000000000000001001";
B"XXXX0X0XXXXXXXXX11", 11011 => 00000, B"0000000000000001000";
B"XXXX0X0XXXXXXXXX01", 11011 => 00000, B"0000000000000001010";
B"XXXX0X10XXXXXXXX01", 11011 => 00000, B"0000000000000001010";
B"XXXX0X10XXXXXXXX11", 11011 => 00000, B"0000000000000001000";
B"XXXX0X110XXXXXXX11", 11011 => 00000, B"0000000000000001000";
B"XXXX0X110XXXXXXX01", 11011 => 00000, B"0000000000000001010";
B"XXXX0X1110XXXXXX01", 11011 => 00000, B"0000000000000001010";
B"XXXX0X1110XXXXXX11", 11011 => 00000, B"0000000000000001000";
B"XXXX0X1111XXXXX001", 11011 => 00000, B"0000000000000001010";
B"XXXX0X1111XXXXX011", 11011 => 00000, B"0000000000000001000";
B"XXXX0X1111XXXXX1X1", 11011 => 00000, B"0000000000000001010";
B"XXXX1XXXXXXXXXXX10", 11011 => 00001, B"0000000000000001001";
B"XXXX0X0XXXXXXXX010", 11011 => 11011, B"0000000000000001000";
B"XXXX0X0XXXXXXXX110", 11011 => 11011, B"0000000000000001000";
B"XXXX0X10XXXXXXX010", 11011 => 11011, B"0000000000000001000";
B"XXXX0X10XXXXXXX110", 11011 => 11011, B"0000000000000001000";
B"XXXX0X110XXXXXX110", 11011 => 11011, B"0000000000000001000";
B"XXXX0X1110XXXXX110", 11011 => 11011, B"0000000000000001000";
B"XXXX0X1111XXXXX110", 11011 => 11100, B"0000000000000001010";
B"XXXX0X11XXXXXXX010", 11011 => 11011, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX00", 11011 => 01100, B"0000000000000001010";
B"XXXX1XXXXXXXXXXX00", 11011 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX11", 11100 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX11", 11100 => 00000, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX10", 11100 => 11100, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX10", 11100 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX01", 11100 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX01", 11100 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 11100 => 01100, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX00", 11100 => 00001, B"0000000000000001001";
B"XXXXX0XXXXXXXXXXX0", 01100 => 01101, B"0010100000000000000";
B"XXXXX0XXXXXXXXXXX1", 01100 => 00000, B"0010100000000000000";
B"XXXXX1XXXXXXXXXXX0", 01100 => 00010, B"0001100000000000000";
B"XXXXX1XXXXXXXXXXX1", 01100 => 00000, B"0001100000000000000";
B"X1XXXXXXXXXXXXXXX0", 01101 => 10000, B"0000001010000010000";
B"X1XXXXXXXXXXXXXXX1", 01101 => 00000, B"0000001010000010000";
B"X000XXXXXXXXXXXXX0", 01101 => 01101, B"0000001010000000000";
B"X010XXXXXXXXXXXXX0", 01101 => 01110, B"0000001010000000000";
B"X0X0XXXXXXXXXXXXX1", 01101 => 00000, B"0000001010000000000";
B"X0X1XXXXXXXXXXXXXX", 01101 => 00000, B"0000001010000000000";
B"0XXXXXXXXXXXXXXXX0", 10000 => 10000, B"0000000000000000000";
B"0XXXXXXXXXXXXXXXX1", 10000 => 00000, B"0000000000000000000";
B"1XXXXXXXXXXXXXXXXX", 10000 => 00000, B"0000000000000000000";
B"XXXX1XXXXXXXXXXX01", 01011 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX01", 01011 => 00000, B"0000000000000001010";
B"XXXX0XXXXXXXXXXX11", 01011 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX11", 01011 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXXX0", 01011 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 01011 => 01100, B"0000000000000001010";
B"XXXX0XXXXXXXXXX010", 01011 => 01011, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 01011 => 01011, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX11", 00111 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX11", 00111 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX10", 00111 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXX0X110", 00111 => 01011, B"0000000000000001000";
B"XXXX0XXXXXXXX1X110", 00111 => 01000, B"0000000000000001000";
B"XXXX0XXXXXXXXXX010", 00111 => 00111, B"0000000000000001000";
B"XXXXXXXXXXXXXXXX01", 00111 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 00111 => 00010, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX00", 00111 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 01000 => 00000, B"0000000000000001000";
B"XXXX0XXXXXXXXXX001", 01000 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX0X1", 01000 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX101", 01000 => 00000, B"1000000000000001001";
B"XXXX0XXXXXXXXXX111", 01000 => 00000, B"1000000000000001000";
B"XXXX1XXXXXXXXXX1X1", 01000 => 00000, B"1000000000000001001";
B"XXXX0XXXXXXXXXX010", 01000 => 01000, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 01000 => 01001, B"1000000000000001000";
B"XXXX1XXXXXXXXXX110", 01000 => 00001, B"1000000000000001001";
B"XXXX1XXXXXXXXXX010", 01000 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXX100", 01000 => 00001, B"1000000000000001001";
B"XXXX1XXXXXXXXXX000", 01000 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX100", 01000 => 00010, B"1000000000000001001";
B"XXXX0XXXXXXXXXX000", 01000 => 00010, B"0000000000000001001";
B"XXXX0XXXXXXXXXX101", 01001 => 00000, B"0100000000000001001";
B"XXXX0XXXXXXXXXX111", 01001 => 00000, B"0100000000000001000";
B"XXXX1XXXXXXXXXX1X1", 01001 => 00000, B"0100000000000001001";
B"XXXXXXXXXXXXXXX001", 01001 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 01001 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXX011", 01001 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX010", 01001 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXX110", 01001 => 00001, B"0100000000000001001";
B"XXXX0XXXXXXXXXX010", 01001 => 01001, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 01001 => 01010, B"0100000000000001000";
B"XXXX0XXXXXXXXXX000", 01001 => 00010, B"0000000000000001001";
B"XXXX0XXXXXXXXXX100", 01001 => 00010, B"0100000000000001001";
B"XXXX1XXXXXXXXXX100", 01001 => 00001, B"0100000000000001001";
B"XXXX1XXXXXXXXXX000", 01001 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX010", 01010 => 01010, B"0000000000000001000";
B"XXXX0XXXXXXXXXX110", 01010 => 01011, B"0000000000000001000";
B"XXXX0XXXXXXXXXXX11", 01010 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXXX10", 01010 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX11", 01010 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX00", 01010 => 00010, B"0000000000000001001";
B"XXXX0XXXXXXXXXXX01", 01010 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX00", 01010 => 00001, B"0000000000000001001";
B"XXXX1XXXXXXXXXXX01", 01010 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX111", 00011 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX111", 00011 => 00000, B"0000000000000001000";
B"XXXXXXXXXXXXXXX101", 00011 => 00000, B"0000000000000001001";
B"XXXX0XXXXXXXXXX110", 00011 => 00100, B"0000000000000001000";
B"XXXX1XXXXXXXXXX110", 00011 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX100", 00011 => 00010, B"0000000000000001001";
B"XXXX1XXXXXXXXXX100", 00011 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX011", 00011 => 00000, B"0000000000000001000";
B"XXXX1XXXXXXXXXX011", 00011 => 00000, B"0000000000000001001";
B"XXXXXXXXXXXXXXX001", 00011 => 00000, B"0000000000000001001";
B"XXXX1XXXXXXXXXX0X0", 00011 => 00001, B"0000000000000001001";
B"XXXX0XXXXXXXXXX010", 00011 => 00011, B"0000000000000001000";
B"XXXX0XXXXXXXXXX000", 00011 => 00010, B"0000000000000001001";
B"XXXXXXXXXXXXXXXXX1", 10001 => 00000, B"0000000000000000000";
B"XXXXXXXXXXXXXXXX10", 10001 => 10001, B"0000000000000000000";
B"XXXXXXXXXXXXXXXX00", 10001 => 00000, B"0000000000000000000";
END TABLE;
END;