📄 crc32_dat80.v
字号:
c14 ^ d63 ^ d33 ^ d54 ^ d50 ^ d56 ^ d12 ^ d79 ^ c2 ^ d68 ^
d21 ^ c27 ^ d2 ^ c6 ^ d62 ^ d46 ^ d8 ^ d27 ^ d49 ^ c13 ^
d61 ^ d43 ^ c29 ^ c31 ^ c30; // 54 ins 1 outs level 3
assign x27 = d67 ^ d68 ^ c29 ^ d24 ^ d21 ^ d29 ^ d50 ^ d26 ^ d53 ^
d7 ^ d56 ^ d48 ^ d60 ^ d78 ^ d55 ^ d63 ^ d45 ^ c13 ^ d4 ^
d61 ^ d62 ^ d1 ^ d79 ^ d23 ^ d43 ^ c31 ^ c14 ^ d40 ^ d42 ^
d5 ^ c26 ^ c30 ^ d76 ^ d49 ^ c1 ^ d74 ^ c7 ^ c10 ^ d20 ^
d19 ^ d39 ^ d58 ^ d11 ^ c8 ^ c2 ^ c5 ^ c19 ^ d32 ^ c20 ^
d25 ^ d77 ^ d27 ^ c0 ^ c12 ^ c15 ^ c28; // 56 ins 1 outs level 3
assign x26 = d31 ^ d66 ^ c7 ^ d42 ^ d52 ^ d73 ^ c4 ^ c27 ^ c1 ^
c30 ^ c19 ^ d22 ^ c0 ^ d67 ^ d49 ^ c25 ^ c9 ^ d19 ^ d10 ^
d18 ^ d26 ^ d75 ^ d4 ^ d20 ^ d41 ^ d6 ^ c31 ^ d28 ^ d0 ^
c12 ^ d38 ^ d3 ^ d60 ^ d77 ^ d47 ^ c6 ^ d57 ^ c18 ^ d79 ^
c11 ^ d23 ^ d39 ^ d62 ^ d78 ^ c13 ^ d76 ^ c28 ^ d55 ^ d61 ^
d44 ^ d59 ^ c14 ^ d24 ^ c29 ^ d48 ^ d25 ^ d54; // 57 ins 1 outs level 3
assign x25 = c4 ^ d77 ^ c0 ^ d49 ^ d40 ^ d31 ^ c19 ^ d58 ^ d33 ^
d11 ^ d41 ^ c13 ^ d29 ^ d37 ^ d28 ^ c26 ^ d18 ^ d3 ^ d21 ^
d57 ^ d22 ^ d75 ^ d51 ^ d38 ^ c3 ^ d17 ^ c1 ^ d15 ^ c27 ^
c23 ^ c8 ^ c29 ^ d48 ^ c16 ^ d62 ^ d74 ^ d64 ^ d44 ^ d2 ^
d71 ^ d67 ^ c14 ^ d19 ^ c9 ^ d56 ^ d76 ^ c28 ^ c10 ^ d61 ^
d52 ^ d8 ^ d36; // 52 ins 1 outs level 3
assign x24 = d1 ^ c13 ^ d47 ^ d66 ^ c26 ^ d35 ^ d60 ^ c3 ^ d21 ^
d43 ^ d14 ^ d27 ^ c8 ^ c0 ^ d56 ^ d20 ^ d36 ^ d48 ^ d73 ^
d70 ^ d57 ^ d16 ^ d61 ^ c7 ^ c28 ^ c2 ^ c12 ^ d39 ^ d74 ^
d37 ^ d10 ^ d28 ^ d76 ^ c15 ^ d40 ^ d75 ^ d51 ^ c22 ^ d32 ^
d18 ^ d50 ^ d30 ^ d63 ^ c27 ^ d2 ^ c18 ^ d17 ^ c9 ^ c25 ^
d7 ^ d55; // 51 ins 1 outs level 3
assign x23 = d73 ^ d56 ^ d39 ^ d47 ^ c17 ^ c7 ^ d60 ^ d15 ^ d42 ^
c26 ^ c14 ^ d20 ^ d26 ^ c27 ^ c1 ^ c21 ^ d35 ^ d34 ^ d9 ^
d65 ^ d29 ^ d79 ^ d54 ^ d59 ^ c6 ^ d31 ^ d49 ^ d69 ^ d17 ^
c24 ^ c25 ^ d46 ^ d36 ^ c8 ^ d72 ^ d16 ^ d55 ^ d19 ^ d6 ^
c12 ^ d1 ^ d50 ^ d38 ^ d75 ^ d74 ^ c11 ^ d62 ^ d0 ^ d13 ^
c31 ^ d27 ^ c2; // 52 ins 1 outs level 3
assign x22 = d67 ^ d31 ^ d43 ^ d38 ^ d11 ^ d52 ^ c26 ^ d45 ^ c18 ^
d12 ^ d79 ^ d68 ^ d74 ^ d36 ^ c31 ^ c12 ^ c17 ^ d0 ^ d19 ^
c7 ^ d18 ^ d35 ^ d60 ^ c13 ^ d61 ^ d57 ^ d44 ^ d24 ^ d48 ^
d23 ^ d34 ^ d73 ^ d41 ^ d62 ^ c14 ^ d14 ^ c9 ^ d58 ^ c19 ^
d65 ^ c0 ^ d47 ^ d9 ^ d66 ^ d29 ^ d16 ^ c4 ^ c10 ^ d26 ^
d55 ^ c20 ^ d37 ^ c25 ^ d27; // 54 ins 1 outs level 3
assign x21 = d22 ^ d52 ^ d53 ^ c14 ^ d62 ^ d61 ^ c1 ^ d27 ^ c4 ^
c3 ^ d5 ^ d42 ^ d24 ^ d10 ^ d13 ^ d35 ^ c8 ^ d31 ^ c5 ^
c25 ^ c23 ^ d71 ^ d49 ^ c13 ^ d40 ^ d29 ^ d17 ^ d73 ^ d37 ^
d34 ^ d56 ^ d18 ^ d9 ^ d26 ^ d51; // 35 ins 1 outs level 3
assign x20 = d8 ^ d41 ^ d61 ^ d28 ^ d52 ^ d16 ^ d17 ^ c31 ^ d39 ^
d79 ^ d48 ^ c24 ^ c4 ^ d60 ^ d34 ^ d4 ^ d33 ^ d55 ^ c12 ^
d12 ^ d72 ^ c0 ^ d36 ^ d30 ^ c2 ^ d51 ^ d50 ^ d70 ^ c13 ^
c22 ^ c3 ^ d26 ^ d23 ^ c7 ^ d25 ^ d21 ^ d9; // 37 ins 1 outs level 3
assign x19 = d27 ^ d69 ^ d3 ^ d38 ^ d71 ^ d15 ^ c3 ^ c2 ^ c1 ^
d35 ^ d25 ^ d47 ^ c21 ^ d32 ^ d33 ^ d29 ^ d60 ^ d11 ^ d16 ^
d24 ^ d50 ^ c12 ^ c11 ^ d59 ^ d51 ^ d49 ^ d7 ^ d22 ^ c23 ^
d54 ^ c6 ^ d8 ^ d40 ^ c30 ^ d78 ^ d20; // 36 ins 1 outs level 3
assign x18 = d77 ^ c2 ^ d28 ^ d48 ^ d2 ^ c29 ^ d39 ^ d46 ^ d49 ^
d7 ^ c31 ^ c5 ^ d24 ^ d14 ^ d79 ^ d34 ^ d32 ^ c11 ^ d6 ^
d15 ^ d26 ^ d70 ^ d37 ^ c1 ^ c0 ^ c22 ^ d31 ^ d21 ^ d19 ^
c20 ^ d50 ^ d53 ^ d68 ^ c10 ^ d10 ^ d59 ^ d58 ^ d23; // 38 ins 1 outs level 3
assign x17 = d58 ^ d49 ^ d33 ^ c1 ^ c31 ^ c10 ^ d69 ^ d45 ^ d38 ^
d1 ^ d79 ^ d5 ^ d14 ^ d30 ^ c21 ^ d48 ^ c19 ^ d52 ^ d25 ^
d6 ^ d31 ^ d13 ^ d67 ^ d27 ^ d36 ^ c9 ^ c0 ^ c4 ^ c30 ^
d22 ^ d47 ^ d57 ^ d78 ^ d76 ^ d23 ^ d18 ^ d20 ^ c28 ^ d9; // 39 ins 1 outs level 3
assign x16 = d26 ^ d5 ^ d44 ^ d12 ^ d0 ^ c18 ^ d24 ^ c29 ^ c9 ^
c3 ^ c20 ^ c0 ^ c27 ^ d48 ^ d51 ^ d66 ^ d32 ^ d37 ^ d68 ^
d35 ^ d13 ^ d4 ^ d47 ^ d22 ^ d57 ^ d29 ^ d30 ^ c30 ^ d46 ^
d56 ^ d19 ^ d17 ^ c8 ^ d77 ^ d75 ^ d78 ^ d21 ^ d8; // 38 ins 1 outs level 3
endmodule
////////////////////////////////////////////////////////////////
// Depth optimal factored version
////////////////////////////////////////////////////////////////
module crc32_dat80_factor (crc_in,dat_in,crc_out);
input [31:0] crc_in;
input [79:0] dat_in;
output [31:0] crc_out;
wire [31:0] crc_out;
wire x862, x861, x860, x859, x858, x857, x855,
x854, x853, x852, x851, x850, x849, x848, x847,
x846, x845, x844, x843, x842, x841, x840, x839,
x838, x837, x836, x835, x834, x833, x832, x831,
x830, x829, x828, x827, x826, x825, x824, x823,
x822, x821, x820, x819, x817, x816, x815, x814,
x813, x812, x811, x810, x809, x808, x807, x806,
x805, x804, x803, x802, x801, x800, x799, x798,
x797, x796, x795, x794, x793, x792, x791, x790,
x789, x788, x787, x786, x785, x784, x783, x782,
x781, x780, x779, x778, x777, x776, x775, x774,
x773, x772, x771, x770, x769, x768, x767, x766,
x765, x764, x763, x762, x761, x760, x759, x758,
x757, x756, x755, x754, x753, x752, x751, x750,
x749, x748, x747, x746, x745, x744, x743, x742,
x741, x740, x739, x738, x737, x736, x735, x734,
x733, x732, x731, x730, x729, x728, x727, x726,
x725, x724, x723, x722, x721, x720, x719, x718,
x717, x716, x715, x714, x713, x712, x711, x710,
x709, x708, x707, x706, x705, x704, x703, x702,
x701, x700, x15, x14, x13, x12, x11, x10,
x9, x8, x7, x6, x5, x4, x3, x2,
x1, x0, x31, x30, x29, x28, x27, x26,
x25, x24, x23, x22, x21, x20, x19, x18,
x17, x16;
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,d56,d57,d58,d59,d60,d61,d62,
d63,d64,d65,d66,d67,d68,d69,d70,d71,d72,d73,d74,d75,d76,d77,d78,
d79;
assign { d79,d78,d77,d76,d75,d74,d73,d72,d71,d70,d69,d68,d67,d66,d65,
d64,d63,d62,d61,d60,d59,d58,d57,d56,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 [79: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 x862i (.out(x862),.a(x860),.b(x755),.c(x710),.d(x759),.e(x861),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x861i (.out(x861),.a(c16),.b(c29),.c(d29),.d(c31),.e(d5),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x860i (.out(x860),.a(d8),.b(d46),.c(d21),.d(d34),.e(d15),.f(d22)); // 6 ins 1 outs level 1
xor6 x859i (.out(x859),.a(d45),.b(x858),.c(x740),.d(x731),.e(x767),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x858i (.out(x858),.a(d50),.b(d36),.c(d27),.d(c31),.e(d5),.f(d9)); // 6 ins 1 outs level 1
xor6 x857i (.out(x857),.a(d10),.b(x746),.c(x708),.d(x703),.e(x752),.f(d15)); // 6 ins 1 outs level 2
xor6 x855i (.out(x855),.a(d31),.b(d7),.c(d21),.d(c11),.e(d14),.f(d26)); // 6 ins 1 outs level 1
xor6 x854i (.out(x854),.a(x852),.b(d33),.c(x721),.d(x853),.e(x767),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x853i (.out(x853),.a(c2),.b(c12),.c(d32),.d(d16),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x852i (.out(x852),.a(c23),.b(d71),.c(d29),.d(d8),.e(d47),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x851i (.out(x851),.a(x850),.b(x711),.c(x769),.d(x714),.e(x710),.f(x703)); // 6 ins 1 outs level 2
xor6 x850i (.out(x850),.a(d52),.b(d0),.c(c4),.d(c15),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x849i (.out(x849),.a(d31),.b(d5),.c(d73),.d(1'b0),.e(1'b0),.f(1'b0)); // 3 ins 1 outs level 1
xor6 x848i (.out(x848),.a(d9),.b(d26),.c(c5),.d(d27),.e(c25),.f(d22)); // 6 ins 1 outs level 1
xor6 x847i (.out(x847),.a(x845),.b(x738),.c(x717),.d(x708),.e(x846),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x846i (.out(x846),.a(d41),.b(d52),.c(c4),.d(d44),.e(d57),.f(d45)); // 6 ins 1 outs level 1
xor6 x845i (.out(x845),.a(d77),.b(d66),.c(d14),.d(c15),.e(c18),.f(d27)); // 6 ins 1 outs level 1
xor6 x844i (.out(x844),.a(x842),.b(d28),.c(x703),.d(x758),.e(x843),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x843i (.out(x843),.a(d39),.b(d69),.c(d13),.d(c9),.e(d29),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x842i (.out(x842),.a(d4),.b(d42),.c(d46),.d(d38),.e(c27),.f(d75)); // 6 ins 1 outs level 1
xor6 x841i (.out(x841),.a(x839),.b(x757),.c(x749),.d(x840),.e(x709),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x840i (.out(x840),.a(d40),.b(d36),.c(d60),.d(d73),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x839i (.out(x839),.a(d14),.b(d26),.c(c25),.d(d66),.e(d16),.f(c18)); // 6 ins 1 outs level 1
xor6 x838i (.out(x838),.a(d60),.b(x836),.c(x704),.d(x742),.e(x837),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x837i (.out(x837),.a(d23),.b(d27),.c(d29),.d(d58),.e(d15),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x836i (.out(x836),.a(c10),.b(d64),.c(c15),.d(d8),.e(d19),.f(d44)); // 6 ins 1 outs level 1
xor6 x835i (.out(x835),.a(x833),.b(x761),.c(x717),.d(x755),.e(x722),.f(x834)); // 6 ins 1 outs level 2
xor6 x834i (.out(x834),.a(d79),.b(d60),.c(c15),.d(d39),.e(d11),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x833i (.out(x833),.a(c7),.b(d55),.c(d41),.d(d42),.e(c11),.f(d26)); // 6 ins 1 outs level 1
xor6 x832i (.out(x832),.a(x830),.b(x734),.c(x720),.d(x831),.e(x757),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x831i (.out(x831),.a(d47),.b(c30),.c(d78),.d(d43),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x830i (.out(x830),.a(d79),.b(d20),.c(c5),.d(d7),.e(d2),.f(d45)); // 6 ins 1 outs level 1
xor6 x829i (.out(x829),.a(x827),.b(x759),.c(x710),.d(x703),.e(x828),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x828i (.out(x828),.a(d33),.b(d12),.c(d22),.d(d57),.e(c14),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x827i (.out(x827),.a(d19),.b(d13),.c(d27),.d(d25),.e(d64),.f(d62)); // 6 ins 1 outs level 1
xor6 x826i (.out(x826),.a(x719),.b(x824),.c(x708),.d(x722),.e(x825),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x825i (.out(x825),.a(d19),.b(d26),.c(d9),.d(d23),.e(d33),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x824i (.out(x824),.a(d4),.b(d21),.c(d40),.d(d54),.e(d34),.f(c9)); // 6 ins 1 outs level 1
xor6 x823i (.out(x823),.a(x822),.b(x763),.c(x721),.d(x732),.e(x709),.f(x726)); // 6 ins 1 outs level 2
xor6 x822i (.out(x822),.a(d45),.b(d26),.c(c11),.d(d63),.e(d32),.f(c5)); // 6 ins 1 outs level 1
xor6 x821i (.out(x821),.a(x820),.b(x762),.c(x733),.d(x717),.e(x718),.f(x701)); // 6 ins 1 outs level 2
xor6 x820i (.out(x820),.a(d5),.b(d30),.c(d36),.d(d25),.e(d1),.f(d28)); // 6 ins 1 outs level 1
xor6 x819i (.out(x819),.a(d35),.b(x816),.c(c9),.d(x749),.e(x709),.f(x817)); // 6 ins 1 outs level 2
xor6 x817i (.out(x817),.a(d47),.b(d36),.c(c18),.d(d54),.e(d66),.f(d77)); // 6 ins 1 outs level 1
xor6 x816i (.out(x816),.a(d30),.b(d44),.c(d16),.d(d64),.e(d63),.f(d45)); // 6 ins 1 outs level 1
xor6 x815i (.out(x815),.a(x813),.b(x703),.c(x814),.d(x704),.e(x719),.f(x721)); // 6 ins 1 outs level 2
xor6 x814i (.out(x814),.a(d16),.b(d46),.c(1'b0),.d(1'b0),.e(1'b0),.f(1'b0)); // 2 ins 1 outs level 1
xor6 x813i (.out(x813),.a(d44),.b(c31),.c(d11),.d(d7),.e(d17),.f(d0)); // 6 ins 1 outs level 1
xor6 x812i (.out(x812),.a(x703),.b(x810),.c(x762),.d(x811),.e(x711),.f(x726)); // 6 ins 1 outs level 2
xor6 x811i (.out(x811),.a(d1),.b(d8),.c(1'b0),.d(1'b0),.e(1'b0),.f(1'b0)); // 2 ins 1 outs level 1
xor6 x810i (.out(x810),.a(d57),.b(d44),.c(d6),.d(d10),.e(d77),.f(d13)); // 6 ins 1 outs level 1
xor6 x809i (.out(x809),.a(x807),.b(x733),.c(x701),.d(x720),.e(x808),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x808i (.out(x808),.a(d56),.b(c5),.c(d57),.d(d25),.e(d8),.f(d9)); // 6 ins 1 outs level 1
xor6 x807i (.out(x807),.a(c9),.b(d69),.c(d45),.d(d1),.e(c8),.f(d64)); // 6 ins 1 outs level 1
xor6 x806i (.out(x806),.a(x804),.b(x703),.c(x805),.d(x746),.e(x717),.f(x739)); // 6 ins 1 outs level 2
xor6 x805i (.out(x805),.a(d41),.b(c11),.c(1'b0),.d(1'b0),.e(1'b0),.f(1'b0)); // 2 ins 1 outs level 1
xor6 x804i (.out(x804),.a(d45),.b(d53),.c(d25),.d(c26),.e(d12),.f(d74)); // 6 ins 1 outs level 1
xor6 x803i (.out(x803),.a(d15),.b(x801),.c(x710),.d(x706),.e(x707),.f(x802)); // 6 ins 1 outs level 2
xor6 x802i (.out(x802),.a(c23),.b(d46),.c(c26),.d(d24),.e(c31),.f(d2)); // 6 ins 1 outs level 1
xor6 x801i (.out(x801),.a(d1),.b(d19),.c(d71),.d(d74),.e(d3),.f(d42)); // 6 ins 1 outs level 1
xor6 x800i (.out(x800),.a(x799),.b(d8),.c(x739),.d(x702),.e(x706),.f(x713)); // 6 ins 1 outs level 2
xor6 x799i (.out(x799),.a(d11),.b(d19),.c(c24),.d(c16),.e(d72),.f(c6)); // 6 ins 1 outs level 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -