📄 crc32_dat56.v
字号:
d30 ^ c23 ^ d38 ^ d29 ^ d22 ^ c28 ^ c27 ^ d40 ^ d7 ^ c18 ^
d54 ^ c14 ^ d5 ^ d6 ^ d51 ^ d45 ^ d14 ^ d55 ^ d20 ^ d1 ^
c16 ^ c19 ^ d43; // 42 ins 1 outs
assign x5 = c25 ^ d29 ^ c31 ^ d55 ^ c26 ^ d24 ^ d46 ^ c20 ^ d49 ^
c22 ^ d41 ^ d40 ^ d4 ^ d50 ^ c27 ^ d5 ^ c29 ^ d53 ^ d20 ^
c16 ^ d21 ^ d19 ^ d28 ^ d6 ^ c4 ^ c18 ^ d37 ^ c30 ^ d1 ^
d39 ^ d0 ^ d54 ^ d13 ^ d7 ^ c15 ^ c17 ^ d51 ^ d3 ^ c5 ^
d10 ^ c0 ^ c13 ^ d44 ^ d42; // 44 ins 1 outs
assign x4 = d24 ^ d48 ^ d29 ^ d47 ^ d6 ^ d18 ^ c26 ^ d8 ^ d19 ^
d15 ^ c7 ^ d44 ^ c0 ^ d4 ^ d0 ^ d38 ^ d40 ^ c16 ^ d12 ^
c24 ^ d50 ^ d33 ^ c6 ^ c1 ^ d3 ^ d46 ^ d20 ^ d11 ^ c15 ^
d45 ^ d39 ^ c5 ^ c22 ^ d2 ^ d31 ^ c9 ^ d25 ^ d30 ^ c20 ^
c17 ^ c21 ^ c23 ^ c14 ^ d41; // 44 ins 1 outs
assign x3 = d10 ^ d32 ^ d31 ^ c3 ^ d33 ^ c8 ^ d2 ^ d52 ^ d17 ^
c7 ^ d38 ^ d14 ^ d7 ^ d3 ^ d27 ^ d54 ^ d19 ^ d15 ^ d40 ^
d45 ^ c1 ^ c16 ^ d1 ^ c13 ^ c15 ^ d39 ^ c12 ^ c30 ^ d37 ^
d8 ^ d36 ^ d53 ^ c9 ^ c14 ^ d25 ^ c21 ^ d9 ^ c28 ^ c29 ^
d18; // 40 ins 1 outs
assign x2 = d26 ^ c31 ^ c11 ^ d32 ^ d51 ^ d30 ^ d6 ^ d24 ^ c29 ^
c0 ^ c7 ^ d16 ^ c2 ^ d53 ^ d1 ^ d36 ^ d39 ^ c6 ^ d14 ^
c13 ^ c20 ^ c15 ^ d9 ^ d35 ^ d55 ^ d37 ^ d2 ^ c12 ^ d17 ^
d44 ^ d38 ^ c28 ^ d7 ^ c8 ^ d18 ^ c14 ^ d52 ^ d13 ^ c27 ^
d31 ^ d8 ^ d0; // 42 ins 1 outs
assign x1 = d44 ^ d37 ^ d16 ^ d1 ^ d0 ^ c27 ^ d27 ^ d11 ^ c11 ^
c13 ^ d51 ^ d13 ^ c14 ^ d7 ^ d38 ^ d12 ^ d17 ^ d50 ^ c26 ^
d35 ^ d24 ^ d49 ^ c0 ^ c23 ^ c25 ^ d47 ^ c29 ^ d9 ^ c9 ^
d53 ^ d34 ^ c20 ^ c22 ^ d28 ^ d46 ^ c10 ^ d6 ^ c4 ^ c3 ^
d33; // 40 ins 1 outs
assign x0 = d10 ^ d0 ^ d55 ^ c1 ^ d9 ^ d50 ^ c8 ^ c6 ^ c24 ^
d44 ^ d37 ^ d16 ^ c4 ^ d6 ^ c10 ^ d28 ^ c21 ^ c20 ^ d34 ^
d12 ^ c13 ^ d32 ^ c5 ^ d45 ^ c0 ^ d54 ^ d53 ^ c2 ^ c29 ^
c23 ^ c30 ^ d24 ^ d48 ^ d29 ^ d47 ^ c7 ^ c26 ^ d26 ^ c31 ^
d30 ^ d25 ^ d31; // 42 ins 1 outs
assign x31 = d49 ^ d54 ^ d52 ^ c29 ^ d31 ^ d43 ^ d24 ^ c28 ^ d23 ^
d29 ^ c5 ^ c23 ^ d8 ^ c3 ^ d25 ^ c0 ^ c12 ^ c9 ^ d5 ^
d28 ^ d44 ^ d15 ^ d30 ^ d46 ^ d47 ^ c4 ^ d11 ^ c1 ^ d9 ^
d27 ^ c20 ^ d53 ^ c25 ^ d33 ^ c22 ^ c19 ^ d36 ^ c30 ^ c6 ^
c7; // 40 ins 1 outs
assign x30 = d14 ^ d29 ^ d4 ^ d23 ^ c8 ^ c18 ^ d30 ^ d48 ^ d8 ^
d26 ^ c22 ^ c5 ^ c0 ^ d46 ^ c11 ^ d35 ^ d52 ^ c28 ^ c6 ^
d24 ^ d10 ^ d7 ^ c3 ^ d45 ^ d22 ^ d28 ^ c2 ^ c19 ^ d32 ^
c4 ^ c27 ^ d43 ^ d51 ^ d53 ^ c24 ^ d42 ^ c29 ^ c21 ^ d27; // 39 ins 1 outs
assign x29 = d50 ^ d55 ^ c27 ^ d7 ^ c20 ^ c31 ^ d23 ^ d29 ^ c1 ^
c10 ^ d6 ^ c2 ^ c17 ^ d31 ^ c23 ^ c21 ^ d13 ^ d42 ^ d9 ^
d44 ^ d26 ^ d28 ^ c7 ^ c18 ^ d47 ^ d27 ^ d25 ^ d45 ^ c3 ^
d3 ^ c4 ^ c5 ^ d22 ^ d34 ^ d51 ^ c26 ^ d41 ^ d52 ^ c28 ^
d21; // 40 ins 1 outs
assign x28 = d30 ^ c27 ^ d21 ^ d12 ^ d26 ^ d22 ^ d24 ^ d2 ^ c3 ^
d33 ^ c2 ^ d41 ^ d49 ^ c9 ^ c1 ^ d51 ^ c4 ^ c17 ^ d50 ^
d8 ^ c26 ^ d5 ^ c6 ^ d46 ^ c25 ^ d25 ^ c0 ^ d20 ^ d28 ^
d6 ^ c22 ^ d27 ^ d44 ^ c20 ^ c30 ^ d43 ^ c19 ^ c16 ^ d54 ^
d40; // 40 ins 1 outs
assign x27 = c3 ^ c25 ^ d4 ^ d5 ^ d29 ^ d55 ^ c29 ^ c18 ^ d45 ^
c31 ^ d25 ^ d49 ^ d7 ^ c15 ^ d53 ^ d42 ^ c2 ^ d24 ^ c5 ^
d19 ^ d39 ^ d11 ^ d48 ^ c24 ^ c26 ^ c16 ^ d40 ^ c0 ^ d27 ^
c19 ^ d1 ^ d26 ^ c21 ^ c1 ^ c8 ^ d20 ^ d32 ^ d23 ^ d21 ^
d43 ^ d50; // 41 ins 1 outs
assign x26 = c0 ^ c23 ^ d6 ^ c20 ^ d38 ^ d19 ^ d28 ^ c15 ^ c18 ^
c4 ^ d54 ^ d48 ^ c31 ^ d3 ^ c28 ^ d4 ^ c7 ^ d31 ^ d23 ^
d44 ^ c2 ^ c24 ^ c1 ^ d55 ^ d0 ^ d42 ^ d22 ^ d10 ^ c14 ^
d39 ^ d41 ^ d25 ^ c17 ^ d26 ^ d47 ^ d20 ^ d18 ^ d49 ^ d24 ^
c25 ^ d52 ^ c30; // 42 ins 1 outs
assign x25 = d2 ^ c25 ^ c5 ^ d33 ^ d38 ^ d28 ^ d36 ^ d49 ^ d22 ^
c20 ^ c24 ^ d3 ^ d8 ^ c14 ^ d52 ^ d31 ^ c4 ^ d21 ^ d37 ^
d18 ^ d11 ^ c17 ^ c12 ^ c9 ^ c7 ^ c28 ^ d51 ^ c13 ^ c27 ^
d41 ^ c16 ^ d40 ^ d17 ^ d15 ^ d19 ^ d44 ^ d29 ^ d48; // 38 ins 1 outs
assign x24 = c24 ^ d10 ^ d28 ^ d48 ^ c26 ^ d27 ^ c19 ^ c6 ^ d32 ^
d7 ^ d51 ^ d18 ^ d21 ^ c13 ^ d30 ^ d43 ^ d35 ^ c31 ^ c8 ^
c11 ^ d40 ^ d37 ^ d16 ^ c27 ^ c12 ^ c23 ^ d17 ^ d2 ^ c16 ^
d55 ^ d20 ^ d1 ^ d50 ^ c15 ^ d14 ^ c3 ^ d39 ^ d36 ^ d47 ^
c4; // 40 ins 1 outs
endmodule
////////////////////////////////////////////////////////////////
// Depth optimal factored version
////////////////////////////////////////////////////////////////
module crc32_dat56_factor (crc_in,dat_in,crc_out);
input [31:0] crc_in;
input [55:0] dat_in;
output [31:0] crc_out;
wire [31:0] crc_out;
wire x696, x695, x694, x693, x692, x691, x690,
x689, x688, x687, x686, x685, x684, x683, x682,
x681, x680, x679, x678, x677, x676, x675, x674,
x673, x672, x671, x670, x669, x668, x667, x666,
x665, x664, x663, x662, x661, x660, x659, x658,
x657, x656, x655, x654, x653, x652, x651, x650,
x649, x648, x647, x646, x645, x644, x643, x642,
x641, x640, x639, x638, x637, x636, x635, x634,
x633, x632, x631, x630, x629, x628, x627, x626,
x625, x624, x623, x622, x621, x620, x619, x618,
x617, x616, x615, x614, x613, x612, x611, x610,
x609, x608, x607, x606, x605, x604, x603, x602,
x601, x600, x599, x598, x597, x596, x595, x594,
x593, x592, x591, x590, x589, x588, x587, x586,
x585, x23, x22, x21, x20, x19, x18, x17,
x16, x15, x14, x13, x12, x11, x10, x9,
x8, x7, x6, x5, x4, x3, x2, x1,
x0, x31, x30, x29, x28, x27, x26, x25,
x24;
assign crc_out = {x31,x30,x29,x28,x27,x26,x25,x24,x23,x22,x21,x20,x19,x18,x17,
x16,x15,x14,x13,x12,x11,x10,x9,x8,x7,x6,x5,x4,x3,x2,x1,
x0};
wire d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,
d15,d16,d17,d18,d19,d20,d21,d22,d23,d24,d25,d26,d27,d28,d29,d30,
d31,d32,d33,d34,d35,d36,d37,d38,d39,d40,d41,d42,d43,d44,d45,d46,
d47,d48,d49,d50,d51,d52,d53,d54,d55;
assign { d55,d54,d53,d52,d51,d50,d49,d48,d47,d46,d45,d44,d43,d42,d41,
d40,d39,d38,d37,d36,d35,d34,d33,d32,d31,d30,d29,d28,d27,d26,d25,
d24,d23,d22,d21,d20,d19,d18,d17,d16,d15,d14,d13,d12,d11,d10,d9,
d8,d7,d6,d5,d4,d3,d2,d1,d0} = dat_in [55:0];
wire c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,
c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,
c31;
assign { c31,c30,c29,c28,c27,c26,c25,c24,c23,c22,c21,c20,c19,c18,c17,
c16,c15,c14,c13,c12,c11,c10,c9,c8,c7,c6,c5,c4,c3,c2,c1,
c0} = crc_in [31:0];
xor6 x696i (.out(x696),.a(d37),.b(x660),.c(c20),.d(d3),.e(c13),.f(1'b0)); // 5 ins 1 outs
xor6 x695i (.out(x695),.a(x603),.b(x587),.c(c26),.d(d49),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x694i (.out(x694),.a(x590),.b(d28),.c(c29),.d(d31),.e(d47),.f(1'b0)); // 5 ins 1 outs
xor6 x693i (.out(x693),.a(x585),.b(c11),.c(d35),.d(d5),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x692i (.out(x692),.a(x590),.b(c23),.c(d47),.d(d13),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x691i (.out(x691),.a(c23),.b(d27),.c(d9),.d(1'b0),.e(1'b0),.f(1'b0)); // 3 ins 1 outs
xor6 x690i (.out(x690),.a(x598),.b(c6),.c(c23),.d(c17),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x689i (.out(x689),.a(x617),.b(d43),.c(d13),.d(1'b0),.e(1'b0),.f(1'b0)); // 3 ins 1 outs
xor6 x688i (.out(x688),.a(c27),.b(d51),.c(d12),.d(d4),.e(x634),.f(1'b0)); // 5 ins 1 outs
xor6 x687i (.out(x687),.a(d55),.b(c31),.c(d24),.d(1'b0),.e(1'b0),.f(1'b0)); // 3 ins 1 outs
xor6 x686i (.out(x686),.a(d7),.b(d3),.c(d24),.d(x667),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x685i (.out(x685),.a(x587),.b(c26),.c(c18),.d(d20),.e(d50),.f(1'b0)); // 5 ins 1 outs
xor6 x684i (.out(x684),.a(d19),.b(c5),.c(c23),.d(d46),.e(1'b0),.f(1'b0)); // 4 ins 1 outs
xor6 x683i (.out(x683),.a(x636),.b(d14),.c(d5),.d(d9),.e(d25),.f(1'b0)); // 5 ins 1 outs
xor6 x682i (.out(x682),.a(x589),.b(x631),.c(d0),.d(d7),.e(c24),.f(1'b0)); // 5 ins 1 outs
xor6 x681i (.out(x681),.a(x585),.b(d28),.c(d17),.d(d11),.e(d44),.f(1'b0)); // 5 ins 1 outs
xor6 x680i (.out(x680),.a(d2),.b(x594),.c(c15),.d(c2),.e(d46),.f(1'b0)); // 5 ins 1 outs
xor6 x679i (.out(x679),.a(d14),.b(d26),.c(d12),.d(x592),.e(d28),.f(x603)); // 6 ins 1 outs
xor6 x678i (.out(x678),.a(d46),.b(d33),.c(c18),.d(d42),.e(d10),.f(x600)); // 6 ins 1 outs
xor6 x677i (.out(x677),.a(x593),.b(c29),.c(d53),.d(c15),.e(d11),.f(d6)); // 6 ins 1 outs
xor6 x676i (.out(x676),.a(x614),.b(x594),.c(d21),.d(c31),.e(d11),.f(c15)); // 6 ins 1 outs
xor6 x675i (.out(x675),.a(d21),.b(d23),.c(d12),.d(x586),.e(x585),.f(1'b0)); // 5 ins 1 outs
xor6 x674i (.out(x674),.a(d34),.b(x603),.c(d7),.d(d20),.e(c10),.f(x598)); // 6 ins 1 outs
xor6 x673i (.out(x673),.a(d22),.b(d7),.c(c19),.d(x598),.e(d14),.f(d5)); // 6 ins 1 outs
xor6 x672i (.out(x672),.a(x595),.b(x601),.c(c10),.d(x588),.e(d23),.f(c22)); // 6 ins 1 outs
xor6 x671i (.out(x671),.a(x597),.b(c31),.c(d15),.d(c4),.e(x613),.f(c22)); // 6 ins 1 outs
xor6 x670i (.out(x670),.a(d39),.b(d35),.c(c11),.d(c25),.e(c20),.f(x613)); // 6 ins 1 outs
xor6 x669i (.out(x669),.a(d22),.b(x598),.c(c2),.d(d20),.e(d43),.f(d41)); // 6 ins 1 outs
xor6 x668i (.out(x668),.a(d42),.b(d10),.c(x614),.d(d32),.e(c8),.f(x587)); // 6 ins 1 outs
xor6 x667i (.out(x667),.a(c17),.b(d17),.c(d22),.d(d19),.e(d43),.f(1'b0)); // 5 ins 1 outs
xor6 x666i (.out(x666),.a(d20),.b(d47),.c(x640),.d(d40),.e(x617),.f(x597)); // 6 ins 1 outs
xor6 x665i (.out(x665),.a(x594),.b(d17),.c(x591),.d(x601),.e(d3),.f(c3)); // 6 ins 1 outs
xor6 x664i (.out(x664),.a(c5),.b(x595),.c(d29),.d(c20),.e(d2),.f(d41)); // 6 ins 1 outs
xor6 x663i (.out(x663),.a(x588),.b(c9),.c(x631),.d(x595),.e(d26),.f(d5)); // 6 ins 1 outs
xor6 x662i (.out(x662),.a(c24),.b(c9),.c(d7),.d(d5),.e(x588),.f(x585)); // 6 ins 1 outs
xor6 x661i (.out(x661),.a(d38),.b(x616),.c(d3),.d(x607),.e(d24),.f(d22)); // 6 ins 1 outs
xor6 x660i (.out(x660),.a(d26),.b(c7),.c(d31),.d(c4),.e(d17),.f(c15)); // 6 ins 1 outs
xor6 x659i (.out(x659),.a(d4),.b(c25),.c(c0),.d(d0),.e(d50),.f(x622)); // 6 ins 1 outs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -