📄 crc32_dat88.v
字号:
d85 ^ c27 ^ c22 ^ d59 ^ d10 ^ d77 ^ d52 ^ d46 ^ c21 ^ d73 ^
d63 ^ d57 ^ d76; // 72 ins 1 outs level 3
assign x7 = c4 ^ d37 ^ d52 ^ d69 ^ d60 ^ d57 ^ d75 ^ c0 ^ d28 ^
d45 ^ c13 ^ d8 ^ c31 ^ c21 ^ d16 ^ c23 ^ d39 ^ d46 ^ d58 ^
d3 ^ d50 ^ d68 ^ d43 ^ d71 ^ d24 ^ c18 ^ d41 ^ d32 ^ d10 ^
d25 ^ d51 ^ d54 ^ d23 ^ d42 ^ c2 ^ c15 ^ c20 ^ d0 ^ d74 ^
d15 ^ d76 ^ d22 ^ d29 ^ d34 ^ d2 ^ c12 ^ d21 ^ d5 ^ d7 ^
c24 ^ d47 ^ d79 ^ d87 ^ d77 ^ d56 ^ c1 ^ c19 ^ d80; // 58 ins 1 outs level 3
assign x6 = d80 ^ c10 ^ c28 ^ d84 ^ d64 ^ d68 ^ d38 ^ d83 ^ d29 ^
c26 ^ d51 ^ d66 ^ d56 ^ d25 ^ d5 ^ d21 ^ d50 ^ c15 ^ c27 ^
c12 ^ c17 ^ c19 ^ c0 ^ d8 ^ d74 ^ d72 ^ c23 ^ d52 ^ c18 ^
c8 ^ d22 ^ c16 ^ d62 ^ d54 ^ d71 ^ d20 ^ d14 ^ c20 ^ d79 ^
d2 ^ d65 ^ c24 ^ d75 ^ d60 ^ c25 ^ d81 ^ c4 ^ c6 ^ d47 ^
d6 ^ d41 ^ d1 ^ d7 ^ d40 ^ d70 ^ d76 ^ d82 ^ c9 ^ d73 ^
d42 ^ d11 ^ d55 ^ d4 ^ d43 ^ d30 ^ d45 ^ c14; // 67 ins 1 outs level 3
assign x5 = d24 ^ d65 ^ d54 ^ d81 ^ d6 ^ d51 ^ c5 ^ c18 ^ d61 ^
d7 ^ d67 ^ d28 ^ d37 ^ d70 ^ d64 ^ d44 ^ d5 ^ d21 ^ d83 ^
c27 ^ d42 ^ d50 ^ d82 ^ d10 ^ d53 ^ d13 ^ d71 ^ d72 ^ c23 ^
c16 ^ d41 ^ d39 ^ d49 ^ d73 ^ c15 ^ d55 ^ c17 ^ d0 ^ d78 ^
d80 ^ d59 ^ d1 ^ d74 ^ c7 ^ d75 ^ d69 ^ c8 ^ c26 ^ d20 ^
c9 ^ c25 ^ d19 ^ c13 ^ d63 ^ d29 ^ c14 ^ c22 ^ d79 ^ d46 ^
c11 ^ c3 ^ d4 ^ c19 ^ d40 ^ c24 ^ d3; // 66 ins 1 outs level 3
assign x4 = c23 ^ d47 ^ c12 ^ c2 ^ c30 ^ d30 ^ d57 ^ d69 ^ d63 ^
c27 ^ d68 ^ c17 ^ d44 ^ d4 ^ d45 ^ d0 ^ d65 ^ d70 ^ c18 ^
d73 ^ c1 ^ d84 ^ d15 ^ d31 ^ d24 ^ d20 ^ d33 ^ d58 ^ d50 ^
d41 ^ d79 ^ d29 ^ d67 ^ d59 ^ c14 ^ d3 ^ d18 ^ c21 ^ d8 ^
d25 ^ d6 ^ c9 ^ d48 ^ d86 ^ d38 ^ c13 ^ d46 ^ c11 ^ d12 ^
d83 ^ c7 ^ d11 ^ c28 ^ c3 ^ d19 ^ d39 ^ d2 ^ d40 ^ d77 ^
d74; // 60 ins 1 outs level 3
assign x3 = d45 ^ d65 ^ c29 ^ c4 ^ d56 ^ d39 ^ d52 ^ c15 ^ c3 ^
d3 ^ c25 ^ d38 ^ d33 ^ d27 ^ c20 ^ d40 ^ d59 ^ d25 ^ c2 ^
d1 ^ d19 ^ d54 ^ d32 ^ d18 ^ c13 ^ d80 ^ d60 ^ d68 ^ c9 ^
d17 ^ d31 ^ c30 ^ d10 ^ c17 ^ d81 ^ c24 ^ d85 ^ d36 ^ d73 ^
c0 ^ d2 ^ d9 ^ d7 ^ d84 ^ d14 ^ c28 ^ d53 ^ d71 ^ d69 ^
c12 ^ d86 ^ d15 ^ d8 ^ d58 ^ d37 ^ d76; // 56 ins 1 outs level 3
assign x2 = d17 ^ d24 ^ d84 ^ d6 ^ d64 ^ d1 ^ d35 ^ d13 ^ c14 ^
d16 ^ d52 ^ d9 ^ d55 ^ d80 ^ d31 ^ d68 ^ d70 ^ d72 ^ d83 ^
d0 ^ d2 ^ d30 ^ d51 ^ c28 ^ c24 ^ d53 ^ d7 ^ c29 ^ d79 ^
c3 ^ d44 ^ d8 ^ d36 ^ d85 ^ d14 ^ c11 ^ c2 ^ c12 ^ d59 ^
c23 ^ d32 ^ d18 ^ c16 ^ d57 ^ d75 ^ d26 ^ c19 ^ c8 ^ c1 ^
d58 ^ d67 ^ d37 ^ c27 ^ d38 ^ d39; // 55 ins 1 outs level 3
assign x1 = c7 ^ d12 ^ d24 ^ d44 ^ c4 ^ d9 ^ d50 ^ d81 ^ d16 ^
d13 ^ d86 ^ c16 ^ d37 ^ d47 ^ d69 ^ d80 ^ d0 ^ c2 ^ c23 ^
d64 ^ d6 ^ d27 ^ d62 ^ d33 ^ d34 ^ c9 ^ d53 ^ d38 ^ d72 ^
d35 ^ d1 ^ d56 ^ d63 ^ c8 ^ d74 ^ d60 ^ c30 ^ d17 ^ c25 ^
c3 ^ d46 ^ d59 ^ c31 ^ d28 ^ d58 ^ d79 ^ d11 ^ d87 ^ d51 ^
c18 ^ c13 ^ d49 ^ d65 ^ d7 ^ c24 ^ c6 ^ c0; // 57 ins 1 outs level 3
assign x0 = d63 ^ c29 ^ c25 ^ d60 ^ c9 ^ d6 ^ d25 ^ d73 ^ d10 ^
c27 ^ d37 ^ d67 ^ d58 ^ d26 ^ d85 ^ c31 ^ c16 ^ d32 ^ c23 ^
d83 ^ d48 ^ d31 ^ d84 ^ d61 ^ c5 ^ d45 ^ d66 ^ d72 ^ d82 ^
d47 ^ c12 ^ c2 ^ c28 ^ c7 ^ d12 ^ d24 ^ d65 ^ d54 ^ d81 ^
c11 ^ d44 ^ d28 ^ d30 ^ c4 ^ d87 ^ d79 ^ d53 ^ d34 ^ d29 ^
d0 ^ d68 ^ d16 ^ c26 ^ c17 ^ d55 ^ c10 ^ d9 ^ d50; // 58 ins 1 outs level 3
assign x31 = d49 ^ c10 ^ c16 ^ d60 ^ d81 ^ d64 ^ d47 ^ c22 ^ d59 ^
d5 ^ c15 ^ d23 ^ d71 ^ c26 ^ d15 ^ d28 ^ c9 ^ c27 ^ c1 ^
d78 ^ d43 ^ c4 ^ d65 ^ d84 ^ d52 ^ d62 ^ d67 ^ c6 ^ c3 ^
d57 ^ d33 ^ d25 ^ c24 ^ c25 ^ d54 ^ d44 ^ c8 ^ d80 ^ d24 ^
d72 ^ d27 ^ d53 ^ c28 ^ d9 ^ d31 ^ d46 ^ d83 ^ d82 ^ c11 ^
d36 ^ d8 ^ d66 ^ d86 ^ d11 ^ c30 ^ d30 ^ d29; // 57 ins 1 outs level 3
assign x30 = d10 ^ d48 ^ d28 ^ d79 ^ d46 ^ d35 ^ d52 ^ c26 ^ d53 ^
c15 ^ c2 ^ d29 ^ c27 ^ d82 ^ c23 ^ d65 ^ d83 ^ d8 ^ d27 ^
c7 ^ d26 ^ d43 ^ c21 ^ d51 ^ c29 ^ c5 ^ c24 ^ d7 ^ d56 ^
d61 ^ d42 ^ d81 ^ d30 ^ d4 ^ d23 ^ d22 ^ d58 ^ d66 ^ d85 ^
c0 ^ d70 ^ d77 ^ d64 ^ d24 ^ c3 ^ c10 ^ d59 ^ d63 ^ c9 ^
d45 ^ c25 ^ d80 ^ d32 ^ c8 ^ d14 ^ c14 ^ d71; // 57 ins 1 outs level 3
assign x29 = d47 ^ d27 ^ c7 ^ d82 ^ c1 ^ d64 ^ c8 ^ d65 ^ c2 ^
d28 ^ c28 ^ c24 ^ d63 ^ d41 ^ d76 ^ c20 ^ d3 ^ d7 ^ d21 ^
c14 ^ d31 ^ c6 ^ c25 ^ d84 ^ c13 ^ d79 ^ d78 ^ d50 ^ d25 ^
d81 ^ d45 ^ d42 ^ d69 ^ d80 ^ c4 ^ d58 ^ d52 ^ d55 ^ d26 ^
d29 ^ d22 ^ d34 ^ d70 ^ d9 ^ d23 ^ d44 ^ c9 ^ c23 ^ d62 ^
d51 ^ d6 ^ d60 ^ d13 ^ c22 ^ c26 ^ d57; // 56 ins 1 outs level 3
assign x28 = d49 ^ d21 ^ d5 ^ c27 ^ c7 ^ d68 ^ d24 ^ d25 ^ d54 ^
c13 ^ d8 ^ d50 ^ d63 ^ c24 ^ d64 ^ d81 ^ c1 ^ d69 ^ d41 ^
c19 ^ d56 ^ d20 ^ d80 ^ d59 ^ d44 ^ d2 ^ d30 ^ d79 ^ d26 ^
c6 ^ d33 ^ c0 ^ d62 ^ d77 ^ d75 ^ c5 ^ d51 ^ d40 ^ d43 ^
c23 ^ c8 ^ d6 ^ c22 ^ d61 ^ d22 ^ d57 ^ c25 ^ c12 ^ c21 ^
d78 ^ d27 ^ d83 ^ d12 ^ c3 ^ d46 ^ d28; // 56 ins 1 outs level 3
assign x27 = c5 ^ d29 ^ d58 ^ d61 ^ c22 ^ d25 ^ d79 ^ d23 ^ c20 ^
c7 ^ d74 ^ d43 ^ d50 ^ c0 ^ d56 ^ d78 ^ d40 ^ d80 ^ c12 ^
d60 ^ d1 ^ d20 ^ d82 ^ d19 ^ d24 ^ d68 ^ d53 ^ d67 ^ c11 ^
c21 ^ d49 ^ d4 ^ d55 ^ d62 ^ c6 ^ d27 ^ c2 ^ c23 ^ d76 ^
d32 ^ d39 ^ c18 ^ d63 ^ c26 ^ d42 ^ d21 ^ d5 ^ d48 ^ c4 ^
d77 ^ c24 ^ d7 ^ d45 ^ d26 ^ d11; // 55 ins 1 outs level 3
assign x26 = d79 ^ d59 ^ d10 ^ d19 ^ d0 ^ c6 ^ d31 ^ d47 ^ c4 ^
d4 ^ d77 ^ d28 ^ d75 ^ c19 ^ c20 ^ d22 ^ c10 ^ d42 ^ d26 ^
d38 ^ d55 ^ d23 ^ d66 ^ d78 ^ c5 ^ c3 ^ d60 ^ d3 ^ d61 ^
c22 ^ d39 ^ d48 ^ c17 ^ d44 ^ c11 ^ d67 ^ d24 ^ d81 ^ d49 ^
d57 ^ c23 ^ d73 ^ c1 ^ d54 ^ d18 ^ d52 ^ d25 ^ c21 ^ d6 ^
d41 ^ d62 ^ c25 ^ d20 ^ d76; // 54 ins 1 outs level 3
assign x25 = d19 ^ d82 ^ d41 ^ d81 ^ d56 ^ d18 ^ d77 ^ d84 ^ d11 ^
d51 ^ d48 ^ c26 ^ d22 ^ d38 ^ c21 ^ c6 ^ d40 ^ c27 ^ c18 ^
c31 ^ d74 ^ d21 ^ d76 ^ d3 ^ d44 ^ d83 ^ d87 ^ d33 ^ d62 ^
c1 ^ d29 ^ d37 ^ d86 ^ c0 ^ d58 ^ d2 ^ d28 ^ d61 ^ d15 ^
d64 ^ c11 ^ d52 ^ c8 ^ c30 ^ d49 ^ d71 ^ d36 ^ c2 ^ d67 ^
c28 ^ c5 ^ c20 ^ c19 ^ c15 ^ d75 ^ d57 ^ c25 ^ d8 ^ d31 ^
d17; // 60 ins 1 outs level 3
assign x24 = d28 ^ c17 ^ d32 ^ d20 ^ d86 ^ d87 ^ d27 ^ d73 ^ d39 ^
d18 ^ d17 ^ c20 ^ d75 ^ c1 ^ d85 ^ c30 ^ c7 ^ d40 ^ d50 ^
d51 ^ d76 ^ d60 ^ d43 ^ d21 ^ c18 ^ d48 ^ d81 ^ d57 ^ d2 ^
d37 ^ d10 ^ c4 ^ c19 ^ c25 ^ c5 ^ d14 ^ c31 ^ d36 ^ c27 ^
c26 ^ c10 ^ d30 ^ d55 ^ d74 ^ c0 ^ c29 ^ d47 ^ d70 ^ d83 ^
d80 ^ d63 ^ c14 ^ c24 ^ d7 ^ d56 ^ d66 ^ d61 ^ d1 ^ d35 ^
d82 ^ d16; // 61 ins 1 outs level 3
endmodule
////////////////////////////////////////////////////////////////
// Depth optimal factored version
////////////////////////////////////////////////////////////////
module crc32_dat88_factor (crc_in,dat_in,crc_out);
input [31:0] crc_in;
input [87:0] dat_in;
output [31:0] crc_out;
wire [31:0] crc_out;
wire x262, x261, x260, x259, x258, x257, x256,
x255, x254, x252, x251, x250, x249, x248, x247,
x246, x245, x244, x243, x241, x240, x239, x238,
x237, x236, x235, x234, x233, x232, x231, x230,
x229, x228, x227, x226, x225, x224, x223, x222,
x221, x220, x219, x218, x217, x216, x215, x214,
x213, x212, x211, x210, x209, x208, x207, x206,
x205, x204, x203, x202, x201, x200, x199, x198,
x197, x196, x195, x194, x193, x192, x191, x190,
x189, x188, x187, x186, x185, x183, x182, x181,
x180, x179, x178, x177, x176, x175, x174, x173,
x172, x171, x170, x169, x168, x167, x166, x165,
x164, x163, x162, x161, x160, x159, x158, x157,
x156, x155, x154, x153, x152, x151, x150, x149,
x148, x147, x146, x145, x144, x143, x142, x141,
x140, x139, x138, x137, x136, x135, x134, x133,
x132, x131, x130, x129, x128, x127, x126, x125,
x124, x122, x121, x120, x119, x118, x117, x116,
x115, x114, x113, x112, x111, x110, x109, x108,
x107, x106, x105, x104, x103, x102, x100, x99,
x98, x97, x96, x95, x94, x93, x92, x90,
x88, x87, x86, x85, x84, x83, x82, x81,
x80, x79, x77, x76, x75, x74, x73, x72,
x71, x70, x69, x68, x67, x66, x65, x64,
x63, x62, x61, x60, x59, x58, x57, x56,
x55, x54, x53, x52, x51, x50, x49, x48,
x47, x46, x45, x44, x43, x42, x41, x40,
x39, x38, x37, x36, x35, x34, x33, x32,
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,d56,d57,d58,d59,d60,d61,d62,
d63,d64,d65,d66,d67,d68,d69,d70,d71,d72,d73,d74,d75,d76,d77,d78,
d79,d80,d81,d82,d83,d84,d85,d86,d87;
assign { d87,d86,d85,d84,d83,d82,d81,d80,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 [87: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 x262i (.out(x262),.a(x256),.b(x43),.c(x39),.d(x33),.e(x35),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x261i (.out(x261),.a(x257),.b(x37),.c(x53),.d(x260),.e(x258),.f(x259)); // 6 ins 1 outs level 2
xor6 x260i (.out(x260),.a(c29),.b(c7),.c(d50),.d(c25),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x259i (.out(x259),.a(c14),.b(c1),.c(c31),.d(d43),.e(c4),.f(c10)); // 6 ins 1 outs level 1
xor6 x258i (.out(x258),.a(d63),.b(d21),.c(d79),.d(d30),.e(d66),.f(d35)); // 6 ins 1 outs level 1
xor6 x257i (.out(x257),.a(d10),.b(d81),.c(d85),.d(d18),.e(d0),.f(d56)); // 6 ins 1 outs level 1
xor6 x256i (.out(x256),.a(c20),.b(d19),.c(d47),.d(d32),.e(d87),.f(d37)); // 6 ins 1 outs level 1
xor6 x255i (.out(x255),.a(x250),.b(x47),.c(x48),.d(x50),.e(x39),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x254i (.out(x254),.a(x251),.b(c31),.c(c25),.d(x41),.e(x33),.f(x252)); // 6 ins 1 outs level 2
xor6 x252i (.out(x252),.a(c30),.b(d38),.c(d37),.d(c26),.e(d8),.f(c20)); // 6 ins 1 outs level 1
xor6 x251i (.out(x251),.a(d0),.b(d5),.c(d49),.d(d36),.e(d81),.f(d2)); // 6 ins 1 outs level 1
xor6 x250i (.out(x250),.a(d44),.b(d67),.c(d29),.d(d17),.e(d57),.f(d54)); // 6 ins 1 outs level 1
xor6 x249i (.out(x249),.a(x245),.b(x48),.c(x49),.d(x248),.e(x246),.f(x247)); // 6 ins 1 outs level 2
xor6 x248i (.out(x248),.a(d31),.b(c17),.c(d79),.d(d82),.e(d38),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x247i (.out(x247),.a(d75),.b(d55),.c(d41),.d(d20),.e(d25),.f(d39)); // 6 ins 1 outs level 1
xor6 x246i (.out(x246),.a(c19),.b(c1),.c(d43),.d(d44),.e(d52),.f(c8)); // 6 ins 1 outs level 1
xor6 x245i (.out(x245),.a(d73),.b(d59),.c(d29),.d(d53),.e(c3),.f(d66)); // 6 ins 1 outs level 1
xor6 x244i (.out(x244),.a(x238),.b(d7),.c(x49),.d(x69),.e(x36),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x243i (.out(x243),.a(d79),.b(x239),.c(d11),.d(x38),.e(x240),.f(x241)); // 6 ins 1 outs level 2
xor6 x241i (.out(x241),.a(c21),.b(d20),.c(d24),.d(d77),.e(d21),.f(d53)); // 6 ins 1 outs level 1
xor6 x240i (.out(x240),.a(d49),.b(c4),.c(d45),.d(c26),.e(d70),.f(c11)); // 6 ins 1 outs level 1
xor6 x239i (.out(x239),.a(d42),.b(d27),.c(d5),.d(d25),.e(d40),.f(d86)); // 6 ins 1 outs level 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -