|
1 | 1 | ; Boneless ALSRU |
2 | | -%0:2 = input "i_a" |
3 | | -%2:2 = input "i_b" |
4 | | -%4:1 = input "i_c" |
5 | | -%5:5 = input "c_op" |
6 | | -%10:1 = input "i_h" |
7 | | -%11:1 = input "c_dir" |
8 | | -%12:1 = input "clk" |
9 | | -%13:1 = input "rst" |
10 | | -%14:2 = match en=1 %11 { |
11 | | - [0] |
12 | | - [1] |
| 2 | +%0:16 = input "i_a" |
| 3 | +%16:16 = input "i_b" |
| 4 | +%32:1 = input "i_c" |
| 5 | +%33:5 = input "c_op" |
| 6 | +%38:1 = input "i_h" |
| 7 | +%39:1 = input "c_dir" |
| 8 | +%40:1 = input "clk" |
| 9 | +%41:1 = input "rst" |
| 10 | +%42:2 = match en=1 %39 { |
| 11 | + (0) |
| 12 | + (1) |
13 | 13 | } |
14 | | -%16:4 = match en=1 {%5+1 %5+0} { |
15 | | - [01] |
16 | | - [10] |
17 | | - [11] |
18 | | - [00] |
| 14 | +%44:4 = match en=1 [ %33+1 %33+0 ] { |
| 15 | + (01) |
| 16 | + (10) |
| 17 | + (11) |
| 18 | + (00) |
19 | 19 | } |
20 | | -%20:2 = and %0:2 %2:2 |
21 | | -%22:2 = or %0:2 %2:2 |
22 | | -%24:2 = xor %0:2 %2:2 |
23 | | -%26:4 = match en=1 {%5+3 %5+2} { |
24 | | - [00] |
25 | | - [01] |
26 | | - [10] |
27 | | - [11] |
| 20 | +%48:16 = and %0:16 %16:16 |
| 21 | +%64:16 = or %0:16 %16:16 |
| 22 | +%80:16 = xor %0:16 %16:16 |
| 23 | +%96:4 = match en=1 [ %33+3 %33+2 ] { |
| 24 | + (00) |
| 25 | + (01) |
| 26 | + (10) |
| 27 | + (11) |
28 | 28 | } |
29 | | -%30:2 = not %2:2 |
30 | | -%32:4 = adc {0 %58+1 %58+0} {0 %66+1 %66+0} 0 |
31 | | -%36:5 = adc {0 %32+2 %32+1 %32+0} {0 0 0 %4+0} 0 |
32 | | -%41:2 = match en=1 %5+4 { |
33 | | - [0] |
34 | | - [1] |
| 29 | +%100:16 = not %16:16 |
| 30 | +%116:18 = adc [ 0 %240+15 %240+14 %240+13 %240+12 %240+11 %240+10 %240+9 %240+8 %240+7 %240+6 %240+5 %240+4 %240+3 %240+2 %240+1 %240+0 ] [ 0 %304+15 %304+14 %304+13 %304+12 %304+11 %304+10 %304+9 %304+8 %304+7 %304+6 %304+5 %304+4 %304+3 %304+2 %304+1 %304+0 ] 0 |
| 31 | +%134:19 = adc [ 0 %116+16 %116+15 %116+14 %116+13 %116+12 %116+11 %116+10 %116+9 %116+8 %116+7 %116+6 %116+5 %116+4 %116+3 %116+2 %116+1 %116+0 ] [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 %32+0 ] 0 |
| 32 | +%153:2 = match en=1 %33+4 { |
| 33 | + (0) |
| 34 | + (1) |
35 | 35 | } |
36 | | -%43:2 = match en=1 {%70+1 %66+1 %58+1} { |
37 | | - [100] |
38 | | - [011] |
| 36 | +%155:2 = match en=1 [ %336+15 %304+15 %240+15 ] { |
| 37 | + (100) |
| 38 | + (011) |
39 | 39 | } |
40 | | -%45:1 = eq %70:2 00 |
41 | | -%46:2 = assign en=%14+0 00 {%77+0 %10+0} at=#0 |
42 | | -%48:2 = assign en=%14+1 %46:2 {%10+0 %77+1} at=#0 |
43 | | -%50:1 = assign en=%14+0 0 %77+1 at=#0 |
44 | | -%51:1 = assign en=%14+1 %50 %77+0 at=#0 |
45 | | -%52:2 = assign en=%16+0 00 %20:2 at=#0 |
46 | | -%54:2 = assign en=%16+1 %52:2 %22:2 at=#0 |
47 | | -%56:2 = assign en=%16+2 %54:2 %24:2 at=#0 |
48 | | -%58:2 = assign en=%16+3 %56:2 %0:2 at=#0 |
49 | | -%60:2 = assign en=%26+0 00 00 at=#0 |
50 | | -%62:2 = assign en=%26+1 %60:2 %48:2 at=#0 |
51 | | -%64:2 = assign en=%26+2 %62:2 %2:2 at=#0 |
52 | | -%66:2 = assign en=%26+3 %64:2 %30:2 at=#0 |
53 | | -%68:2 = assign en=%41+0 00 {%36+1 %36+0} at=#0 |
54 | | -%70:2 = assign en=%41+1 %68:2 %66:2 at=#0 |
55 | | -%72:1 = assign en=%43+0 0 1 at=#0 |
56 | | -%73:1 = assign en=%43+1 %72 1 at=#0 |
57 | | -%74:1 = match en=1 %13 { |
58 | | - [1] |
| 40 | +%157:1 = eq %336:16 0000000000000000 |
| 41 | +%158:16 = assign en=%42+0 0000000000000000 [ %371+14 %371+13 %371+12 %371+11 %371+10 %371+9 %371+8 %371+7 %371+6 %371+5 %371+4 %371+3 %371+2 %371+1 %371+0 %38+0 ] at=#0 |
| 42 | +%174:16 = assign en=%42+1 %158:16 [ %38+0 %371+15 %371+14 %371+13 %371+12 %371+11 %371+10 %371+9 %371+8 %371+7 %371+6 %371+5 %371+4 %371+3 %371+2 %371+1 ] at=#0 |
| 43 | +%190:1 = assign en=%42+0 0 %371+15 at=#0 |
| 44 | +%191:1 = assign en=%42+1 %190 %371+0 at=#0 |
| 45 | +%192:16 = assign en=%44+0 0000000000000000 %48:16 at=#0 |
| 46 | +%208:16 = assign en=%44+1 %192:16 %64:16 at=#0 |
| 47 | +%224:16 = assign en=%44+2 %208:16 %80:16 at=#0 |
| 48 | +%240:16 = assign en=%44+3 %224:16 %0:16 at=#0 |
| 49 | +%256:16 = assign en=%96+0 0000000000000000 0000000000000000 at=#0 |
| 50 | +%272:16 = assign en=%96+1 %256:16 %174:16 at=#0 |
| 51 | +%288:16 = assign en=%96+2 %272:16 %16:16 at=#0 |
| 52 | +%304:16 = assign en=%96+3 %288:16 %100:16 at=#0 |
| 53 | +%320:16 = assign en=%153+0 0000000000000000 [ %134+15 %134+14 %134+13 %134+12 %134+11 %134+10 %134+9 %134+8 %134+7 %134+6 %134+5 %134+4 %134+3 %134+2 %134+1 %134+0 ] at=#0 |
| 54 | +%336:16 = assign en=%153+1 %320:16 %304:16 at=#0 |
| 55 | +%352:1 = assign en=%155+0 0 1 at=#0 |
| 56 | +%353:1 = assign en=%155+1 %352 1 at=#0 |
| 57 | +%354:1 = match en=1 %41 { |
| 58 | + (1) |
59 | 59 | } |
60 | | -%75:2 = assign en=%74 %70:2 00 at=#0 |
61 | | -%77:2 = dff %75:2 clk=%12 init=00 |
62 | | -%79:0 = output "o_o" %70:2 |
63 | | -%80:0 = output "o_z" %45 |
64 | | -%81:0 = output "o_s" %70+1 |
65 | | -%82:0 = output "o_c" %36+2 |
66 | | -%83:0 = output "o_v" %73 |
67 | | -%84:0 = output "o_h" %51 |
68 | | -%85:0 = name "alsru i_a" %0:2 |
69 | | -%86:0 = name "alsru i_b" %2:2 |
70 | | -%87:0 = name "alsru i_c" %4 |
71 | | -%88:0 = name "alsru o_o" %70:2 |
72 | | -%89:0 = name "alsru o_z" %45 |
73 | | -%90:0 = name "alsru o_s" %70+1 |
74 | | -%91:0 = name "alsru o_c" %36+2 |
75 | | -%92:0 = name "alsru o_v" %73 |
76 | | -%93:0 = name "alsru c_op" %5:5 |
77 | | -%94:0 = name "alsru i_h" %10 |
78 | | -%95:0 = name "alsru o_h" %51 |
79 | | -%96:0 = name "alsru c_dir" %11 |
80 | | -%97:0 = name "alsru clk" %12 |
81 | | -%98:0 = name "alsru rst" %13 |
82 | | -%99:0 = name "alsru dec_op" %5:5 |
83 | | -%100:0 = name "alsru s_s" %48:2 |
84 | | -%101:0 = name "alsru r_o" %77:2 |
85 | | -%102:0 = name "alsru s_x" %58:2 |
86 | | -%103:0 = name "alsru s_y" %66:2 |
87 | | -%104:0 = name "alsru s_p" {%36+1 %36+0} |
| 60 | +%355:16 = assign en=%354 %336:16 0000000000000000 at=#0 |
| 61 | +%371:16 = dff %355:16 clk=%40 init=0000000000000000 |
| 62 | +%387:0 = output "o_o" %336:16 |
| 63 | +%388:0 = output "o_z" %157 |
| 64 | +%389:0 = output "o_s" %336+15 |
| 65 | +%390:0 = output "o_c" %134+16 |
| 66 | +%391:0 = output "o_v" %353 |
| 67 | +%392:0 = output "o_h" %191 |
| 68 | +%393:0 = name "alsru i_a" %0:16 |
| 69 | +%394:0 = name "alsru i_b" %16:16 |
| 70 | +%395:0 = name "alsru i_c" %32 |
| 71 | +%396:0 = name "alsru o_o" %336:16 |
| 72 | +%397:0 = name "alsru o_z" %157 |
| 73 | +%398:0 = name "alsru o_s" %336+15 |
| 74 | +%399:0 = name "alsru o_c" %134+16 |
| 75 | +%400:0 = name "alsru o_v" %353 |
| 76 | +%401:0 = name "alsru c_op" %33:5 |
| 77 | +%402:0 = name "alsru i_h" %38 |
| 78 | +%403:0 = name "alsru o_h" %191 |
| 79 | +%404:0 = name "alsru c_dir" %39 |
| 80 | +%405:0 = name "alsru clk" %40 |
| 81 | +%406:0 = name "alsru rst" %41 |
| 82 | +%407:0 = name "alsru dec_op" %33:5 |
| 83 | +%408:0 = name "alsru s_s" %174:16 |
| 84 | +%409:0 = name "alsru r_o" %371:16 |
| 85 | +%410:0 = name "alsru s_x" %240:16 |
| 86 | +%411:0 = name "alsru s_y" %304:16 |
| 87 | +%412:0 = name "alsru s_p" [ %134+15 %134+14 %134+13 %134+12 %134+11 %134+10 %134+9 %134+8 %134+7 %134+6 %134+5 %134+4 %134+3 %134+2 %134+1 %134+0 ] |
0 commit comments