-
Notifications
You must be signed in to change notification settings - Fork 0
/
styr.tdf
181 lines (179 loc) · 7.82 KB
/
styr.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
SUBDESIGN styr (
clk: INPUT;
i[8..0]: INPUT;
o[9..0]: OUTPUT;
)
VARIABLE
ss: MACHINE WITH STATES (st0, st1, st10, st11, st12, st13, st14, st15, st16, st17, st18, st19, st2, st20, st21, st22, st23, st24, st25, st26, st27, st28, st29, st3, st4, st5, st6, st7, st8, st9);
BEGIN
ss.clk = clk;
TABLE
i[8..0], ss => ss, o[9..0];
B"1X0000XXX", st0 => st0, B"0000XXXXXX";
B"1X10XXXXX", st0 => st12, B"0000XXXXXX";
B"1X1X0XXXX", st0 => st12, B"0000XXXXXX";
B"1X0010XXX", st0 => st10, B"1000XXXX10";
B"1X0011XXX", st0 => st10, B"1000XXXX11";
B"1XX11XXXX", st0 => st0, B"0000XXXXXX";
B"1X010XXXX", st0 => st10, B"1000XXXX01";
B"1X0001XXX", st0 => st1, B"1010100110";
B"0XXXXXXXX", st0 => st0, B"0000XXXXXX";
B"XXXXXX0XX", st1 => st2, B"0110010000";
B"XXXXXX1XX", st1 => st8, B"0110100100";
B"1X00000XX", st2 => st2, B"010000XX00";
B"1X10XXXXX", st2 => st2, B"010000XX00";
B"1X1X0XXXX", st2 => st2, B"010000XX00";
B"1X0010XXX", st2 => st3, B"010000XX00";
B"1X0011XXX", st2 => st2, B"010100XX00";
B"11X11XXXX", st2 => st0, B"0010100000";
B"10X11XXXX", st2 => st0, B"0000XXXXXX";
B"1X010XXXX", st2 => st2, B"010000XX00";
B"1X0001XXX", st2 => st1, B"0110000100";
B"1X00001XX", st2 => st7, B"010000XX00";
B"01XXXXXXX", st2 => st0, B"0010100000";
B"00XXXXXXX", st2 => st0, B"0000XXXXXX";
B"1X0000XXX", st3 => st3, B"010000XX00";
B"1X10XXXXX", st3 => st3, B"010000XX00";
B"1X1X0XXXX", st3 => st3, B"010000XX00";
B"1X0010XXX", st3 => st4, B"0110001000";
B"1X0011XXX", st3 => st3, B"010100XX00";
B"1XX11XXXX", st3 => st0, B"0000XXXXXX";
B"1X010XXXX", st3 => st3, B"010000XX00";
B"1X0001XXX", st3 => st5, B"0110001100";
B"0XXXXXXXX", st3 => st0, B"0000XXXXXX";
B"XXXXXXXXX", st4 => st6, B"0110010000";
B"XXXXXXXXX", st5 => st1, B"0110010100";
B"1X00000XX", st6 => st6, B"010000XX00";
B"1X10XXXXX", st6 => st6, B"010000XX00";
B"1X1X0XXXX", st6 => st6, B"010000XX00";
B"1X0010XXX", st6 => st4, B"0110001000";
B"1X0011XXX", st6 => st6, B"010100XX00";
B"1XX11XXXX", st6 => st0, B"0000XXXXXX";
B"1X010XXXX", st6 => st6, B"010000XX00";
B"1X0001XXX", st6 => st1, B"0110000100";
B"1X00001XX", st6 => st29, B"110000XX00";
B"0XXXXXXXX", st6 => st0, B"0000XXXXXX";
B"1X0000XXX", st7 => st7, B"110000XX00";
B"1X10XXXXX", st7 => st7, B"110000XX00";
B"1X1X0XXXX", st7 => st7, B"110000XX00";
B"1X0010XXX", st7 => st29, B"110000XX00";
B"1X0011XXX", st7 => st7, B"110100XX00";
B"11X11XXXX", st7 => st0, B"0010100000";
B"10X11XXXX", st7 => st0, B"0010XXXXXX";
B"1X010XXXX", st7 => st7, B"110000XX00";
B"1X0001XXX", st7 => st8, B"0110100100";
B"01XXXXXXX", st7 => st0, B"0010100000";
B"00XXXXXXX", st7 => st0, B"0000XXXXXX";
B"1X0000XXX", st29 => st29, B"110000XX00";
B"1X10XXXXX", st29 => st29, B"110000XX00";
B"1X1X0XXXX", st29 => st29, B"110000XX00";
B"1X0010XXX", st29 => st29, B"110000XX00";
B"1X0011XXX", st29 => st29, B"110100XX00";
B"1XX11XXXX", st29 => st0, B"0000XXXXXX";
B"1X010XXXX", st29 => st29, B"110000XX00";
B"1X0001XXX", st29 => st8, B"0110100100";
B"0XXXXXXXX", st29 => st0, B"0000XXXXXX";
B"XXXXXXXXX", st8 => st9, B"0110010000";
B"1X00000XX", st9 => st9, B"010000XX00";
B"1X10XXXXX", st9 => st9, B"010000XX00";
B"1X1X0XXXX", st9 => st9, B"010000XX00";
B"1X001XXXX", st9 => st9, B"010000XX00";
B"1XX11XXXX", st9 => st0, B"0010100000";
B"1X010XXXX", st9 => st9, B"010000XX00";
B"1X00001XX", st9 => st28, B"010010XX00";
B"1X0001XXX", st9 => st8, B"0110000100";
B"0XXXXXXXX", st9 => st0, B"0010100000";
B"1X0000XXX", st28 => st28, B"110000XX00";
B"1X10XXXXX", st28 => st28, B"110000XX00";
B"1X1X0XXXX", st28 => st28, B"110000XX00";
B"1X001XXXX", st28 => st28, B"110000XX00";
B"1XX11XXXX", st28 => st0, B"0010100000";
B"1X010XXXX", st28 => st10, B"110000XX00";
B"1X0001XXX", st28 => st8, B"0110000100";
B"0XXXXXXXX", st28 => st0, B"0010100000";
B"1XX0XXX00", st10 => st10, B"0000XXXX00";
B"1XXX0XX00", st10 => st10, B"0000XXXX00";
B"1XX0XXX10", st10 => st0, B"0000XXXXXX";
B"1XXX0XX10", st10 => st0, B"0000XXXXXX";
B"1XX0XXXX1", st10 => st11, B"0000XXXX00";
B"1XXX0XXX1", st10 => st11, B"0000XXXX00";
B"1XX11XXXX", st10 => st0, B"0000XXXXXX";
B"0XXXXXXXX", st10 => st0, B"0000XXXXXX";
B"1XX011X0X", st11 => st11, B"0000XXXX00";
B"1XXX0XX0X", st11 => st11, B"0000XXXX00";
B"1XX010X0X", st11 => st10, B"0100XXXX00";
B"1XX11XXXX", st11 => st0, B"0000XXXXXX";
B"1XXX0XX1X", st11 => st0, B"0000XXXXXX";
B"1XX0XXX1X", st11 => st0, B"0000XXXXXX";
B"0XXXXXXXX", st11 => st0, B"0000XXXXXX";
B"1XX011XXX", st12 => st12, B"0000XXXXXX";
B"1XX10XXXX", st12 => st12, B"0000XXXXXX";
B"1XX000XXX", st12 => st12, B"0000XXXXXX";
B"1X0001XXX", st12 => st10, B"1000XXXX01";
B"1XX010XXX", st12 => st13, B"0000XXXXXX";
B"1XX11XXXX", st12 => st0, B"0000XXXXXX";
B"0XXXXXXXX", st12 => st0, B"0000XXXXXX";
B"1XX000XXX", st13 => st13, B"0000XXXXXX";
B"1XX01XXXX", st13 => st13, B"0000XXXXXX";
B"1XX001XXX", st13 => st14, B"0000XXXX01";
B"1XX10XXXX", st13 => st14, B"0000XXXX01";
B"1XX11XXXX", st13 => st0, B"0000XXXXXX";
B"0XXXXXXXX", st13 => st0, B"0000XXXXXX";
B"1XX000XXX", st14 => st14, B"0000XXXX00";
B"1XX01XXXX", st14 => st14, B"0000XXXX00";
B"1XX10XXXX", st14 => st14, B"0000XXXX00";
B"1XX001XXX", st14 => st15, B"0010100100";
B"1XX11XXXX", st14 => st0, B"0000XXXXXX";
B"0XXXXXXXX", st14 => st0, B"0000XXXXXX";
B"XX1XXXXXX", st15 => st16, B"0010010000";
B"XX0XXXXXX", st15 => st22, B"0010010000";
B"1XX000XXX", st16 => st16, B"000000XX00";
B"1XX001XXX", st16 => st19, B"0010000100";
B"1XX010XXX", st16 => st17, B"000000XX00";
B"1XX011XXX", st16 => st16, B"000000XX00";
B"1XX1XXXXX", st16 => st16, B"000000XX00";
B"0XXXXXXXX", st16 => st0, B"0000XXXXXX";
B"1XX000XXX", st17 => st17, B"000000XX00";
B"1XX001XXX", st17 => st18, B"0010001100";
B"1XX010XXX", st17 => st20, B"0010001000";
B"1XX011XXX", st17 => st17, B"000000XX00";
B"1XX1XXXXX", st17 => st17, B"000000XX00";
B"0XXXXXXXX", st17 => st0, B"0000XXXXXX";
B"XXXXXXXXX", st18 => st19, B"0010010100";
B"XXXXXXXXX", st19 => st16, B"0010010000";
B"XXXXXXXXX", st20 => st21, B"0010010000";
B"1XX000XXX", st21 => st21, B"000000XX00";
B"1XX001XXX", st21 => st19, B"0010000100";
B"1XX010XXX", st21 => st20, B"0010001000";
B"1XX011XXX", st21 => st21, B"000000XX00";
B"1XX1XXXXX", st21 => st21, B"000000XX00";
B"0XXXXXXXX", st21 => st0, B"0000XXXXXX";
B"1X0000XXX", st22 => st22, B"000000XX00";
B"1X0001XXX", st22 => st25, B"0010000100";
B"1X0010XXX", st22 => st23, B"000000XX00";
B"1X0011XXX", st22 => st10, B"1000XXXX11";
B"1X010XXXX", st22 => st22, B"000000XX00";
B"1X011XXXX", st22 => st0, B"0000XXXXXX";
B"1X1XXXXXX", st22 => st12, B"0000XXXXXX";
B"0XXXXXXXX", st22 => st0, B"0000XXXXXX";
B"1X0000XXX", st23 => st23, B"000000XX00";
B"1X0001XXX", st23 => st24, B"0010001100";
B"1X0010XXX", st23 => st26, B"0010001000";
B"1X0011XXX", st23 => st10, B"1000XXXX11";
B"1X010XXXX", st23 => st23, B"000000XX00";
B"1X011XXXX", st23 => st0, B"0000XXXXXX";
B"1X1XXXXXX", st23 => st12, B"0000XXXXXX";
B"0XXXXXXXX", st23 => st0, B"0000XXXXXX";
B"XXXXXXXXX", st24 => st25, B"0010010100";
B"XXXXXXXXX", st25 => st22, B"0010010000";
B"XXXXXXXXX", st26 => st27, B"0010010000";
B"1X0000XXX", st27 => st27, B"000000XX00";
B"1X0001XXX", st27 => st25, B"0010000100";
B"1X0010XXX", st27 => st26, B"0010001000";
B"1X0011XXX", st27 => st10, B"1000XXXX11";
B"1X010XXXX", st27 => st27, B"000000XX00";
B"1X011XXXX", st27 => st0, B"0000XXXXXX";
B"1X1XXXXXX", st27 => st12, B"0000XXXXXX";
B"0XXXXXXXX", st27 => st0, B"0000XXXXXX";
END TABLE;
END;