📄 crc32_dat96.v
字号:
assign x15 = c20 ^ c30 ^ d94 ^ d66 ^ d45 ^ d33 ^ d52 ^ d85 ^ d56 ^
c2 ^ c7 ^ d59 ^ d9 ^ d60 ^ d62 ^ d74 ^ c31 ^ d88 ^ d24 ^
d21 ^ d71 ^ d20 ^ d84 ^ d5 ^ c10 ^ c16 ^ d3 ^ d76 ^ d7 ^
c25 ^ d80 ^ c26 ^ c14 ^ d50 ^ d18 ^ c0 ^ c24 ^ c13 ^ d16 ^
d72 ^ d78 ^ d89 ^ d64 ^ c12 ^ d8 ^ d90 ^ d77 ^ d49 ^ d27 ^
c21 ^ d57 ^ d55 ^ d15 ^ c8 ^ d53 ^ d12 ^ d34 ^ d30 ^ d4 ^
d54 ^ d95 ^ d44; // 62 ins 1 outs level 3
assign x14 = d63 ^ d3 ^ d2 ^ d11 ^ d4 ^ d17 ^ d14 ^ d77 ^ d76 ^
d56 ^ d65 ^ d8 ^ d23 ^ c29 ^ d94 ^ d52 ^ c11 ^ d75 ^ d83 ^
d32 ^ d43 ^ d71 ^ d20 ^ d89 ^ d48 ^ d59 ^ c30 ^ d51 ^ c7 ^
d6 ^ c9 ^ c23 ^ c15 ^ c1 ^ d26 ^ d54 ^ d55 ^ d7 ^ d29 ^
d79 ^ d58 ^ d33 ^ c19 ^ c20 ^ d49 ^ c24 ^ d70 ^ d44 ^ d15 ^
d53 ^ c25 ^ c13 ^ c6 ^ d73 ^ d88 ^ c12 ^ d84 ^ d61 ^ d19 ^
d87 ^ d93; // 61 ins 1 outs level 3
assign x13 = d47 ^ d48 ^ d86 ^ c18 ^ d53 ^ d92 ^ d28 ^ c5 ^ d69 ^
d50 ^ d16 ^ c31 ^ d82 ^ d57 ^ c29 ^ d25 ^ d88 ^ d1 ^ d42 ^
d95 ^ d43 ^ c0 ^ c24 ^ d19 ^ d3 ^ d87 ^ c14 ^ d58 ^ d6 ^
d10 ^ d62 ^ d78 ^ d13 ^ c19 ^ d18 ^ d51 ^ c10 ^ c12 ^ d2 ^
d74 ^ d52 ^ d60 ^ d31 ^ d83 ^ c11 ^ c6 ^ c23 ^ d75 ^ d22 ^
d76 ^ d54 ^ c22 ^ d32 ^ d14 ^ d55 ^ d93 ^ d70 ^ d7 ^ d72 ^
d64 ^ c8 ^ c28 ^ d5; // 63 ins 1 outs level 3
assign x12 = d63 ^ d77 ^ d85 ^ d94 ^ d30 ^ d59 ^ d82 ^ c22 ^ d81 ^
d21 ^ c30 ^ c27 ^ c7 ^ d13 ^ c28 ^ d69 ^ d27 ^ d46 ^ c21 ^
d15 ^ c13 ^ d57 ^ d52 ^ d5 ^ c9 ^ d1 ^ d53 ^ c11 ^ d9 ^
d50 ^ c23 ^ d51 ^ d47 ^ d6 ^ d68 ^ d75 ^ c10 ^ d12 ^ d92 ^
d4 ^ d42 ^ d71 ^ c4 ^ d73 ^ d0 ^ d74 ^ d61 ^ c18 ^ d86 ^
d17 ^ d54 ^ d18 ^ d2 ^ d41 ^ d49 ^ d24 ^ d56 ^ d31 ^ c5 ^
d87 ^ d91 ^ c17; // 62 ins 1 outs level 3
assign x11 = d74 ^ d47 ^ d9 ^ d15 ^ d51 ^ c26 ^ d64 ^ d55 ^ d44 ^
d28 ^ d91 ^ d17 ^ d94 ^ d66 ^ d4 ^ c18 ^ d33 ^ d20 ^ d82 ^
d1 ^ d59 ^ d68 ^ c14 ^ d43 ^ c7 ^ d14 ^ c27 ^ d36 ^ d83 ^
d90 ^ d76 ^ c10 ^ d0 ^ d16 ^ d26 ^ d25 ^ d41 ^ d57 ^ d73 ^
c1 ^ c2 ^ c9 ^ d85 ^ c30 ^ d56 ^ d70 ^ d78 ^ d24 ^ c21 ^
c0 ^ c12 ^ d27 ^ d45 ^ d48 ^ d58 ^ d50 ^ c6 ^ d12 ^ d54 ^
c4 ^ d31 ^ d65 ^ c19 ^ d40 ^ d3 ^ d71; // 66 ins 1 outs level 3
assign x10 = c25 ^ d14 ^ d33 ^ d86 ^ c7 ^ d58 ^ d29 ^ c14 ^ c13 ^
d42 ^ d83 ^ d26 ^ d32 ^ d90 ^ d70 ^ c6 ^ d9 ^ d89 ^ d0 ^
d55 ^ d40 ^ d2 ^ d19 ^ c19 ^ d35 ^ d66 ^ d73 ^ d80 ^ d16 ^
d39 ^ d60 ^ c5 ^ c31 ^ d28 ^ d3 ^ d78 ^ d31 ^ d77 ^ d63 ^
d71 ^ d59 ^ d94 ^ c2 ^ c26 ^ c9 ^ d13 ^ c30 ^ d36 ^ d50 ^
c16 ^ d69 ^ c22 ^ d56 ^ d5 ^ d95 ^ d52 ^ c11 ^ d75 ^ d62; // 59 ins 1 outs level 3
assign x9 = d67 ^ d68 ^ d47 ^ d55 ^ d81 ^ d46 ^ c12 ^ d51 ^ c17 ^
d77 ^ d41 ^ c2 ^ c16 ^ c21 ^ d85 ^ d24 ^ c7 ^ d18 ^ d76 ^
c0 ^ c15 ^ d2 ^ d70 ^ c6 ^ d74 ^ d36 ^ c4 ^ d52 ^ d89 ^
d60 ^ d53 ^ d78 ^ c25 ^ d44 ^ d83 ^ d58 ^ d43 ^ d9 ^ d64 ^
d34 ^ c3 ^ d29 ^ d79 ^ d4 ^ d13 ^ c13 ^ d38 ^ d12 ^ d71 ^
d84 ^ c22 ^ d33 ^ d86 ^ d39 ^ d11 ^ c24 ^ d88 ^ d23 ^ d1 ^
d66 ^ d69 ^ c5 ^ d32 ^ d80 ^ d5 ^ c10 ^ d35 ^ c20 ^ c19 ^
d61 ^ c14; // 71 ins 1 outs level 3
assign x8 = d37 ^ c9 ^ d82 ^ c18 ^ c20 ^ d3 ^ d40 ^ d57 ^ c3 ^
d69 ^ d52 ^ d67 ^ d35 ^ d17 ^ d87 ^ d4 ^ d11 ^ d0 ^ d73 ^
d22 ^ c16 ^ d77 ^ d80 ^ d83 ^ c1 ^ c5 ^ d38 ^ d85 ^ d28 ^
d59 ^ d95 ^ c12 ^ d88 ^ d50 ^ c14 ^ c23 ^ d43 ^ d46 ^ d75 ^
d34 ^ d33 ^ c21 ^ d84 ^ d68 ^ d1 ^ d51 ^ d12 ^ c24 ^ d70 ^
d54 ^ d31 ^ d65 ^ c13 ^ c2 ^ d10 ^ d76 ^ d78 ^ d45 ^ d60 ^
c4 ^ c11 ^ c19 ^ d42 ^ d79 ^ d8 ^ d32 ^ d23 ^ c31 ^ c6 ^
d66 ^ d63 ^ c15; // 72 ins 1 outs level 3
assign x7 = d58 ^ d75 ^ c11 ^ d16 ^ d74 ^ d10 ^ c10 ^ d0 ^ d50 ^
d29 ^ d15 ^ c7 ^ c5 ^ d24 ^ d2 ^ d68 ^ d87 ^ d54 ^ c15 ^
d95 ^ d93 ^ d8 ^ c23 ^ d39 ^ d32 ^ d43 ^ d28 ^ d37 ^ d46 ^
d45 ^ d80 ^ d34 ^ d3 ^ d22 ^ d21 ^ d25 ^ c13 ^ d5 ^ d57 ^
d41 ^ d56 ^ d77 ^ d60 ^ d47 ^ c4 ^ c12 ^ d7 ^ c29 ^ d79 ^
c31 ^ d69 ^ d42 ^ d23 ^ d51 ^ d71 ^ d76 ^ c16 ^ d52; // 58 ins 1 outs level 3
assign x6 = d68 ^ c2 ^ d7 ^ d66 ^ c0 ^ d45 ^ d51 ^ d70 ^ d55 ^
d14 ^ c18 ^ d38 ^ d56 ^ d79 ^ d50 ^ d22 ^ c28 ^ d40 ^ c31 ^
d92 ^ d83 ^ d82 ^ d74 ^ c4 ^ c20 ^ c9 ^ d71 ^ d64 ^ d30 ^
c19 ^ d29 ^ d93 ^ d73 ^ d80 ^ d42 ^ d25 ^ d47 ^ c17 ^ d52 ^
c11 ^ d4 ^ d1 ^ d5 ^ d75 ^ d81 ^ c29 ^ d21 ^ d54 ^ c8 ^
d84 ^ d41 ^ c10 ^ d62 ^ d20 ^ d6 ^ c12 ^ d2 ^ c7 ^ d65 ^
d72 ^ c15 ^ c16 ^ d76 ^ c1 ^ d43 ^ d11 ^ d8 ^ c6 ^ d60 ^
d95; // 70 ins 1 outs level 3
assign x5 = d24 ^ d73 ^ d53 ^ d94 ^ d28 ^ c8 ^ c9 ^ d7 ^ c10 ^
c16 ^ c27 ^ d29 ^ d6 ^ c18 ^ d55 ^ d21 ^ d74 ^ d4 ^ d1 ^
d51 ^ d70 ^ d0 ^ c19 ^ c7 ^ c5 ^ d78 ^ d42 ^ d91 ^ d50 ^
d41 ^ c6 ^ d79 ^ c17 ^ d81 ^ d83 ^ d65 ^ d46 ^ d19 ^ d44 ^
d61 ^ d75 ^ d20 ^ c11 ^ d37 ^ d92 ^ d59 ^ d54 ^ d39 ^ c14 ^
d49 ^ d5 ^ d64 ^ c1 ^ c0 ^ d40 ^ d10 ^ d67 ^ c30 ^ c28 ^
d63 ^ d3 ^ d80 ^ d13 ^ c15 ^ d82 ^ d71 ^ d72 ^ c3 ^ d69; // 69 ins 1 outs level 3
assign x4 = d44 ^ c31 ^ d0 ^ d30 ^ d79 ^ c19 ^ d29 ^ d12 ^ c3 ^
d39 ^ d63 ^ c10 ^ d31 ^ d11 ^ d20 ^ d91 ^ c9 ^ d69 ^ c30 ^
d6 ^ d94 ^ d67 ^ d4 ^ d47 ^ d74 ^ d46 ^ d70 ^ d95 ^ d25 ^
d90 ^ d8 ^ d59 ^ d73 ^ d86 ^ d15 ^ d40 ^ c15 ^ d41 ^ d3 ^
d19 ^ d24 ^ d38 ^ d45 ^ d18 ^ d57 ^ c20 ^ c5 ^ c22 ^ d83 ^
d77 ^ c1 ^ c4 ^ c26 ^ d48 ^ c13 ^ d33 ^ d65 ^ d58 ^ d50 ^
d84 ^ c27 ^ d68 ^ d2 ^ c6; // 64 ins 1 outs level 3
assign x3 = d7 ^ d85 ^ d2 ^ d18 ^ d19 ^ c21 ^ d53 ^ d15 ^ d45 ^
d36 ^ d54 ^ c17 ^ d84 ^ d38 ^ c26 ^ d71 ^ c31 ^ d52 ^ d3 ^
d40 ^ d27 ^ d81 ^ d17 ^ c5 ^ d39 ^ c25 ^ d59 ^ d31 ^ d65 ^
d14 ^ d89 ^ c1 ^ c16 ^ d76 ^ d10 ^ d8 ^ d90 ^ d56 ^ d9 ^
d1 ^ c12 ^ d95 ^ d86 ^ c9 ^ d33 ^ c4 ^ d58 ^ d69 ^ d73 ^
c7 ^ c22 ^ d60 ^ d25 ^ d32 ^ d80 ^ c20 ^ d68 ^ d37; // 58 ins 1 outs level 3
assign x2 = d17 ^ c4 ^ c15 ^ d88 ^ d94 ^ c25 ^ d70 ^ d64 ^ d14 ^
d58 ^ d31 ^ c19 ^ d38 ^ d51 ^ d85 ^ d26 ^ d67 ^ d79 ^ d57 ^
d89 ^ d80 ^ d75 ^ c11 ^ d52 ^ c8 ^ d37 ^ c20 ^ d7 ^ d24 ^
d1 ^ d83 ^ d59 ^ d72 ^ d44 ^ d32 ^ d30 ^ d55 ^ d0 ^ c30 ^
d84 ^ d53 ^ c21 ^ c16 ^ d13 ^ d68 ^ d36 ^ c24 ^ c3 ^ d35 ^
d16 ^ d39 ^ c6 ^ d8 ^ c0 ^ d2 ^ d18 ^ d9 ^ d6; // 58 ins 1 outs level 3
assign x1 = d47 ^ d81 ^ d94 ^ d28 ^ c8 ^ c17 ^ d87 ^ d13 ^ c1 ^
d63 ^ d12 ^ c16 ^ d65 ^ c15 ^ c30 ^ d60 ^ d79 ^ d58 ^ c5 ^
d17 ^ d35 ^ d37 ^ d7 ^ c10 ^ d80 ^ d16 ^ c22 ^ d24 ^ d69 ^
d0 ^ d44 ^ d72 ^ c0 ^ c23 ^ d51 ^ d62 ^ c24 ^ d34 ^ d1 ^
d88 ^ d11 ^ d53 ^ d9 ^ d6 ^ d86 ^ d50 ^ d33 ^ d46 ^ d56 ^
d59 ^ d38 ^ d64 ^ d49 ^ d74 ^ d27; // 55 ins 1 outs level 3
assign x0 = d24 ^ d73 ^ d6 ^ d9 ^ d53 ^ d37 ^ c9 ^ c2 ^ d16 ^
c3 ^ d55 ^ d32 ^ d72 ^ d82 ^ c15 ^ d63 ^ d66 ^ d67 ^ d61 ^
c23 ^ d44 ^ c31 ^ d0 ^ d30 ^ d79 ^ c19 ^ c4 ^ d60 ^ d45 ^
d10 ^ d65 ^ d31 ^ d54 ^ c18 ^ d29 ^ d12 ^ d68 ^ d84 ^ d50 ^
d58 ^ d48 ^ c21 ^ c30 ^ d85 ^ c1 ^ d83 ^ c20 ^ d25 ^ d26 ^
d47 ^ d81 ^ d34 ^ d95 ^ d94 ^ d28 ^ c8 ^ c17 ^ d87; // 58 ins 1 outs level 3
endmodule
////////////////////////////////////////////////////////////////
// Depth optimal factored version
////////////////////////////////////////////////////////////////
module crc32_dat96_factor (crc_in,dat_in,crc_out);
input [31:0] crc_in;
input [95:0] dat_in;
output [31:0] crc_out;
wire [31:0] crc_out;
wire x271, x270, x269, x268, x267, x266, x265,
x264, x263, x262, x261, x260, x259, x258, x257,
x256, x255, x254, x253, x252, x251, x250, x249,
x248, x247, x246, x244, x243, x242, 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, x184,
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, x123, x122, x121, x120,
x119, x118, x117, x116, x115, x114, x113, x112,
x111, x110, x109, x108, x107, x106, x105, x104,
x103, x102, x101, x100, x99, x98, x97, x96,
x94, x93, x92, x91, x90, x89, x88, x87,
x86, x85, x84, x83, x82, x81, x80, x79,
x78, 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, 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;
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,d88,d89,d90,d91,d92,d93,d94,
d95;
assign { d95,d94,d93,d92,d91,d90,d89,d88,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 [95: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 x271i (.out(x271),.a(d9),.b(x266),.c(x41),.d(x63),.e(x36),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x270i (.out(x270),.a(x267),.b(x42),.c(x39),.d(x269),.e(x268),.f(1'b0)); // 5 ins 1 outs level 2
xor6 x269i (.out(x269),.a(d54),.b(c3),.c(c4),.d(d7),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x268i (.out(x268),.a(d67),.b(d47),.c(d10),.d(d72),.e(d53),.f(d87)); // 6 ins 1 outs level 1
xor6 x267i (.out(x267),.a(d37),.b(d68),.c(d30),.d(d63),.e(d83),.f(d29)); // 6 ins 1 outs level 1
xor6 x266i (.out(x266),.a(d27),.b(c23),.c(c31),.d(d61),.e(d50),.f(1'b0)); // 5 ins 1 outs level 1
xor6 x265i (.out(x265),.a(x261),.b(x264),.c(x33),.d(x36),.e(x262),.f(x263)); // 6 ins 1 outs level 2
xor6 x264i (.out(x264),.a(d65),.b(d53),.c(1'b0),.d(1'b0),.e(1'b0),.f(1'b0)); // 2 ins 1 outs level 1
xor6 x263i (.out(x263),.a(d63),.b(d16),.c(d49),.d(d46),.e(c8),.f(d17)); // 6 ins 1 outs level 1
xor6 x262i (.out(x262),.a(d61),.b(c23),.c(d47),.d(d87),.e(d19),.f(d27)); // 6 ins 1 outs level 1
xor6 x261i (.out(x261),.a(d64),.b(d13),.c(d37),.d(d79),.e(d60),.f(d9)); // 6 ins 1 outs level 1
xor6 x260i (.out(x260),.a(d0),.b(d35),.c(c24),.d(d88),.e(c15),.f(c1)); // 6 ins 1 outs level 1
xor6 x259i (.out(x259),.a(x37),.b(x254),.c(x44),.d(x65),.e(x35),.f(x52)); // 6 ins 1 outs level 2
xor6 x258i (.out(x258),.a(x255),.b(d16),.c(x46),.d(x36),.e(x256),.f(x257)); // 6 ins 1 outs level 2
xor6 x257i (.out(x257),.a(d30),.b(d44),.c(c21),.d(d17),.e(d85),.f(d84)); // 6 ins 1 outs level 1
xor6 x256i (.out(x256),.a(d2),.b(d10),.c(d78),.d(d50),.e(d14),.f(d51)); // 6 ins 1 outs level 1
xor6 x255i (.out(x255),.a(d8),.b(c20),.c(d53),.d(c8),.e(d87),.f(c4)); // 6 ins 1 outs level 1
xor6 x254i (.out(x254),.a(d1),.b(d64),.c(d15),.d(d62),.e(d68),.f(d36)); // 6 ins 1 outs level 1
xor6 x253i (.out(x253),.a(x249),.b(x43),.c(x35),.d(x252),.e(x250),.f(x251)); // 6 ins 1 outs level 2
xor6 x252i (.out(x252),.a(d68),.b(d43),.c(d32),.d(d9),.e(1'b0),.f(1'b0)); // 4 ins 1 outs level 1
xor6 x251i (.out(x251),.a(d18),.b(c9),.c(d8),.d(d37),.e(d39),.f(d36)); // 6 ins 1 outs level 1
xor6 x250i (.out(x250),.a(d56),.b(d19),.c(d50),.d(d53),.e(c26),.f(d51)); // 6 ins 1 outs level 1
xor6 x249i (.out(x249),.a(d25),.b(d38),.c(c7),.d(d17),.e(d15),.f(d89)); // 6 ins 1 outs level 1
xor6 x248i (.out(x248),.a(d81),.b(c17),.c(d90),.d(c31),.e(c25),.f(d58)); // 6 ins 1 outs level 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -