art-decomp 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,46 @@
1
+ .model jedi_output
2
+ .start_kiss
3
+ .i 5
4
+ .o 16
5
+ .s 15
6
+ .p 22
7
+ .r state1
8
+ 0---- * state1 -11---1-00------
9
+ 1---- state1 state3 -11---1-00------
10
+ 1---- state2 state0 -11---1-00------
11
+ 1---- state3 state4 101---1-01------
12
+ 1-111 state4 state13 -11---1-00------
13
+ 1-110 state4 state10 -11---1-00------
14
+ 1-10- state4 state9 -11---1-00------
15
+ 1-011 state4 state8 -11---1-00------
16
+ 1-010 state4 state7 -11---1-00------
17
+ 1-001 state4 state6 -11---1-00------
18
+ 1-000 state4 state5 -11---1-00------
19
+ 1---- state5 state14 0011--1-00------
20
+ 1---- state6 state14 00100-0-00000011
21
+ 1---- state7 state14 001---1100------
22
+ 1---- state8 state14 010---1-00------
23
+ 1---- state9 state14 001---1010000101
24
+ 1---- state10 state11 -11---1-00100000
25
+ 10--- state11 state13 -11---1-00------
26
+ 11--- state11 state12 -11---1-00------
27
+ 1---- state12 state13 -110110-00------
28
+ 1---- state13 state14 -11---1-00------
29
+ 1---- state14 state3 -110110-00------
30
+ .end_kiss
31
+ .code state1 100000000000000
32
+ .code state3 010000000000000
33
+ .code state2 001000000000000
34
+ .code state0 000100000000000
35
+ .code state4 000010000000000
36
+ .code state13 000001000000000
37
+ .code state10 000000100000000
38
+ .code state9 000000010000000
39
+ .code state8 000000001000000
40
+ .code state7 000000000100000
41
+ .code state6 000000000010000
42
+ .code state5 000000000001000
43
+ .code state14 000000000000100
44
+ .code state11 000000000000010
45
+ .code state12 000000000000001
46
+ .end
@@ -0,0 +1,48 @@
1
+ #
2
+ # JEDI, official release 1.2
3
+ #
4
+ # States.state1 0001
5
+ # States.state3 1111
6
+ # States.state2 0011
7
+ # States.state0 1101
8
+ # States.state4 1001
9
+ # States.state13 1010
10
+ # States.state10 1000
11
+ # States.state9 1100
12
+ # States.state8 0010
13
+ # States.state7 0000
14
+ # States.state6 0110
15
+ # States.state5 0100
16
+ # States.state14 1110
17
+ # States.state11 0111
18
+ # States.state12 1011
19
+ #
20
+ .type fr
21
+ .i 9
22
+ .o 20
23
+ .ilb v.0 v.1 v.2 v.3 v.4 v.5.0 v.5.1 v.5.2 v.5.3
24
+ .ob v.6.0 v.6.1 v.6.2 v.6.3 v.7 v.8 v.9 v.10 v.11 v.12 v.13 v.14 v.15 v.16 v.17 v.18 v.19 v.20 v.21 v.22
25
+ 0-------- 0001-11---1-00------
26
+ 1----0001 1111-11---1-00------
27
+ 1----0011 1101-11---1-00------
28
+ 1----1111 1001101---1-01------
29
+ 1-1111001 1010-11---1-00------
30
+ 1-1101001 1000-11---1-00------
31
+ 1-10-1001 1100-11---1-00------
32
+ 1-0111001 0010-11---1-00------
33
+ 1-0101001 0000-11---1-00------
34
+ 1-0011001 0110-11---1-00------
35
+ 1-0001001 0100-11---1-00------
36
+ 1----0100 11100011--1-00------
37
+ 1----0110 111000100-0-00000011
38
+ 1----0000 1110001---1100------
39
+ 1----0010 1110010---1-00------
40
+ 1----1100 1110001---1010000101
41
+ 1----1000 0111-11---1-00100000
42
+ 10---0111 1010-11---1-00------
43
+ 11---0111 1011-11---1-00------
44
+ 1----1011 1010-110110-00------
45
+ 1----1010 1110-11---1-00------
46
+ 1----1110 1111-110110-00------
47
+ -----0101 --------------------
48
+ .e
@@ -0,0 +1,340 @@
1
+ # c:/users/mariusz/sis/bin/nova.exe -t 1MARK1
2
+ .model 1MARK1.esp
3
+ .start_kiss
4
+
5
+ .i 5
6
+ .o 16
7
+ .p 22
8
+ .s 15
9
+ 0---- * state1 -11---1-00------
10
+ 1---- state1 state3 -11---1-00------
11
+ 1---- state2 state0 -11---1-00------
12
+ 1---- state3 state4 101---1-01------
13
+ 1-111 state4 state13 -11---1-00------
14
+ 1-110 state4 state10 -11---1-00------
15
+ 1-10- state4 state9 -11---1-00------
16
+ 1-011 state4 state8 -11---1-00------
17
+ 1-010 state4 state7 -11---1-00------
18
+ 1-001 state4 state6 -11---1-00------
19
+ 1-000 state4 state5 -11---1-00------
20
+ 1---- state5 state14 0011--1-00------
21
+ 1---- state6 state14 00100-0-00000011
22
+ 1---- state7 state14 001---1100------
23
+ 1---- state8 state14 010---1-00------
24
+ 1---- state9 state14 001---1010000101
25
+ 1---- state10 state11 -11---1-00100000
26
+ 10--- state11 state13 -11---1-00------
27
+ 11--- state11 state12 -11---1-00------
28
+ 1---- state12 state13 -110110-00------
29
+ 1---- state13 state14 -11---1-00------
30
+ 1---- state14 state3 -110110-00------
31
+ .end_kiss
32
+ #
33
+ # Prod.-terms of minimized MV cover = 19
34
+ # Prod.-terms of encoded cover = 20
35
+ # Pla area = 760
36
+ #
37
+ # .start_codes
38
+ .code * 1111
39
+ .code state1 0100
40
+ .code state2 1000
41
+ .code state3 1011
42
+ .code state4 1100
43
+ .code state5 0001
44
+ .code state6 0011
45
+ .code state7 0000
46
+ .code state8 0010
47
+ .code state9 1101
48
+ .code state10 1010
49
+ .code state11 0111
50
+ .code state12 1001
51
+ .code state13 0101
52
+ .code state14 0110
53
+ .code state0 1110
54
+ # .end_codes
55
+ #
56
+ # .start_network
57
+ .inputs v0 v1 v2 v3 v4
58
+ .outputs v9.4 v9.5 v9.6 v9.7 v9.8 v9.9 v9.10 v9.11 v9.12 \
59
+ v9.13 v9.14 v9.15 v9.16 v9.17 v9.18 v9.19
60
+ .latch v9.0 v5 1
61
+ .latch v9.1 v6 1
62
+ .latch v9.2 v7 1
63
+ .latch v9.3 v8 1
64
+ .latch_order v5 v6 v7 v8
65
+ .names v1 v2 v3 v4 v5 v6 v7 v8 v9.0
66
+ ----01-0 1
67
+ ----1011 1
68
+ ----1000 1
69
+ 1---0111 1
70
+ -110-1-0 1
71
+ -10-11-0 1
72
+ .names v1 v2 v3 v4 v5 v6 v7 v8 v9.1
73
+ ----00-- 1
74
+ ----111- 1
75
+ ----1-10 1
76
+ ----1011 1
77
+ ----1101 1
78
+ ----0101 1
79
+ ----1001 1
80
+ ----1000 1
81
+ 0---0111 1
82
+ -10-11-0 1
83
+ -1-111-0 1
84
+ .names v2 v3 v4 v5 v6 v7 v8 v9.2
85
+ ---00-- 1
86
+ ---0-0- 1
87
+ 0-1---0 1
88
+ ---01-0 1
89
+ ---1-10 1
90
+ ---1101 1
91
+ ---1000 1
92
+ 110-1-0 1
93
+ .names v1 v2 v3 v4 v5 v6 v7 v8 v9.3
94
+ --0--1-0 1
95
+ ----01-0 1
96
+ ----1-10 1
97
+ ----1001 1
98
+ 1---0111 1
99
+ 0---0111 1
100
+ -1-111-0 1
101
+ .names v5 v6 v7 v8 v9.4
102
+ 1011 1
103
+ .names v1 v5 v6 v7 v8 v9.5
104
+ -111- 1
105
+ -01-0 1
106
+ --010 1
107
+ --100 1
108
+ -0101 1
109
+ -1001 1
110
+ -1000 1
111
+ 10111 1
112
+ 00111 1
113
+ .names v5 v6 v7 v8 v9.6
114
+ ---1 1
115
+ 0-0- 1
116
+ 01-0 1
117
+ 1-10 1
118
+ -100 1
119
+ 1000 1
120
+ .names v5 v7 v9.7
121
+ 00 1
122
+ .names v5 v6 v7 v8 v9.8
123
+ 01-0 1
124
+ 1001 1
125
+ .names v5 v6 v7 v8 v9.9
126
+ 01-0 1
127
+ 1001 1
128
+ .names v1 v5 v6 v7 v8 v9.10
129
+ -0-0- 1
130
+ -111- 1
131
+ --010 1
132
+ --100 1
133
+ -1011 1
134
+ -1101 1
135
+ -1000 1
136
+ 10111 1
137
+ 00111 1
138
+ .names v5 v7 v9.11
139
+ 00 1
140
+ .names v5 v6 v7 v8 v9.12
141
+ 1101 1
142
+ .names v5 v6 v7 v8 v9.13
143
+ 1011 1
144
+ .names v5 v7 v8 v9.14
145
+ 110 1
146
+ .names v9.15
147
+ .names v9.16
148
+ .names v5 v6 v7 v8 v9.17
149
+ 1101 1
150
+ .names v5 v6 v9.18
151
+ 00 1
152
+ .names v8 v9.19
153
+ 1 1
154
+ .exdc
155
+ .inputs v0 v1 v2 v3 v4 v5 v6 v7 v8
156
+ .outputs v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6 v9.7 v9.8 v9.9 v9.10 v9.11 v9.12 \
157
+ v9.13 v9.14 v9.15 v9.16 v9.17 v9.18 v9.19
158
+ .names v0 v5 v6 v7 v8 v9.0
159
+ 00--- 1
160
+ 0-0-- 1
161
+ 0--0- 1
162
+ 0---0 1
163
+ 1111- 1
164
+ -1110 1
165
+ .names v0 v5 v6 v7 v8 v9.1
166
+ 00--- 1
167
+ 0-0-- 1
168
+ 0--0- 1
169
+ 0---0 1
170
+ 1111- 1
171
+ -1110 1
172
+ .names v0 v5 v6 v7 v8 v9.2
173
+ 00--- 1
174
+ 0-0-- 1
175
+ 0--0- 1
176
+ 0---0 1
177
+ 1111- 1
178
+ -1110 1
179
+ .names v0 v5 v6 v7 v8 v9.3
180
+ 00--- 1
181
+ 0-0-- 1
182
+ 0--0- 1
183
+ 0---0 1
184
+ 1111- 1
185
+ -1110 1
186
+ .names v0 v5 v6 v7 v8 v9.4
187
+ 0---- 1
188
+ -01-- 1
189
+ -1--0 1
190
+ -100- 1
191
+ 1111- 1
192
+ .names v0 v5 v6 v7 v8 v9.5
193
+ 00--- 1
194
+ 0-0-- 1
195
+ 0--0- 1
196
+ 0---0 1
197
+ 1111- 1
198
+ -1110 1
199
+ .names v0 v5 v6 v7 v8 v9.6
200
+ 00--- 1
201
+ 0-0-- 1
202
+ 0--0- 1
203
+ 0---0 1
204
+ 1111- 1
205
+ -1110 1
206
+ .names v0 v5 v6 v7 v8 v9.7
207
+ 0---- 1
208
+ -1-1- 1
209
+ --10- 1
210
+ --1-1 1
211
+ --0-0 1
212
+ ---00 1
213
+ .names v0 v5 v6 v7 v8 v9.8
214
+ 0---- 1
215
+ -1-1- 1
216
+ -0-0- 1
217
+ --10- 1
218
+ --1-1 1
219
+ --0-0 1
220
+ ---00 1
221
+ .names v0 v5 v6 v7 v8 v9.9
222
+ 0---- 1
223
+ -1-1- 1
224
+ --01- 1
225
+ -0-0- 1
226
+ --10- 1
227
+ --1-1 1
228
+ --0-0 1
229
+ ---00 1
230
+ .names v0 v5 v6 v7 v8 v9.10
231
+ 00--- 1
232
+ 0-0-- 1
233
+ 0--0- 1
234
+ 0---0 1
235
+ 1111- 1
236
+ -1110 1
237
+ .names v0 v5 v6 v7 v8 v9.11
238
+ 0---- 1
239
+ -01-- 1
240
+ -10-- 1
241
+ -0-1- 1
242
+ -0--1 1
243
+ -1--0 1
244
+ 1111- 1
245
+ .names v0 v5 v6 v7 v8 v9.12
246
+ 00--- 1
247
+ 0-0-- 1
248
+ 0--0- 1
249
+ 0---0 1
250
+ 1111- 1
251
+ -1110 1
252
+ .names v0 v5 v6 v7 v8 v9.13
253
+ 00--- 1
254
+ 0-0-- 1
255
+ 0--0- 1
256
+ 0---0 1
257
+ 1111- 1
258
+ -1110 1
259
+ .names v0 v5 v6 v7 v8 v9.14
260
+ 0---- 1
261
+ -01-- 1
262
+ -0-0- 1
263
+ --00- 1
264
+ -0--0 1
265
+ --1-0 1
266
+ -10-1 1
267
+ 1111- 1
268
+ .names v0 v5 v6 v7 v8 v9.15
269
+ 0---- 1
270
+ -01-- 1
271
+ --11- 1
272
+ -0-0- 1
273
+ --00- 1
274
+ -0--0 1
275
+ --1-0 1
276
+ -10-1 1
277
+ .names v0 v5 v6 v7 v8 v9.16
278
+ 0---- 1
279
+ -01-- 1
280
+ --11- 1
281
+ -0-0- 1
282
+ --00- 1
283
+ -0--0 1
284
+ --1-0 1
285
+ -10-1 1
286
+ .names v0 v5 v6 v7 v8 v9.17
287
+ 0---- 1
288
+ -01-- 1
289
+ --11- 1
290
+ -0-0- 1
291
+ --00- 1
292
+ -0--0 1
293
+ --1-0 1
294
+ -10-1 1
295
+ .names v0 v5 v6 v7 v8 v9.18
296
+ 0---- 1
297
+ -01-- 1
298
+ --11- 1
299
+ -0-0- 1
300
+ --00- 1
301
+ -0--0 1
302
+ --1-0 1
303
+ -10-1 1
304
+ .names v0 v5 v6 v7 v8 v9.19
305
+ 0---- 1
306
+ -01-- 1
307
+ --11- 1
308
+ -0-0- 1
309
+ --00- 1
310
+ -0--0 1
311
+ --1-0 1
312
+ -10-1 1
313
+ .end
314
+ # .end_network
315
+ .i 9
316
+ .o 20
317
+ .p 20
318
+ --110-1-0 10100000000000000000
319
+ --10-11-0 11000000000000000000
320
+ --1-111-0 01010000000000000000
321
+ --0-1---0 00100000000000000000
322
+ -1---0111 10010100001000000000
323
+ -0---0111 01010100001000000000
324
+ ---0--1-0 00010000000000000000
325
+ -----0101 01000100000000000000
326
+ -----1011 11001000001001000000
327
+ -----1001 01010100110000000000
328
+ ------010 00000100001000000000
329
+ -----1101 01100000001010000100
330
+ ------100 00000110001000000000
331
+ -----00-- 01100000000000000010
332
+ -----111- 01000100001000000000
333
+ --------1 00000010000000000001
334
+ -----0-0- 00100011001100000000
335
+ -----1-10 01110010000000100000
336
+ -----1000 11100110001000000000
337
+ -----01-0 10110110110000000000
338
+ .e
339
+ #
340
+ # CPU time = 0.0 seconds
@@ -0,0 +1,79 @@
1
+ library ieee;
2
+ use ieee.numeric_std.all;
3
+ use ieee.std_logic_1164.all;
4
+ entity mark1 is
5
+ port(
6
+ clock: in std_logic;
7
+ input: in std_logic_vector(4 downto 0);
8
+ output: out std_logic_vector(15 downto 0)
9
+ );
10
+ end mark1;
11
+ architecture behaviour of mark1 is
12
+ type state is (state1, state2, state3, state4, state5, state6, state7, state8, state9, state10, state11, state12, state13, state14, state0);
13
+ signal current_state, next_state: state;
14
+ begin
15
+ process(clock) begin
16
+ if rising_edge(clock) then current_state <= next_state;
17
+ end if;
18
+ end process;
19
+ process(input, current_state) begin
20
+ next_state <= state1; output <= "----------------";
21
+ if std_match(input, "0----") then next_state <= state1; output <= "-11---1-00------";
22
+ else
23
+ case current_state is
24
+ when state1 =>
25
+ if std_match(input, "1----") then next_state <= state3; output <= "-11---1-00------";
26
+ end if;
27
+ when state2 =>
28
+ if std_match(input, "1----") then next_state <= state0; output <= "-11---1-00------";
29
+ end if;
30
+ when state3 =>
31
+ if std_match(input, "1----") then next_state <= state4; output <= "101---1-01------";
32
+ end if;
33
+ when state4 =>
34
+ if std_match(input, "1-111") then next_state <= state13; output <= "-11---1-00------";
35
+ elsif std_match(input, "1-110") then next_state <= state10; output <= "-11---1-00------";
36
+ elsif std_match(input, "1-10-") then next_state <= state9; output <= "-11---1-00------";
37
+ elsif std_match(input, "1-011") then next_state <= state8; output <= "-11---1-00------";
38
+ elsif std_match(input, "1-010") then next_state <= state7; output <= "-11---1-00------";
39
+ elsif std_match(input, "1-001") then next_state <= state6; output <= "-11---1-00------";
40
+ elsif std_match(input, "1-000") then next_state <= state5; output <= "-11---1-00------";
41
+ end if;
42
+ when state5 =>
43
+ if std_match(input, "1----") then next_state <= state14; output <= "0011--1-00------";
44
+ end if;
45
+ when state6 =>
46
+ if std_match(input, "1----") then next_state <= state14; output <= "00100-0-00000011";
47
+ end if;
48
+ when state7 =>
49
+ if std_match(input, "1----") then next_state <= state14; output <= "001---1100------";
50
+ end if;
51
+ when state8 =>
52
+ if std_match(input, "1----") then next_state <= state14; output <= "010---1-00------";
53
+ end if;
54
+ when state9 =>
55
+ if std_match(input, "1----") then next_state <= state14; output <= "001---1010000101";
56
+ end if;
57
+ when state10 =>
58
+ if std_match(input, "1----") then next_state <= state11; output <= "-11---1-00100000";
59
+ end if;
60
+ when state11 =>
61
+ if std_match(input, "10---") then next_state <= state13; output <= "-11---1-00------";
62
+ elsif std_match(input, "11---") then next_state <= state12; output <= "-11---1-00------";
63
+ end if;
64
+ when state12 =>
65
+ if std_match(input, "1----") then next_state <= state13; output <= "-110110-00------";
66
+ end if;
67
+ when state13 =>
68
+ if std_match(input, "1----") then next_state <= state14; output <= "-11---1-00------";
69
+ end if;
70
+ when state14 =>
71
+ if std_match(input, "1----") then next_state <= state3; output <= "-110110-00------";
72
+ end if;
73
+ when state0 =>
74
+ if std_match(input, "0----") then next_state <= state1; output <= "-11---1-00------";
75
+ end if;
76
+ end case;
77
+ end if;
78
+ end process;
79
+ end behaviour;